内容传送网络技术

发布时间:2004-04-06 作者:张云飞 陈常嘉

 内容传送网络(CDN)提供了一种传送内容的新型体系结构,将在Web体系结构中起到越来越重要的作用。CDN最早于1998年推出,在Web体系结构中缓存技术的基础上发展起来,因此是缓存技术的延续与发展。
  随着多媒体技术的不断发展,图像、音频、视频服务所占的比重越来越大。传统的缓存技术只能存储静态超文本链接标识语言(HTML)文件和图片等比较小的文件,而对交互性强和比较大的文件并不支持,因此迫切需要一种新的传输结构解决这一问题。和缓存技术类似,CDN也设立若干分支节点,尽量将用户请求的内容存储到距离用户只有“最后一公里”的边缘节点上,使得用户请求可以在本地进行,改善用户的访问效果。
  CDN能够取得成功的关键在于CDN本质上是一个重叠网络(ON)。作为ON,CDN可以充分利用CDN端节点的合作实现文件传输:首先,CDN端节点可以和路由器一样转发包。也就是说,两个CDN节点间的通信可以使用第3个节点充当中间节点进行转发,因此两个CDN节点间可形成多个底层(IP层)连接,提高了数据传输的可靠性和效率。其次,由于CDN节点间形成了多个底层连接,端节点之间的带宽可以超过底层网络的限制。这两个特点使得CDN非常适合大文件的传输。
  目前,进入商用阶段的CDN越来越多,每个CDN由少至数十、多至上万个节点组成。如Akamai使用遍布于全球的超过800个网络的1万多个节点实现内容传送。

1 CDN与缓存技术机制上的区别
  由于CDN技术是缓存技术的发展,在讨论CDN技术之前,有必要总结一下CDN和缓存技术的主要区别。CDN和缓存技术的区别主要体现在以下几个方面:
  (1)节点之间关系不同
  缓存节点之间既可以是合作的,也可以是不合作的。如果需要构造合作关系,由于缓存节点分属不同的因特网业务提供商(ISP),各缓存节点之间需要专门的合作式缓存协议来支持。CDN的各个节点则属于同一个机构,它们之间天然地形成合作关系,不需要额外的协议支持。
  (2)服务对象不同
  CDN主要存储图像、视频、音频等较大文件,而缓存技术主要存放静态的小文件。
  (3)存储机制不同
  CDN和缓存技术采用不同的文件获取方式。CDN使用预存储来减少大文件时传输的延迟,而缓存采用被动的根据用户请求的on-demand机制。CDN的存储代价较高。
  (4)更新方式不同
  CDN与内容提供者之间的更新既可根据预定的内容更新策略向内容提供者主动要求(执行pull),又可由内容提供者主动向CDN的存储节点发布更新内容(执行push),而缓存技术只能被动地从内容提供者那里获得内容。因此对于某个首次请求的对象,使用CDN技术用户可以直接从CDN节点获得该对象,而使用缓存技术的用户必须从源站点获得。同时缓存技术的被动更新机制使得缓存内容与原内容不一致的可能性增大,从而可能造成用户请求错误。
  (5)同内容提供者的关系不同
  CDN和内容提供者之间存在某种契约关系,因此CDN代表内容提供者提供服务(从用户的角度来看,CDN和内容提供者是一致的);采用缓存技术的运营商与内容提供者之间不存在契约关系,会发生采用缓存技术的运营商和内容提供者抢用户的情况,造成内容提供者潜在损失。
  (6)功能不同
  CDN包括内容复制、转向、缓存、服务质量提供/流量整形、加密套接字协议层加速、分布式代理/服务验证等功能,功能远多于缓存技术。

2 CDN的分类
  根据使用范围的不同,现有的CDN模型可分为3类。

2.1 公共CDN
  公共CDN就是平常所指的CDN,下一节将介绍其结构和功能。值得注意的是,由于用途不同,公共CDN分化出多种不同的结构,如适合无线传输的CDN结构、适合流媒体传输的CDN结构等。

2.2 企业CDN
  企业CDN(ECDN)与公共CDN不同,这种私有的CDN网络节点位于企业内部网的防火墙内,可以在企业的广域网(WAN)内分发企业数据,其规模比公共CDN小。ECDN中内容放置点应尽量距离终端近(在一个网段内),对于高度交互性的应用如网络化学习、会议电视等很有效。与公共CDN最大的不同在于ECDN对用户的控制程度强得多。在公共CDN中,系统不对哪个用户可以访问内容进行接入控制,而在ECDN中,系统对用户的了解和控制要严格得多[1]。

2.3  临时CDN
  由于使用CDN来发布内容需要支付的维护成本比较高,对中小内容提供者尤其是大多数时间使用自己的服务器能够处理用户请求,仅在发布软件、公布重要消息等用户请求突然增大的时候需要使用CDN来提供服务的用户需求,没有必要使用一般意义上的CDN。文献[2]提出了临时性CDN的概念。临时性CDN使用基于因特网底板协议(IBP)的物流网络进行临时性内容传送,而不与内容提供者签署长期协议。IBP提供了一个管理和使用远端存储空间的中间件。与传统网络模型不同,IBP将网络的底层物理资源如存储、计算等功能集成到网络中,用户使用Internet就如同使用一个处理器平台,这也是其称为物流网络的原因。IBP提供了对网络存储资源的时间受限访问,因此可以构造自组织(Ad hoc)内容分布网络。目前这种网络系统还处于试验阶段。

3 CDN的商业模型
  CDN网络商务[3]的转变如图1所示。

  从图1可以看出,CDN的兴起是随着宽带接入的发展和用户对内容需求越来越高而发展起来的。在CDN中,通过内容提供者/生产者—业务提供者/传输者—终端用户这条价值链实现盈利。采取宽带价值链运营模式,可以逐步形成资金流和业务流的良性循环,达到用户、CDN经营者(或ISP)和内容提供者三方共赢的局面。作为内容提供者和终端用户之间的桥梁,CDN为了获得更好的收益,一方面需要对源站点的数据进行迅速、准确的传递;另一方面需要在与用户端相连的CDN节点上实现增值服务,通过检查病毒、插入广告、插入本地数据和过滤内容等手段实现商机。

4 CDN的基本结构
  一个CDN通常包括边缘节点传输、内容路由、集中式内容分布和管理(负责内容在不同节点的同步和复制)、集中式内容发布等功能[4]。具体功能模块如下:
  (1)存储和传输节点
  存储和传输节点存储内容,并向终端用户提供内容。
  (2)中心控制器
  中心控制器主动预定内容,管理交易报告和计费。
  (3)中心管理器
  中心管理器监视CDN中节点的性能以及网络流量。
  (4)转向请求管理器
  转向请求管理器重定向用户请求到最近的可用存储节点。
  (5)中心数据存储
  中心数据存储对原始内容服务者的内容进行存储。


  图2是CDN的基本结构图,图2中各个功能模块之间的交互过程如下:

 

  (1)中心存储器接收源站点(内容提供者)的数据,并在中心控制器的指令下向其他CDN节点发送数据。
  (2)中心控制器预测用户可能需要的内容,通知中心存储器向源站点发送更新请求。
  (3)中心管理器监测各节点存储的内容,并通知中心控制器。中心控制器控制中心存储器向各CDN节点的发送节奏来平衡网络流量。
(4)用户向请求转向管理器发送请求,并由请求转向管理器转向到一个合适的CDN节点。

5 CDN中的核心技术
  CDN中的核心技术主要包括两个方面:一是基于内容的请求路由(即重定向)和内容搜索,二是内容的分发与管理。其他技术如负载均衡等可以通过这两个技术实现。

5.1 基于内容的请求路由和内容搜索
  
基于内容的请求路由和内容搜索[5]技术相对比较成熟,2001年标准已经推出,目前学术界讨论的文章不多。基于内容的请求路由主要包括动态域名服务器(DNS)重定向、传输层重定向和应用层重定向。
  DNS重定向是应用最为广泛的,几乎为所有商用的CDN,如Akamai和Digital Island所使用。在这种情况下,请求转向管理器就是一个DNS服务器,用户请求先到达DNS服务器,DNS服务器根据网络测量得到的距离指标和各个CDN节点的反馈(包括CPU占用、接口占用、接口丢包、连接数目等)返回一个(或多个)对于提出请求的用户来说最好的节点。与其他DNS请求一样,该请求也可以多层解析。这种方式简单容易,但解析的颗粒度太大,只能基于一个域的范围。
  传输层重定向可以在更细的颗粒度获得。它的第一步也是DNS重定向,获得一个初始CDN节点;接着检查用户请求中的第一个包中的用户IP(不是用户的DNS)、4层协议和端口信息,从而使该用户后续的请求转向在初始CDN节点的基础上寻找到的更合适的CDN节点。它一般用在文件传输协议(FTP)和实时流式媒体协议(RTSP)中。
  应用层重定向在对象一级以最细的颗粒度进行重定向,能在一个用户请求一个对象时实时进行。它包括检查头和内容更新两种重定向方式。前者,如HTTP重定向或RTSP重定向,是根据统一资源定位符(URL)中的子串、前缀、后缀、多用途因特网邮件扩充协议(MIME)信息以及站点专用标志符等标识会话部分进行CDN节点的选择;后者则完全由内容提供者进行重定向,这种内容包括超文本链接标示语言(HTML)页面的内嵌式GIF或JPEG图像、同步多媒体集成语言(SMIL)页面内嵌的流内容等。
  重定向过程中包含内容搜索技术。如Prism[6]的内容搜索技术建立在映射服务的基础之上。映射服务将统一资源名(URN)表征的内容和URL集合进行绑定,每个CDN节点根据内容管理规则管理自己的内容,并将内容变化通知本地映射服务器;本地映射服务器在汇聚本地内容变化的基础上通知全局映射服务器。用户请求通过多播方式传送至所有CDN节点,符合条件的CDN节点通知请求重定向管理器。

5.2 内容的分发和管理
  内容的分发和管理是CDN技术研究中最为活跃的部分,包括内容的一致性、内容复制和CDN节点的放置策略以及更新报告等。
  如何保持CDN节点中保存的内容和源网站内容的一致性是CDN中最重要的问题之一,尤其对于动态变化的文件更为重要。一般采用两种方式处理内容一致性的问题:第1种方法是当源站点的文件发生变化时,所有CDN节点中的内容都传输一个更新的版本,但这样一来如果文件更新的频率高于访问的频率,则可能产生很多无用的流;第2种方法是使用失效标志,当一个文件发生变化时,将失效标志发送至所有节点,每个节点在稍后从源站点分别获取新版本,但这种方法没有充分利用CDN中重叠网络的多播特点。
  文献[1]提出一种混合使用这两种机制的办法,该方法的基本思想是基于用户的请求频率和文件的更新频率来决定使用那种方法,从而获得更低的流量。
  内容复制和CDN节点放置复制策略在文献[7—11]中有所研究。文献[7]在树的拓扑结构下考虑一个源站点放置拷贝的过程,其中使用动态规划算法解决了最优分配问题。文献[8]讨论在环形和线形拓扑下放置代理位置的最优解,并讨论了在一个源站点和树形结构下解的情况。文献[9]使用用户信息(如请求速率、用户延迟等)进行位置判断。文献[10]讨论CDN内如何放置CDN节点的问题。文献[11]将源站点的个数设为多个,考虑哪个对象在哪个节点放置的问题。作者将每个AS当作一个节点,每个AS包含一个CDN并只有有限的存储能力。将优化问题归结为一个NP完全问题,即如何复制文件使得用户从最近的CDN节点请求时穿越的AS个数最少。结果显示所有的CDN节点合作时得到的启发算法的结果最优。
  中心管理器的报告是实现管理的重要手段[6]。报告从CDN节点发往中心管理器,可以由中心管理器请求触发、时钟到时触发或阈值触发。CDN节点使用报告信息通知中心管理器可用资源、内容请求情况和负载等,中心管理器使用报告信息进行动态内容管理。

6 结束语
  CDN已经引起越来越多研究者的兴趣。目前流媒体的应用越来越广泛,而现有CDN只能支持质量较差的网络广播,不能提供和CATV等媒体同等质量的服务。同时,商用CDN的测试显示CDN技术在诸如CDN节点选择等方面并未达到预期目的。现在北京交通大学正在进行CDN体系结构的改进以更好地支持这些服务。

7 参考文献
[1] Fei Z. A Novel Approach to Managing Consistency in Content Distribution [R]. WCW’01: Web Caching and Content Distribution Workshop, 2001.
[2] Beck M. An Architecture for Ad-hoc Content Distribution Networks [R]. W3C’2002, 2002.
[3] Kageyama M. New Business Model in Content Distribution Technology [Z]. INTAP Matsushita, 2002.
[4] Allen D. Content Delivery Networks Come Home [EB/OL]. http://www.networkmagazine.com/shared/article/showArticle.jhtml?articleId=8703264.
[5] IETF Internet-Draft. Known CDN Request-Routing Mechanisms [EB/OL]. www1.ietf.org/mail-archive/ietf-announce/Current/msg10237.html, 2002,2.
[6] Cranor C D. Enhanced Streaming Services in a Content Distribution Network [J]. IEEE Internet Computing, 2001,8:66—75.
[7] Cidon I, Kutten S, Soffer R. Optimal Allocation of Electronic Content [R]. IEEE Infocom, 2001.
[8] Krishnan P, Raz D, Shavitt Y. The Cache Location Problem [EB/OL]. http://citeseer.nj.nec.com/krishnan00cache.html.
[9] Li B, Golin M J, Italiano G F. On the Optimal Placement of Web Proxies in the Internet [R]. IEEE Infocom, 1999.
[10] Qiu L, Padmanabhan V N, Voelker G M. On the Placement of Web Server Replicas [R]. IEEE Infocom, 2001.
[11] Kangasharju J, Roberts J, Ross K W. Object Replication Strategies in Content Distribution Networks [R]. WCW’01: Web Caching and Content Distribution Workshop, 2001.

收稿日期:2003-10-28

[摘要] 文章通过分析内容传送网络(CDN)研究领域的最新研究成果,阐述了CDN网络获得成功的内在技术因素,比较了CDN和缓存技术机制上的区别,归纳了现有CDN网络的类型,介绍了CDN网络的商业模型、基本结构和核心技术,指出了CDN网的发展方向。

[关键词] 内容传送网络;重叠网络;请求路由; 内容分发

[Abstract] With analysis of the latest research achievements in content distribution network (CDN), this paper discusses technical factors in the success of CDN, compares CDN with cache, and summarizes emerging CDN types. It also introduces the commercial model of CDN, its basic structure and core technologies, and outlines its development trend.

[Keywords] CDN; overlay network; request-routing; content distribution