计算机网络 CDN技术介绍

前言

本文梳理CDN技术

CDN是什么

CDN(Content Delivery Network,内容分发网络)是构建在现有互联网基础之上的一层智能虚拟网络,通过在网络各处部署节点服务器,实现将源站内容分发至所有CDN节点,使用户可以就近获得所需的内容。

为什么需要CDN

CDN服务缩短了用户查看内容的访问延迟,提高了用户访问网站的响应速度与网站的可用性,解决了网络带宽小、用户访问量大、网点分布不均等问题。

CDN的优势:

  • 提高了用户访问网站的响应速度

  • 为了实现跨运营商、跨地域的全网覆盖
    互联不互通、区域ISP地域局限、出口带宽受限制等种种因素都造成了网站的区域性无法访问。CDN加速可以覆盖全球的线路,通过和运营商合作,部署IDC资源,在全国骨干节点商,合理部署CDN边缘分发存储节点,充分利用带宽资源,平衡源站流量。

  • 为了保障你的网站安全
    CDN的负载均衡和分布式存储技术,可以加强网站的可靠性,相当无无形中给你的网站添加了一把保护伞,应对绝大部分的互联网攻击事件。防攻击系统也能避免网站遭到恶意攻击。

  • 为了异地备援
    当某个服务器发生意外故障时,系统将会调用其他临近的健康服务器节点进行服务,进而提供接近100%的可靠性,这就让你的网站可以做到永不宕机。

  • 为了节约成本
    投入使用CDN加速可以实现网站的全国铺设,你根据不用考虑购买服务器与后续的托管运维,服务器之间镜像同步,也不用为了管理维护技术人员而烦恼,节省了人力、精力和财力。

  • 为了让你更专注业务本身
    CDN加速厂商一般都会提供一站式服务,业务不仅限于CDN,还有配套的云存储、大数据服务、视频云服务等,而且一般会提供7x24运维监控支持,保证网络随时畅通,你可以放心使用。并且将更多的精力投入到发展自身的核心业务之上。

CDN基本工作流程

image.png

  1. 当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS系统会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
  2. CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
  3. 用户向CDN的全局负载均衡设备发起内容URL访问请求。
  4. CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
  5. 区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务,选择的依据包括:根据用户IP地址,判断哪一台服务器距用户最近;根据用户所请求的URL中携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析之后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
  6. 全局负载均衡设备把服务器的IP地址返回给用户。
  7. 用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域均衡设备依然将它分配给了用户,那么这台服务器就要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
  • CNAME
    规范名称记录(Canonical Name),用于描述别名与域名的对应关系,这种记录允许您将多个名字映射到同一台计算机。
    当域名服务器查找一个域名时,找到一条CNAME记录,它会用记录中的规范名来替换这个域名别名,然后再查这个规范名的A记录,从而找到与规范名对应的IP地址,这样,就实现了对请求查找域名的IP地址响应。
    image.png

CDN系统架构

image.png

  • 分发服务系统
    该系统的主要作用是实现将内容从内容源中心向边缘的推送和存储,承担实际的内容数据流的全网分发工作和面向最终用户的数据请求服务。

  • 负载均衡系统
    它是一个CDN系统的神经中枢,主要功能是负责对所有发起服务请求的用户进行访问调度,确定提供给用户的最终实际访问地址。

  • CDN的运营管理系统
    它与一般的电信运营管理系统类似,分为运营管理和网络管理两个子系统。

    • 运营管理子系统是CDN系统的业务管理功能实体,负责处理业务层面的与外界系统交互所必需的一些收集、整理、交付工作,包含客户管理、产品管理、计费管理、统计分析等功能。
    • 网络管理子系统实现对CDN系统的网络设备管理、拓扑管理、链路监控和故障管理,为管理员提供对全网资源进行集中化管理操作的界面,通常是基于Web方式实现的。

CDN系统分类

从CDN承载的内容类型来看,主要有静态网页内容、动态网页内容、流媒体、下载型文件和应用协议,因而我们将CDN服务分为:

  • 网页加速
  • 流媒体加速
  • 文件传输加速
  • 应用协议加速

image.png

CDN系统模型

其中水平 X 轴方向按照不同类型业务能力进行划分,
垂直Y轴方向按照中心、区域和边缘三级网络结构进行划分(根据网络规模情况,区域一级可选);
Z 轴方向按照数据平面、管理平面和控制平面进行划分。
image.png

  • X 轴方向
    它是贯穿系统头端到终端的垂直系统,每一种业务能力都可以有自己的中心、区域、边缘层设备,有自己独立的管理系统、负载均衡系统、分发服务系统。因此,在 X 轴方向上,每一个CDN服务能力都可以是一套相对独立的子系统。
  • Y轴方向
    它的分级划分是依据CDN逐级缓存、分级调度、分级服务的要求。CDN的管理功能、调度功能、缓存功能、服务功能都是分级部署的,不同层级的相同功能实体之间相互配合。从控制功能上看,往往下一级控制实体是上一级控制实体的执行者;从缓存功能上看,上一级缓存是下一级缓存实体的内容提供者;从服务功能上看,上一级服务实体是下一级服务实体的能力补充和备份。
  • Z轴方向
    管理层主要完成CDN网络管理和业务逻辑处理。网络管理提供IP网络层面的配置管理、故障管理、网络性能管理以及网络安全管理等,负责对整个CDN系统的网络和设备资源进行抽象,提取其业务能力,提供给上层业务平台。业务逻辑处理指CDN系统辅助其服务的业务平台完成部分应用层功能的实现,完成和其他系统之间的接口适配,负责系统的认证、计费、统计分析、系统管理、用户管理、SP管理等功能。控制平面负责对整个CDN网络的内容分布情况进行管理,对内容分发和访问路由策略进行控制,它是整个内容分发系统内容数据流向的控制点。数据平面承担实际的内容分发工作,根据Z轴方向与X轴、Y轴相交点的具体要求,数据平面设备具备不同的应用服务提供能力。

全局负载均衡GSLB

  • 负载均衡
    就是将大量的请求通过一定的策略分摊到不同的服务节点。他可以提高服务器的影响速度及利用效率,避免软件或者硬件模块出现单点失效,解决网络拥塞问题,实现地理位置无关性,为用户提供较一致的访问质量。

  • 全局负载均衡GSLB
    由于现实中存在各种不稳定因素,比如某个服务器集群所在的数据中心断电,洪水或者地震造成数据中心瘫痪等等。在一个数据中心内,无论采用怎样的技术,总可能存在一些不可抗因素,导致其瘫痪。所以通常会把服务器分散部署到多个数据中心,以最大程度减小灾害对服务质量产生影响的概率和程度。
    另外,CDN系统总是希望用距离用户最近的设备为其提供服务,这也需要在不同地域部署多个节点。
    GSLB系统就是针对这个问题的。它负责多个CDN节点之间相互协作,将各节点和设备的负载保持在一个有利于提供优质服务的水平。GSLB的负载均衡结果可能直接将用户分配到RS,也可能将用户交付到下一层次的负载均衡系统。

  • GSLB实现方式比较
    目前常用的是基于DNS的解析方式
    image.png

结语

本文梳理CDN相关知识,以对网络有更整体的了解。

参考:
CDN概念基本介绍
CDN原理简单介绍

猜你喜欢

转载自blog.csdn.net/u014099894/article/details/112511982