1.影响网络传输的四个因素
(1)“第一公里”:网站服务器接入互联网的链路所能提供的带宽。
(2)“最后一公里”:用户接入带宽。
(3)对等互联关口:不同网络之间的互联互通带宽。
(4)长途骨干传输:首先是长距离传输时延问题,其次是骨干网拥塞问题
2.用户通过浏览器访问网站的过程如下图所示:
①用户在自己的浏览器中输入要访问的网站域名。
②浏览器向本地DNS服务器请求对该域名的解析。
③本地DNS服务器中如果缓存有这个域名的解析结果,则直接用户的解析请求。
④本地DNS服务器中如果没有关于这个域名的解析结果的缓存,则以递归方式向整个DNS系统请求解析,获得应答后将结果反馈给浏览器。
⑤浏览器得到域名解析结果,就是该域名相应的服务设备的IP地址。
⑥浏览器向服务器请求内容。
⑦服务器将用户请求内容传送给浏览器。
3.引入CDN后的访问流程
①当用户点击网站页面上的内容URL,经过本地DNS系统解析,DNS会最终将域名的解析权交给CNAME指向的CDN专用DNS服务器。
②CDN的DNS服务器将CDN的全局负载均衡设备IP地址返回用户。
③用户向CDN的全局负载均衡设备发起内容URL访问请求。
④CDN全局负载均衡设备根据用户IP地址,以及用户请求的内容URL,选择一台用户所属区域的区域负载均衡设备,告诉用户向这台设备发起请求。
⑤区域负载均衡设备会为用户选择一台合适的缓存服务器提供服务。选择的依据包括:根据用户IP地址,判断哪一台服务器距离用户最近;根据用户请求的URL携带的内容名称,判断哪一台服务器上有用户所需内容;查询各个服务器当前的负载情况,判断哪一台服务器尚有服务能力。基于以上这些条件的综合分析后,区域负载均衡设备会向全局负载均衡设备返回一台缓存服务器的IP地址。
⑥全局负载均衡设备把IP地址返回用户。
⑦用户向缓存服务器发起请求,缓存服务器响应用户请求,将用户所需内容传送到用户终端。如果这台缓存服务器上并没有用户想要的内容,而区域负载均衡设备依然将它分配给了用户,那么这一台服务器要向它的上一级缓存服务器请求内容,直至追溯到网站的源服务器将内容拉到本地。
4.CDN的系统架构
5.CDN部署架构
在一个节点中,Cache设备和本地负载均衡设备的连接方式有两种:一种是旁路方式,一种是穿越方式。
6.CDN系统分类
(1)基于不同内容承载类型的分类
- 网页加速
- 流媒体加速
- 文件传输加速
- 应用协议加速:针对TCP/IP等传输协议的优化。
(2)基于内容生成机制的分类
主流的Web网站系统都能够在逻辑上分为三个层次,表现层、业务逻辑层、数据访问层。
根据CDN完成的不同层面的Web转移功能,将CDN分为表示层复制(静态网站)和全站复制(动态网站)两类。
7.CDN系统三维模型图
X轴方向是贯穿系统头端到终端的垂直系统,每一种业务能力都可以有自己的中心、区域、边缘层设备,有自己独立的管理系统、负载均衡系统、分发服务系统。
因此,在X轴方向上,每一个CDN服务能力都可以是一套相对独立的子系统。
Y轴方向的分级划分是依据CDN逐级缓存、分级调度、分级服务的要求。
CDN的管理功能、调度功能、缓存功能、服务功能都是分级部署的,不同层级的相同功能实体之间相互配合。
从控制功能上看,往往下一级控制实体是上一级控制实体的执行者;
从缓存功能上看,上一级缓存是下一级缓存实体的内容提供者;
从 服务功能上看,上一级服务实体是下一级服务实体的能力补充和备份。
Z轴方向上,管理层主要完成CDN网络管理和业务逻辑处理。
网络管理提供IP网络层面的配置管理、故障管理、网络性能管理以及网络安全管理等,负责对整个CDN系统的网络和设备资源进行抽象,提取其业务能力,提供给上层业务平台。
业务逻辑处理指CDN系统辅助其服务的业务平台完成部分应用层功能的实现,完成和其他系统之间的接口适配,负责系统的认证、计费、统计分析、系统管理、用户管理、SP管理等功能。
控制平面负责对整个CDN网络的内容分布情况进行管理,对内容分发和访问路由策略进行控制,它是整个内容分发系统内容数据流向的控制点。
数据平面承担实际的内容分发工作,根据Z轴方向与X轴、Y轴相交点的具体要求,数据平面设备具备不同的应用服务提供能力。
参考资料:《CDN技术详解》 pp.1-29