`
yangzb
  • 浏览: 3503351 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

内容分发网络(CDN)技术研究

阅读更多
摘要:随着宽带网络和宽带流媒体应用的兴起,CDN作为一种提高网络内容,特别是流媒体内容传输的服务质量、节省骨干网络带宽的技术,在国内外得到越来越广泛的应用。本文主要介绍了CDN技术的基本概念、分层模型、关键技术,并对CDN的发展趋势进行了简要分析。

 



关键词:CDN 宽带流媒体 内容路由 负载均衡

 

一.内容分发网络概念

 

CDN 通常被称为内容分发网络(Content distribution network),有时也被称作内容传递网络(Content delivery network)。内容分发和传递一方面可以看作是CDN的两个阶段,分发是内容从源分布到CDN边界节点的过程,传递是用户通过CDN获取内容的过程; 另一方面,分发和传递可以看作是CDN的两种不同的实现方式,分发强调CDN作为透明的内容承载平台,传递强调CDN作为内容的提供和服务平台。

 

CDN 最初被用于分发Web内容,即主要实现Web Cache的功能。随着宽带接入的普以及基于流媒体的宽带应用的迅速发展,CDN被发现是一种能够有效缓解流媒体传输的高吞吐率对骨干网络带宽带来的压 力,同时提升流媒体服务质量的有效手段。因此,近年来,CDN得到越来越多的重视,并在国内外得到广泛的部署,而流媒体内容也取代Web内容成为CDN主 要承载的对象。

 

CDN的核心思想是将内容从中心推倒边缘靠近用户的地方,这样,不但有效提高了用户访问内容的性能,而且有效减轻了中心设备和骨干网络的压力。通过CDN,可以将内容服务从原来的单一中心结构变为分布式的结构。

 

二.内容分发网络分层模型

 

一 个CDN网络通常由三个部分构成:内容管理系统、内容路由系统、Cache节点网络。其中,内容管理系统主要负责整个CDN系统的管理,特别是内容管理, 如内容的注入和发布、内容的分发、内容的审核、内容的服务等。内容路由系统负责将用户的请求调度到适当的设备上,内容路由通常通过负载均衡系统来实现。 Cache节点网络是CDN的业务提供点,是面向最终用户的内容提供设备。从功能平面的角度,这三个部分分别构成了CDN的管理平面、控制平面和数据平 面。此外,从完整的CDN内容提供的角度,CDN网络还可以包括内容源(媒体资源库)和用户终端(媒体播放器)。

 

下图说明了一个CDN的逻辑平面模型。

三.CDN的主要实现方式
尽管CDN的发展已经有多年的历史,但是至今CDN还缺乏统一的国际标准。不同的CDN解决方案在实现上各不相同。

总体上,CDN网络的设计有两种思路:一种是将CDN设计为一种透明的承载网络;另一种是将CDN设计为一个分布式内容服务网络。下面简单的介绍如下:

(1)CDN作为一个透明承载网络

在这种方式下,CDN可以看作是一个应用层承载网。如下图所示:


图 2 CDN作为透明承载网络如图所示,用户从应用服务器中请求内容。应用的控制仍然由应用服务器处理,但是内容数据由缓存在CDN中的Cache提供。在这种 方式下,CDN的内容分发以PULL为主,即内容的分发从用户请求驱动,按需获取的。这种内容分发方式能够适应大量的多样化内容,并根据用户的行为模式进 行内容收敛。

为了支持这种CDN透明承载方式,CDN的设备,特别是Cache设备,通常在设 计上能够要求支持各种应用协议和媒体格式,并能够以透明的方式对用户的控制信息进行处理(如透传到源应用服务器)。同时它需要能够支持各种方式的从用户请 求URL(经过CDN内容路由处理后)到源应用服务器的映射规则,如正向代理规则、反向代理规则等。

这 种模式本质上CDN是一个"分发(Distribution)"网络,它具有较好的上下层无关性,能够适应不同的上层应用服务器和下层用户终端设备,其优 点是在实施上具有简单性和灵活性,其部署对原有的应用系统改动较少,而且支持的应用丰富,应用扩展性强。缺点是设备实现比较复杂,价格较高。

(2)CDN作为一个分布式服务网络

在这种方式下,CDN是作为内容服务网络,而不是中间承载网络存在的,CDN本身由分布式应用服务器构成。从这个意义上,CDN可以看作是一个"传递"网络。其工作模式如下:


如上图,CDN仅从内容源获取内容,内容的应用服务由CDN独立提供。在这种方式下,内容的分发以PUSH为主,主要以预分发(preload)的方式提前将内容发布到CDN上的服务节点。这种内容分发适应于有针对性的内容服务,对内容的管理和控制能力强。

为了支持这种方式,CDN设备通常直接用应用服务器设备加载CDN管理软件构成。这种方式通常采用集中的方式实现全网的内容管理和控制。因此,效率较高,但是这种方式对应用的适应性较差。适合与针对特定应用类型的内容分发,如流媒体点播。

在这种方式下,CDN是一个应用服务的"传递(Delivery)"网络。优点是实现简单,对内容的管理能力较强,成本较低。缺点是灵活性不够。
四.CDN的关键技术

1.内容路由技术

CDN负载均衡系统实现CDN的内容路由功能。它的作用是将用户的请求导向整个CDN网络中的最佳节点。最佳节点的选定可以根据多种策略,例如距离最近、节点负载最轻等。负载均衡系统是整个CDN的核心,负载均衡的准确性和效率直接决定了整个CDN的效率和性能。

通 常负载均衡可以分为两个层次:全局负载均衡(GSLB)和本地负载均衡(SLB)。全局负载均衡(GSLB)主要的目的是在整个网络范围内将用户的请求定 向到最近的节点(或者区域)。因此,就近性判断是全局负载均衡的主要功能。本地负载均衡一般局限于一定的区域范围内,其目标是在特定的区域范围内寻找一台 最适合的节点提供服务,因此,CDN节点的健康性、负载情况、支持的媒体格式等运行状态的本地负载均衡进行决策的主要依据。

负载均衡可以通过多种方法实现,主要的方法包括DNS、应用层重定向、传输层重定向等等。

对 于全局负载均衡而言,为了执行就近性判断,通常可以采用两种方式,一种是静态的配置,例如根据静态的IP地址配置表进行IP地址到CDN节点的映射。另一 种方式是动态的检测,例如实时的让CDN节点探测到目标IP的距离(可以采用RRT,Hops作为度量单位),然后比较探测结果进行负载均衡。当然,静态 和动态的方式也可以综合起来使用。

对于本地负载均衡而言,为了执行有效的决策,需要实时的获取 Cache设备的运行状态。获取的方法一般也有两种,一种是主动探测,一种是协议交互。主动探测针对SLB设备和Cache设备没有协议交互接口的情况, 通过ping等命令主动的发起探测,根据返回结果分析状态。另一种是协议交互,即SLB 和Cache根据事先定义好的协议实时交换运行状态信息。以便进行负载均衡。比较而言,协议交互比探测方式要准确可靠,但是目前尚没有标准的协议,各厂家 的实现一般仅是私有协议,互通比较困难。

2.内容分发技术

内容分发包含从内容源到CDN边缘的Cache的过程。从实现上,有两种主流的内容分发技术:PUSH和PULL。

PUSH 是一种主动分发的技术。通常,PUSH由内容管理系统发起,将内容从源或者中心媒体资源库分发到各边缘的Cache节点。分发的协议可以采用 HTTP/FTP等。通过PUSH分发的内容一般是比较热点的内容,这些内容通过PUSH方式预分发(Preload)到边缘Cache,可以实现有针对 的内容提供。对于PUSH分发需要考虑的主要问题是分发策略,即在什么时候分发什么内容。一般来说,内容分发可以由CP(内容提供商)或者CDN内容管理 员人工的确定,也可以通过智能的方式决定,即所谓的智能分发,它根据用户访问的统计信息,以及预定义的内容分发的规则,确定内容分发的过程。

PULL是一种被动的分发技术,PULL分发通常由用户请求驱动。当用户请求的内容在本地的边缘Cache上不存在(未命中)时,Cache启动PULL方法从内容源或者其他CDN节点实时获取内容。在PULL方式下,内容的分发是按需的。

在实际的CDN系统中,一般两种分发方式都支持,但是根据内容的类型和业务模式的不同,在选择主要的内容分发方式时会有所不同。通常,PUSH的方式适合内容访问比较集中的情况,如热点的影视流媒体内容;PULL方式比较适合内容的访问比较分散的情况。

在内容分发的过程中,对于Cache设备而言,关键的是需要建立内容源URL、内容发布的URL、用户访问的URL、以及内容在Cache中存储的位置之间的映射关系。如下图所示:


其中,映射关系1是内容源的URL和内容在Web Portal上发布的内容访问URL的映射关系。通常,为了将用户导向到CDN中(而不是直接去内容源访问),这两个URL是不同的。当然,为了降低SP的改动量,在采取了特殊的技术后,两个URL也可以相同。

映射关系2是内容在Portal上发布的URL和经过负载均衡后,用户实际访问Cache设备的URL的映射关系。除非在负载系统中仅采用DNS,URL都将发生变化。如何定义变化的规则,以便Cache设备能够获取内容的原始信息,是映射2需要考虑的问题。

映射关系3是用户访问的URL和内容在Cache中存储的位置的对应关系。该映射关系使得Cache能够正确的根据用户的请求提供内容。

映射关系4是Cache的内容存储位置和内容源的映射关系,通过该映射关系,使得当用户请求的内容未命中的时候,Cache能够向内容源获取内容(Pull)。这里,如果需要Cache不直接从源去内容,而从另一个Cache去获取内容的化,其映射关系将会更加复杂。

根据这些映射关系的不同实现方式。CDN的内容分发也不同,下面是几种常见的方式:

(1) 基于SP的手工映射方式:内容按照其提供商(SP)进行管理。对于映射关系1不作要求,但是需要两个URL不同。映射2为手工定义的映射关系,使得用户的 URL在经过负载均衡后携带SP信息。Cache中的内容以SP为单位存储,通过提取用户访问的URL中的SP信息查找Cache中存储的实际内容,这样 可以实现映射3。如果未命中,需要根据手工配置的映射关系4找到该内容的源服务器位置,以实现内容的PULL。如果内容以PUSH的方式分发,需要在分发 是说明内容的源URL,SP信息,以便建立映射关系3。

(2)基于反向代理的方式:内容以发布 的URL为单位进行管理。对于映射关系1不作要求,但是需要两个URL不同。对于映射关系2,定义URL改变规则为叠加Cache的IP地址,这样,用户 访问的URL在去掉叠加的IP后,可以恢复为原来的(Portal上发布的)URL。在Cache设备上直接按照Portal上发布的URL为索引进行内 容存储,可以方便的提取内容。如果内容未命中,需要通过手工建立的反向加速规则,从预定义的内容源去获取内容。

(3) 基于正向代理的方式:内容仍然以发布的URL为单位进行管理。但是为了避免对SP的改动,正向代理方式在保持Portal的URL和内容源的 URL相同的情况下工作。对于映射关系2和3,同反向代理方式。当内容未命中时,需要通过一个内部的DNS解析出该URL的真正的内容源的IP地址。采用 内部DNS的原因是避免DNS解析被引导到负载均衡系统中。因此,内部的DNS实现了映射关系4。

上述几种实现方式各有特点,可应用于不同的内容和业务情况。

3.内容存储

对于CDN系统而言,需要考虑两个方面的内容存储问题。一个是内容源的存储,一个是内容在Cache节点中的存储。

对于内容源的存储,由于内容的规模比较大(通常可以达到几个甚至几十个TB),而且内容的吞吐量较大,因此,通常采用海量存储架构。如NAS和SON。

对于在Cache节点中的存储,是Cache设计的一个关键问题。需要考虑的因素包括功能和性能两个方面:功能上包括对各种内容格式的支持,对部分缓存的支持,在性能上包括支持的容量、多文件吞吐率、可靠性、稳定性。

其中,多种内容格式的支持要求存储系统根据不同文件格式的读写特点进行优化,以提高文件内容读写的效率。特别是对针对流媒体文件的读写。

部 分缓存能力指流媒体内容可以以不完整的方式存储和读取。部分缓存的需求来自用户访问行为的随机性,因为许多用户并不会完整的收看整个流媒体节目,事实上, 许多用户访问单个流媒体节目的时间不超过10分钟。因此,部分缓存能力能够大大提高存储空间的利用率,并有效的提高用户请求的响应时间。但是部分缓存可能 导致内容的碎片问题,需要进行良好的设计和控制。

Cache存储的另一个重要因素是存储的可靠性,目前,多数存储系统都采用了RAID技术进行可靠存储。但是不同设备使用的RAID方式各有不同。

4.内容管理

内容管理在广义上涵盖了从内容的发布、注入、分发、调整、传递等一系列过程。在这里,内容管理重点强调内容进入Cache点后的内容管理,我们称为本地内容管理。

本 地内容管理主要针对一个CDN节点(有多个CDN Cache设备和一个SLB设备构成)进行。本地内容管理的主要目标是提高内容服务的效率,提高本地节点的存储利用率。通过本地内容管理,可以在CDN节 点实现基于内容感知的调度,通过内容感知的调度,可以避免将用户重定向到没有该内容的Cache设备上,从而提高负载均衡的效率。通过本地内容管理还可以 有效的实现在CDN节点内容的存储共享,提高存储空间的利用率。

在实现上,本地内容管理主要包括如下几个方面:

(1)本地内容索引:本地内容管理的首先依赖于对本地内容的了解。包括每个Cache设备上内容的名称、URL、更新时间、内容信息等。本地内容索引是实现基于内容感知的调度的关键。

(2)本地内容拷贝:通常,为了提高存储效率,同一个内容在一个CDN节点中仅存储一份,即仅存储在某个特定的Cache上。但是一旦对该内容的访问超过该Cache的服务提供能力,就需要在本地(而不是通过PUSLL的方式从源)实现内容的分发。这样可以大大提高效率。

(3)本地内容访问状态信息收集:搜集各个Cache设备上各个内容访问的统计信息,Cache设备的可用服务提供能力,内容变化的情况。

总之,通过本地内容管理,可以将内容的管理从原来的Cache设备一级,提高到CDN节点一级。从而大大的增加了CDN的可扩展性和综合能力。
五.CDN的发展趋势

在宽带流媒体业务的驱动下,CDN目前正处于高速发展的时期。下面,本文就设备、标准化两个方面简单的总结CDN的发展趋势:

(1)设备开发的趋势,包含三个方面:

首先是不同CDN实现方式的融合,例如,硬件厂商在不断降低成本,软件厂商在不断提高单台设备的性能、支持更多的功能,引入一些硬件设备设计思路。

其次是流媒体在CDN中日益成为主流,因此,CDN的设计和实现越来越多的考虑到流媒体内容分发和服务的需求。

最后是CDN的可运营性和可管理性方面的功能得到不断的增强,由于运营商建设CDN越来越普遍,因此,可运营可管理的需求越来越高,CDN设备提供商和CDN网络集成商普遍在解决方案中增强了系统的可运营、可管理的能力。

(2)标准化进展

长期以来,CDN缺乏统一的技术标准。这给CDN的大规模应用造成很大的障碍。近年来,CDN的标准化工作得到了较多的重视。各个标准化组织都展开了相关的研究。例如,IETF对内容互联的架构方面正展开相关的研究。在ITU,有一些关于移动CDN的提案正在被讨论。

尽管如此,CDN的标准化工作还是落后于产品的研发。CDN的标准化工作还有很长的路要走。

六.结论

目前,CDN作为一种支持大规模高质量的流媒体服务的关键技术。目前已经基本成熟。并得到了越来越广泛的应用。

从目前已经运营的CDN网络的情况来看, CDN对于提高流媒体的服务质量,降低骨干网络的带宽的作用非常明显。但由于CDN缺乏统一的技术标准,因此,会在一定程度上制约CDN的发展。

可以预见,宽带流媒体应用的驱动下,CDN将进一步得到长足的发展。
分享到:
评论

相关推荐

    内容分发网络(CDN)白皮书(2015年).pdf

    内容分发网络(CDN)白皮书(2015年).pdf

    CDN 内容分发网络仿真软件

    此外,也可以评估新的CDN技术或改进,比如利用机器学习预测用户需求,或优化边缘计算来处理更多本地化的内容。 总的来说,CDN内容分发网络仿真软件在理解和优化CDN网络方面发挥着重要作用,它能够为研究人员和从业...

    一款内容分发网络CDN加速介绍单页源码源码资源下载整理.zip

    【内容分发网络CDN加速】是互联网技术中的一种重要机制,它的全称为Content Delivery Network。CDN的主要目的是通过在全球范围内的多个服务器节点上缓存网站内容,来提高用户访问速度,降低网络延迟,增强网站的可用...

    内容分发网络(CDN)白皮书(2015)

    【资料名称】:内容分发网络(CDN)白皮书(2015) 【资料作者】:中国信息通信研究院(原工业和信息化部电信研究院) 【资料日期】:2015年12月 【资料语言】:中文 【资料格式】:PDF 【资料目录和简介】: ...

    基于IPV4/IPV6的流媒体内容分发网络研究

    随着互联网技术的发展,用户对高质量流媒体内容的需求不断上升,内容分发网络(CDN)成为满足这一需求的关键技术。同时,IPv6作为下一代互联网协议,其大容量地址空间和先进特性为解决IPv4地址短缺问题提供了可能。...

    内容分发网络技术综述.pdf

    CDN技术的核心思想是将原本集中存储在单一源服务器上的数据复制到全球各地的多个边缘节点上,当用户请求内容时,CDN会自动将请求路由到最近的、负载最低的边缘节点,从而减少网络延迟,提高用户体验,并减轻源服务器...

    论文研究-基于P2P和CDN的混合流媒体分发模型及分析.pdf

    在CDN和P2P两种主流的流媒体分发技术的基础上,提出了基于系统流量的混合流媒体分发模型,根据系统中节点数量和媒体流量之间的关系,在CDN自治域内实现CDN和P2P的混合式服务,并对上述理论进行了仿真。实验结果表明...

    网络游戏-混合CDN视频流分发网络的方法和系统.zip

    "混合CDN视频流分发网络的方法和系统.pdf"文档很可能是详细阐述上述概念和技术的资料,包括具体实施方案、案例研究以及可能遇到的技术挑战和解决方案。这份资料对于理解如何在网络游戏场景下构建高效、可靠的视频流...

    面向移动内容分发网络环境的移动视频预取技术研究进展.docx

    移动环境下的预取技术研究涵盖了多个方面,包括用户行为分析、内容预测算法、网络资源管理以及机器学习模型的建立。这些技术的应用不仅提高了预取的准确性,还增强了MCDN对多样性和个性化内容服务的智能响应能力。 ...

    中国联通CUBE-CDN技术白皮书

    CUBE-CDN技术是中国联通推出的基于云计算和软件定义网络(SDN)的内容分发网络(CDN)解决方案。该技术旨在解决当前CDN体系架构中的种种挑战,如耦合架构、管道化趋势等。 二、 需求及挑战分析 需求及挑战分析部分...

    基于CDN的流媒体分发技术研究综述.pdf

    基于CDN的流媒体分发技术研究综述.pdf

    多媒体网络:从内容分发网络到未来互联网.pdf

    多媒体网络技术是当代互联网发展的重要组成部分,其涵盖了内容分发网络(CDN)和对未来互联网发展的展望。随着网络技术的快速发展,人们对于网络的依赖性日益增加,网络技术的发展同时也对互联网的未来提出了更高的...

    CDN市场研究与预测报告

    CDN的全称是Content Delivery Network, 即内容分发网络。 其目的是通过在现有的Internet中增加一层新的网络架构, 将网站的内容发布到最接近用户的网络 “ 边缘” , 使用户可以就近取得所需的内容, 解决Internet...

    CDN网络路由技术

    目前,CDN技术在国内的发展尚处于初级阶段,但已引起了广泛的关注和研究兴趣。国家“863”计划等重大项目已经对此进行了资助和支持,浙江大学等科研机构也在积极开展相关的研究工作。随着技术的进步和社会需求的增长...

Global site tag (gtag.js) - Google Analytics