CDN网络概念
CDN:Content Delivery Network,即内容分发网络。
- 其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”。
- 使用户可以就近取得所需的内容,解决Internet网络拥挤的状况,提供用户访问网站的响应速度。
- 从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,解决用户访问网站的响应速度慢的根本原因。
CDN工作原理
- 当用户访问某域名上的内容信息时,首先需用通过域名解析系统将该域名转换为存储该内容信息的内容服务器的IP地址,再根据IP地址访问内容服务器以获取内容。
- 如果该域名使用了CND技术,该域名上的内容信息将会被复制并发布到广泛分布的、位于不同地理位置的CDN网络的边缘节点服务器。
- 用户访问使用CND技术的域名时,其地理位置附近的CDN网络的边缘节点服务器将向其提供内容。
传统的未加缓存服务的访问过程
使用CDN缓存后的网络访问过程
传统访问模式 vs CND访问模式
- 传统的DNS解析过程在将网站主机域名转换为IP地址时,不预判该服务器是否正常工作。即使该服务器已经死机不能提供服务了,用户的请求仍被发往这台服务器,造成服务的中断。
- 不同网络间的兼容以及不同网络运营商ISP之间的传输瓶颈等问题使得数据的流通受到限制。
- 互联网以数据包传输为基础,任何一个数据包的丢失或出错都必须重新发送,而平均一个重传过程需要3秒钟,从而导致延迟。
- 现有的HTTP协议也有诱发延迟的因素,据调查,完整下载一个网页,需要在用户和服务器之间往返20~100次。
- 现有的路由技术以路由器工作状态的历史数据为依据来确定当前数据包的传输路径,无法真实反应当前的路由和网络连接状况,这将导致数据传输所经过的路径并不是当前的最佳路径。
- 众多的路由器和交换机不但使数据传输的时间延迟增大,还会增加出错的几率,因为任何一个路由器出现问题都会影响到整个传输过程。
CDN系统的两大技术派系
综合当今众多CDN服务商的技术体系,无不受到当今世界两大CDN服务商,即 Akamai和LimeLight(以下简称LL)的技术架构影响。
Akamai CND技术架构
- Akamai CND在全球建立部署了几千个字节,以物理节点距离用户最近而著称。
- 通过对各个节点的路由优化来实现信息分发。
- 主要提供WEB、下载、流媒体等加速服务。
LL CDN技术架构
- LimeLight通过在全球最重要的城市建立“超级节点”,且所有“超级节点”间采用自有光纤直连,实现全球多运营网络的互联互通。
- 如同在全世界建立了一个自有的、具有互联互通的“BGP”网络( BGP,边界网关协议,用于实现互联网自治系统之间的互联,BGP的最主要功能在于控制路由的传播和选择最好的路由)
CND关键技术
- 内容管理(内容、索引、访问状态信息收集)
- 内容存储(基于缓存技术)
- 内容分发(主动push:服务器主动向客户机发送信息)
- 内容路由(负载均衡)
- 通过用户就近性和服务器负载的判断,CDN确保内容极为
高效的为用户服务。
内容路由技术
- 内容路由技术:CDN实现负载均衡的技术。
- 负载均衡技术将网络的流量尽可能均匀地分配到几个能完成相同任务的服务器或网络节点上进行处理,避免部分网络节点过载而一部分节点空闲的不利状况。
- 负载均衡是整个CND的核心,负载均衡的准确性和效率直接决定了整个CDN的效率和性能,既可以提高网络流量,又可以提高网络的整体性能。
- CND负载均衡系统实现CND的内容路由功能,将用户导向CDN网络中最佳的节点。
- Akamai CDN的主要实现方法为DNS重定向。
- LimeLight CDN的主要实现方法为IP Anycast。
Akamai CDN内容路由的主要实现方法为DNS重定向
- 用户向域名解析器发送域名解析请求,以获取内容服务器的IP地址;域名解析请求(包含了域名解析器的IP地址)被发送到该域名的域名服务器。
- 该域名的域名服务器通过返回一个CNAME类的DNS记录,将此域名解析请求重定向到CDN网络的域名服务器。
- CDN网络的域名服务器对该域名解析请求进行智能解析,根据域名解析器的IP地址、网络的拥塞状况、各CDN网络边缘节点服务器的负载情况等,将最合适的CDN网络边缘节点服务器的IP地址返回给域名解析器(域名解析器再转发给用户)