
内容配送网
内容配送网路(Content Delivery Network,CDN)是建立并覆盖在网际网路之上的一层特殊网路,专门用于通过网际网路高效传递丰富的多媒体内容,对网际网路中的信息流进行最佳化,从而提高网路的使用效率。
中文名称 | 内容配送网 |
英文名称 | content distribution network;CDN |
定 义 | 建立并覆盖在网际网路之上的一层特殊网路,专门用于通过网际网路高效传递丰富的多媒体内容。 |
套用学科 | 通信科技(一级学科),服务与套用(二级学科) |
基本介绍
- 中文名:内容配送网
- 外文名:Content Delivery Network,CDN
简介
网际网路作为传递所有媒体类型的聚合途径,频宽要求高的内容如流媒体等对其网路容量提出了很高的要求。而且除频宽问题外,通过网际网路连续、大量的内容传递尚有许多问题需要解决。内容配送网路(CDN)这一新的网路形式就是专门为解决这类需求而产生的。CDN的解决方案是在现有的网路基础设施之上新建立一层重叠网,实现对网际网路中信息流的最佳化,从而提高用户访问的回响速度,实现多媒体在网路上的实时传输,解决网路拥塞问题,保障服务质量,提高网站的安全性、可用性。CDN是一种可以传递任何类型媒体的业务,如音频或视频的流媒体、Web页面、文献、软体或任何其它的数字内容。
CDN在传递媒体时有两种方式:·
- 实况:内容编码后“立即”传递给媒体伺服器,然后“立即”传递给媒体的客户端,如音乐会或广播电视等要求这种传输方式。
- 点播:内容编码后作为流媒体档案存储在媒体伺服器上。然后根据客户端的请求来获取内容。这种方式主要用于后来播放的视频或音频片段的内容,如视频点播、音乐片段等。
CDN的基本思想是在距离用户较近的位置分散地放置多个边缘伺服器,内容提供商将所发布的内容複製到这些边缘伺服器中,并由它们代表源伺服器向用户提供内容服务。研究表明,CDN的套用能够有效地降低伺服器端的负载,缓解网路拥塞,降低业务在网路中传输的延迟。根据IETF定义,一个完整的CDN架构应包括如下四个组件:路由请求系统、分发系统、计费系统和边缘伺服器。路由请求系统将用户的请求重定向到一个“最佳”的边缘伺服器上(最佳的含义可以是地理位置最近或者伺服器负载最轻);分发系统将源伺服器的内容发布到边缘伺服器上,使得内容更加靠近用户;计费系统负责跟蹤、记录数据在CDN各组件问的流动信息,并以此为依据实施计费;边缘伺服器则是内容分发的目的地,也是向用户直接提供服务的实体。
CDN网路结构
对一个CDN网路进行剖析,可以看到在网路基础设施之上有三个独立的组成部分:
- 内容路由———为终端用户提供来自正确地点的正确内容,组成技术有:域名伺服器(DNS)重定向、第4~7层交换和Web快取通信协定(WCCP);
- 内容传递———涉及整个内容的工作流,从编码和索引到边缘传递,以及如何保证内容安全和管理内容;
- 性能度量———客户使用CDN业务时需要整个CDN网路性能的反馈,这就涉及使用内部测量技术以及外部业务。
图从网路技术的角度描述了各部分的关係。

内容传递
内容传递是指内容从编码到传递给终端用户的整个工作流。内容传递最特殊的模式是实况内容的传递,通常为音频和视频内容,也可以用于传递其他类型的内容如金融市场的数据。
内容传递大致有以下几个组成部分:
- 编码:数字媒体需要编码以作为流媒体来传递。编码过程有两个步骤:压缩和打包。音频和视频编码可以使用各种各样的编解码器。
- 安全/加密:为了防止对媒体资源的未授权使用,媒体需要进行加密。媒体保护模式被称为数字着作权管理(DRM)系统。
- 索引:与Web通常由文本内容组成不同,音频或视频内容不能直接做索引,因此音频和视频内容需要专门的索引软体包来处理,这类软体包通常在索引内容的时候同时进行编码,这样在产生元数据(metadata)的同时也生成了流媒体。
- 媒体伺服器:媒体伺服器是一种特殊的伺服器,常常服务于内容的数位化和编码。媒体伺服器通常由运行在普通伺服器之上的媒体伺服器软体组成。
- Web伺服器:Web伺服器的基础设施包括元数据和指向流媒体的连结,以及其它所有CDN需要处理的基于Web的内容。
- 快取:如果所有的内容服务都从相同的点提供,即伺服器在某个点上,所有的媒体客户端内容(无论是实况内容还是点播内容)的获取都是从那一点上传递,这将对网路和伺服器都造成巨大的冲击。为了避免这种情况的发生,在每一个战略POP点等直接提供内容服务的地点上都需要建立快取结构。这种结构对终端用户来说是透明的,好象他们仍然是从中央伺服器上获得服务。快取基础设施为客户端提供了更好的传递方式,因为这种情况下内容的“驻地”离用户更近,网路连结的等待时间缩短、可获得性提高、负载降低。另外还获得了对“爆发”访问的保护,由于有了分散式的基础设施,没有一台设备需要承担大量的负载,而且在需要时可以很容易地扩充这一基础设施。
- 媒体客户端:CDN传递链上的最终设备是媒体终端,它运行在终端用户的工作站上。媒体客户端的功能相当于是从一台Web伺服器上获得服务的Web客户端。
- 内容流:由于内容产生自CDN客户的站点,所以它需要传递到CDN上。对于点播或常规的Web内容,这些内容可以按档案方式传递到CDN。对于实况内容就需要有另一种传递的方式。如果内容始终来自同一个地点,可以使用一种固定的连结,如果内容源是一个临时的地点,通常可以使用卫星的传递方式。
内容路由
内容路由解决的问题是从最合适的位置给发出请求的客户端传递内容。内容路由有两个方面,一个是全球路由运算法则,关注的是如何从客户端路由到最合适的POP点;另一个问题是内部路由,关注的是在一个POP点中的多个伺服器之间如何传播请求。
- 全球重定向———DNS:这是最简单的一种重定向形式,当一个域名如www.cdn.com有多个IP记录与之关联时,一个客户端向该域名的IP位址发出请求,IP记录池中的任何一个IP位址都可以为之服务。这种情况下只需要採用简单的直接循环算法,只需要一个普通的DNS伺服器就可以完成。由于循环算法对请求的重定向是盲目的,不考虑伺服器的好坏,所以实际使用的是一种更複杂的决策过程,包括在重定向之前检查系统状态和远程系统的负载。
- 本地重定向———第4~7层交换:也被称为智慧型交换,是根据有关信息如请求的URL、内容类型、用户名等进行交换,由分组中OSI栈的4~7层完成。这一技术用于有相同内容的伺服器或快取簇之间的负载均衡,从CDN的角度看,一个POP点可以由一个以上的快取或伺服器组成,这一技术用于为每个POP点生成本地簇。
- 本地重定向———WCCP:这一重定向技术是Cisco的专利技术,用于Cisco路由器与各种快取产品Cisco和非Cisco的产品)之间,允许一台路由器截获从某个客户端向某个伺服器发出的对各种业务(如流媒体和Web通信)的请求,并将客户端的请求重定向到快取。
CDN网路的性能度量
通常对某个网路元素的管理、性能的度量结果可以提供监测、了解、规划CDN的端到端性能的能力。通过分布在CDN网路中的硬体和软体相结合的探针来获取有关信息,并结合使用各种伺服器上的日誌信息就可以实现CDN网路的度量。性能的度量将是针对所有内容形式传递的完成来进行,包括流媒体(实况和点播)和基于Web的内容。
- 内部度量通过从快取和流媒体伺服器中收集日誌,可以很好地了解整个网路内容配送业务的性能。流媒体伺服器有能力从观看实际内容的媒体播放器收集数据,这样一来就可以获得媒体服务性能的端到端的度量。
- 外部度量在度量网路性能时,客户通常希望看到独立的度量结果,如通过某个第三方不间断地对CDN的性能进行监测。有几个公司就是通过在不同地理位置上分布探针来度量性能,探针模拟常规的客户端行为,这样就可以精确地反映出与终端用户相同的观看效果。
CDN工作原理
CDN以定製服务为基础,即网站事先向CDN服务提供商要求使用其CDN服务。当用户访问使用了CDN服务的网站时,其解析过程不再是以传统的轮询方式来回响本地DNS的解析请求,而是充分考虑用户发起请求的位置和当时的网路情况,利用CDN系统的智慧型动态负载均衡技术,来决定把用户的请求定向到离用户最近并且负载相对较轻的节点伺服器上,使得用户的访问能得到更及时更可靠的回响。同时,各个节点伺服器利用软体刷新确保与ICP网站的源伺服器的数据同步,使得用户能够随时访问CDN的节点伺服器并得到与源伺服器完全相同的内容。
图说明了用户访问使用了CDN服务的网站的完整过程。

- 用户向浏览器提供要访问的网站域名;
- 浏览器向本地DNS(LDNS)请求对该域名进行解析;
- 本地DNS将解析请求传送到ICP的授权域名伺服器(Authofitmive DNS),授权域名伺服器通知本地DNS相应请求的CDN授权域名伺服器为访问控制系统ACS(AccessControlSystem);
- 本地DNS向ACS发出域名解析请求;
- ACS根据预设策略(通常考虑的是就近性和伺服器负载),选择最佳CDN服务节点(CDNN),并将结果(IP位址)返回本地DNS;
- 本地DNS将该CDDN的IP位址发给用户;
- 用户根据得到的IP位址向该节点发出请求;
- CDN节点伺服器回响用户的请求提供相关内容。如果该节点已经有用户请求的内容,则直接回响;如果没有,则该节点会回到用户请求的源站点取得结果并将结果返回给该用户,同时将结果保存在代理伺服器中,以回响随后的用户请求。
CDN特点
- 本地Cache加速。提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性;
- 镜像服务。消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网路加速,保证不同网路中的用户都能得到良好的访问质量;
- 远程加速。远程访问用户根据DNS负载均衡技术智慧型自动选择Cache伺服器,选择最快的Cache伺服器,加快远程访问的速度;
- 频宽最佳化。自动生成伺服器的远程Mirror(镜像)cache伺服器,远程用户访问时从cache伺服器上读取数据,减少远程访问的频宽、分担网路流量、减轻原站点WEB伺服器负载等功能;
- 集群抗攻击。广泛分布的CDN节点加上节点之间的智慧型冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量。
CDN优点
CDN能几乎涵盖国内所有线路。而在可靠性上,CDN在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行回响。CDN能轻鬆实现网站的全国铺设,不必考虑伺服器的投入与託管、不必考虑新增频宽的成本、不必考虑多台伺服器的镜像同步、不必考虑更多的管理维护技术人员。
CDN缺点
- 实时性不太好是CDN的不足。不过,随着对CDN需求的逐渐升温,这一不足得到了改进,使来自于远程伺服器的网路内容网页与複本伺服器或快取器中的网页保持同步。解决方法是在网路内容发生变化时将新的网路内容从伺服器端直接传送到快取器,或者当对网路内容的访问增加时将数据源伺服器的网路内容儘可能实时地複製到快取伺服器。
- CDN的安全性也存在一定的隐患,因为CDN加还的原理是把数据分布到各地的加速伺服器。用户的关键数据在分发到伺服器节点之前进行加密再保存在加速伺服器节点上,如果加密算法不够严密用户的数据就有在远端伺服器被破解的可能。
CDN发展
CDN的诞生和发展与网际网路和新技术的发展、套用有着密切的关係,其目的就在于满足套用需求。早期的CDN主要以实现静态文本和图片等静态内容的加速为主,CDN作为IDC的一个增值服务出现;以后随着流媒体服务的发展和Web2.0套用的出现,传统HTTP和下载、网路游戏产业以及网路视频等对伺服器和网路频宽的需求压力加大,流媒体、Flash、视频和下载等网站内容及业务成了新的主要套用对象。为了给软体下载、视频流媒体、企业Web套用、B2B交易和Web2.0互动等各种服务加速,传统的CDN技术又增加了压缩、流量整形、智慧型路由和网路最佳化等技术。
在运营商方面,2000年年初,中国电信建设了自己的CDN网路,2004年,中国电信组建了自己的CDN流媒体分发网路。随后在中国电信推广IPTV业务时,为了使得用户获得良好的视频业务体验,又建设了部分CDN节点。
早在2005年,亚马逊推出的“CloudFront”的CDN服务为中小型客户带来了前所未有的便捷和实用。此项服务将IDC、CDN和云计算相融合,为全球的网际网路企业起到了示範作用。而我国在2011年已有网际网路企业成功建设了一种基于云计算的CDN网路CloudCDN,採用分散式处理、并行化协同处理技术,实现了网路资源的共享和高效利用,它透过全球各地不同的CDN云(CDNCloud)产生的一种新型CDN服务。它是CDN在云计算上的延伸和发展,是云计算在CDN上的创新套用成果。
由于中国的网际网路起步较晚,国内的网际网路厂商的服务模式还很单一,从原来的简讯到现在的网路游戏;由于频宽租用成本在运营成本中占据较高比例,造成价格偏高,而若网际网路厂商选择自己建设CDN,虽然节约了成本,但因缺乏专业的经验与规模效益,CDN建设后发挥的效果并不好;由于P2P的建设很便宜,因而很多企业选择採用P2P实现加速作用。这些都在很大程度上阻碍了国内CDN市场的发展。
未来,无论是在产业链联合与重构方面,还是从最基本的网际网路接入到各种丰富多彩的业务套用,都将给众多的CDN服务提供商、云服务提供商、运营商、SP、CP带来丰厚的利益。