CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。

中文名

内容分发网络

外文名

Content Delivery Network

属性

一种新型网络构建方式

目的

传输的更快、更稳定

全称

Content Delivery Network

简介

CDN(Content Delivery Network)是指内容分发网络,也称为内容传送网络,这个概念始于1996年,是美国麻省理工学院的一个研究小组为改善互联网的服务质量而提出的。为了能在传统IP网上发布丰富的宽带媒体内容,他们提出在现有互联网基础上建立一个内容分发平台专门为网站提供服务,并于1999年成立了专门的CDN服务公司,为Yahoo提供专业服务。由于CDN是为加快网络访问速度而被优化的网络覆盖层,因此被形象地称为“网络加速器”。

CDN网络的诞生大大地改善了互联网的服务质量,因此传统的大型网络运营商纷纷开始建设自己的CDN网络,如AT&T、德国电信、中国电信等。随着市场需求的不断增加,甚至出现了纯粹的CDN网络运营商,美国的Akamai就是其中最大的一个,拥有分布在世界各地的1000多个节点。我国第一家纯粹的CDN网络服务公司是北京蓝汛公司,已从2000年开始建立了一个专门的CDN服务网络一ChinaCache。目前CDN网络已经突破50个节点,覆盖中国六大骨干网络一中国电信、中国网通、中国移动、中国联通、中国铁通网络以及中国教育网,带宽资源储备超过35G,服务的客户数量达到300多家。

组成

CDN网络中包含的功能实体包括内容缓存设备、内容交换机、内容路由器、CDN内容管理系统等组成。

内容缓存为CDN网络节点,位于用户接入点,是面向最终用户的内容提供设备,可缓存静态Web内容和流媒体内容,实现内容的边缘传播和存储,以便用户的就近访问。

内容交换机处于用户接入集中点,可以均衡单点多个内容缓存设备的负载,并对内容进行缓存负载平衡及访问控制。

内容路由器负责将用户的请求调度到适当的设备上。内容路由通常通过负载均衡系统来实现,动态均衡各个内容缓存站点的载荷分配,为用户的请求选择最佳的访问站点,同时提高网站的可用性。内容路由器可根据多种因素制定路由,包括站点与用户的临近度、内容的可用性、网络负载、设备状况等。负载均衡系统是整个CDN的核心。负载均衡的准确性和效率直接决定了整个CDN的效率和性能。

内容管理系统负责整个CDN的管理,是可选部件,作用是进行内容管理,如内容的注入和发布、内容的分发、内容的审核、内容的服务等。

功能

归纳起来,CDN具有以下主要功能:

(1)节省骨干网带宽,减少带宽需求量;

(2)提供服务器端加速,解决由于用户访问量大造成的服务器过载问题;

(3)服务商能使用Web Cache技术在本地缓存用户访问过的Web页面和对象,实现相同对象的访问无须占用主干的出口带宽,并提高用户访问因特网页面的相应时间的需求;

(4)能克服网站分布不均的问题,并且能降低网站自身建设和维护成本;

(5)降低“通信风暴”的影响,提高网络访问的稳定性。

基本原理

CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。

基本思路

基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。其目的是使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。

服务模式

内容分发网络(CDN)是一种新型网络构建方式,它是为能在传统的IP网发布宽带丰富媒体而特别优化的网络覆盖层;而从广义的角度,CDN代表了一种基于质量与秩序的网络服务模式。

简单地说,内容分发网络(CDN)是一个经策略性部署的整体系统,包括分布式存储、负载均衡、网络请求的重定向和内容管理4个要件,而内容管理和全局的网络流量管理(Traffic Management)是CDN的核心所在。通过用户就近性和服务器负载的判断,CDN确保内容以一种极为高效的方式为用户的请求提供服务。

总的来说,内容服务基于缓存服务器,也称作代理缓存(Surrogate),它位于网络的边缘,距用户仅有"一跳"(Single Hop)之遥。同时,代理缓存是内容提供商源服务器(通常位于CDN服务提供商的数据中心)的一个透明镜像。这样的架构使得CDN服务提供商能够代表他们客户,即内容供应商,向最终用户提供尽可能好的体验,而这些用户是不能容忍请求响应时间有任何延迟的。

应用对比

首先简单表述一下传统的动态系统的访问方法:

如右图示(一)表述的是用户的请求过程,用户经过网络中的路由A、B的传输,最终将发送的请求交于动态系统来处理,但是由于IP网络本身的“尽力而为的原则”、网络链路中复杂的环境及硬件的不可靠性的确实存在,致使用户要出现重复发送的请求的现状,所以最终导致用户的请求在提交的过程中出现等待、数据加载时间过长的一些现象的普遍存在,这些在线提交式系统的缓慢直接地影响到办公人员的工作效率,这也是制约着很多大型企业在

协同办公OA、ERP、SAP等信息化建设中,出现最多的问题。

而CDN分发解决方案解决了与静态网站相关的性能和可靠性问题,而在当今在线业务体验中,与分发静态和动态元素和应用相关的独特挑战,则由速网的动态网站加速(动态网站加速)来解决。

关键技术

内容发布

它借助于建立索引、缓存、流分裂、组播(Multicast)等技术,将内容发布或投递到距离用户最近的远程服务点(POP)处。 [9]

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

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

内容路由

它是整体性的网络负载均衡技术,通过内容路由器中的重定向(DNS)机制,在多个远程POP上均衡用户的请求,以使用户请求得到最近内容源的响应。

CDN负载均衡系统实现CDN的内容路由功能。它的作用是将用户的请求导向整个CDN网络中的最佳节点。最佳节点的选定可以根据多种策略,例如距离最近、节点负载最轻等。负载均衡系统是整个CDN的核心,负载均衡的准确性和效率直接决定了整个CDN的效率和性能。通常负载均衡可以分为两个层次:全局负载均衡(GSLB)和本地负载均衡(SLB)。全局负载均衡主要的目的是在整个网络范围内将用户的请求定向到最近的节点(或者区域)。因此,就近性判断是全局负载均衡的主要功能。本地负载均衡一般局限于一定的区域范围内,其目标是在特定的区域范围内寻找一台最适合的节点提供服务,因此,CDN节点的健康性、负载情况、支持的媒体格式等运行状态是本地负载均衡进行决策的主要依据。

内容存储

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

对于内容源的存储,由于内容的规模比较大(通常可以达到几个甚至几十个TB),而且内容的吞吐量较大,因此,通常采用海量存储架构,如NAS和SON。对于在 Cache节点中的存储,是 Cache设计的一个关键问题。需要考虑的因素包括功能和性能两个方面:功能上包括对各种内容格式的支持,对部分缓存的支持;在性能上包括支持的容量、多文件吞吐率、可靠性、稳定性。

其中,多种内容格式的支持要求存储系统根据不同文件格式的读写特点进行优化,以提高文件内容读写的效率。特别是对针对流媒体文件的读写。部分缓存能力指流媒体内容可以以不完整的方式存储和读取。部分缓存的需求来自用户访问行为的随机性,因为许多用户并不会完整地收看整个流媒体节目。事实上,许多用户访问单个流媒体节目的时间不超过10分钟。因此,部分缓存能力能够大大提高存储空间的利用率,并有效提高用户请求的响应时间。但是部分缓存可能导致内容的碎片问题,需要进行良好的设计和控制。 [10]

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

内容管理

它通过内部和外部监控系统,获取网络部件的状况信息,测量内容发布的端到端性能(如包丢失、延时、平均带宽、启动时间、帧速率等),保证网络处于最佳的运行状态。

内容管理在广义上涵盖了从内容的发布、注入、分发、调整、传递等一系列过程。在这里,内容管理重点强调内容进人 Cache点后的内容管理,称其为本地内容管理。本地内容管理主要针对一个ODN节点(有多个 CDN Cache设备和一个SLB设备构成)进行。本地内容管理的主要目标是提高内容服务的效率,提高本地节点的存储利用率。通过本地内容管理,可以在CDN节点实现基于内容感知的调度,通过内容感知的调度,可以避免将用户重定向到没有该内容的 Cache设备上,从而提高负载均衡的效率。通过本地内容管理还可以有效实现在ODN节点内容的存储共享,提高存储空间的利用率。

主要特点

1、本地Cache加速 提高了企业站点(尤其含有大量图片和静态页面站点)的访问速度,并大大提高以上性质站点的稳定性

2、镜像服务 消除了不同运营商之间互联的瓶颈造成的影响,实现了跨运营商的网络加速,保证不同网络中的用户都能得到良好的访问质量。

3、远程加速 远程访问用户根据DNS负载均衡技术智能自动选择Cache服务器,选择最快的Cache服务器,加快远程访问的速度

4、带宽优化 自动生成服务器的远程Mirror(镜像)cache服务器,远程用户访问时从cache服务器上读取数据,减少远程访问的带宽、分担网络流量、减轻原站点WEB服务器负载等功能。

5、集群抗攻击 广泛分布的CDN节点加上节点之间的智能冗余机制,可以有效地预防黑客入侵以及降低各种D.D.o.S攻击对网站的影响,同时保证较好的服务质量。

产品优势

CDN能几乎涵盖国内所有线路。而在可靠性上, CDN 在结构上实现了多点的冗余,即使某一个节点由于意外发生故障,对网站的访问能够被自动导向其他的健康节点进行响应。CDN能轻松实现网站的全国铺设,不必考虑服务器的投入与托管、不必考虑新增带宽的成本、不必考虑多台服务器的镜像同步、不必考虑更多的管理维护技术人员

中国市场

初期我国CDN市场发展缓慢,2006年后市场陡然升温,国内较为有名的CDN服务商有思必达、蓝汛等,但整体CDN市场规模、运营成熟度、服务能力和技术研发均较国外存在一定的差距。目前我们存在以下类型的CDN服务商:

表1 CDN服务商

CDN 服务商优势劣势
专业CDN服务商专注核心业务发展,易扩大经营规模;进入市场较早,具有成熟的运营机制和较高的服务能力。受制于电信运营商带宽租用费用,带宽成本是刚性的,不能形成价格优势。由于电信运营商运营支撑系统的不灵活导致带宽资费设置不灵活,不能按需索取,导致CDN的价格居高不下
提供CDN服务的IDC 运营商拥有带宽资源优势,进入市场较容易需要添置大量的服务器、网络设备及存储设备,投资成本高
电信运营商1.拥有巨大的带宽和网络优势,其带宽成本是弹性的,可以配置最优的CDN服务网络;资本雄厚,有实力建设规模庞大的CDN网络,拥有品牌优势,与众多互联网公司关系密切,能够引导互联网公司使用CDN服务。2.已建成流媒体等专用CDN网络在此基础上进行升级和改造,可快速推出多种CDN业务。1.CDN行业属于技术驱动型产业,电信运营商的CDN技术储备较薄弱。2.互联互通问题导致运营商只能在自己的网络上做CDN业务,跨网络运营的问题较难解决3.CDN不是电信运营商的主营业务,缺乏运营经验和服务能力。
自建CDN1.节约服务成本,可控性高2.免受CDN市场价格波动的困扰,利于成本降低1.初期投资较大,且增加运营和研发成本2.非核心业务,易分散对主营业务的精力3.节点数少,不能完全满足需求
国外CDN服务商1.资金雄厚,具备技术、运营和服务实力,利于业务开展。2.在国内开始建设节点,利于市场开拓。1.与国内一些IDC和ISP采取代理合作的方式来销售自己的服务,难以大规模开展业务2.非正规竞争,存在安全隐患,将域名解析权掌控在国外运营商的手里
展开表格

内容存储技术

CDN需要考虑两个方面的内容存储问题,一个是内容源的集中存储,另一个是内容在Cache节点中的分布式存储。由于内容的规模比较大,内容的吞吐量较大,因此,通常采用海量存储架构。目前常用的存储技术主要有直连附加存储(DAS)、网络附加存储(NAS)和存储区域网(SAN)。

DAS是直接连接在各种服务器或客户端扩展接口下的数据存储设备,完全以服务器为中心,寄生在相应服务器或客户端上,本身是硬件的堆叠,不带有任何存储操作系统,网络客户端通过访问服务器浏览存储设备的信息。NAS可以提供高速的数据I/O访问,降低了媒体服务器由于相应数据访问请求而承担的CPU负荷,使媒体服务器性能得到大幅提升,NAS把数据放在同一个服务器里让不同用户共享。SAN允许服务器在共享存储装置的同时仍能高速传送数据,共享式区域网络通过高速连接将服务器与存储介质相互连通,具有可扩展性高、可用性高和容错能力强的优点,可以轻松升级,易于管理,有助于改善整个系统的成本状况。

HFMS是针对流媒体内容海量存储开发的一种文件存储技术,针对传统的采用直接文件复制带来的种种弊端,采用Segment技术,以流广播形式传送新复制的片段,到终端用户处的总延迟在50ms以内,用户不容易察觉到。在极端情况下,当所有用户都在同一时间观看同一热门节目的片段时,可同时以广播形式播放。HMFS实现了流媒体内容的分段存储和服务,提升了系统服务性能。

对于VOD内容的存储,可以根据网络规模,采用不同的存储方案。对于小规模网络,可以采用DAS;中等规模的网络采用NAS;对于大规模的网络可以采用SAN存储方案。根据数据量大和实时性强的特点,建议采用SAN和HMFS结合存储技术进一步优化流媒体数据存储。

内容分发技术

内容分发技术是通过网络的构建减小IP骨干网络的传输压力,将连接到IP网络上的内容迅速分发到用户终端。CDN主要由初始服务器、分布在边缘的缓存服务器、重定向DNS服务器和内容交换服务器组成。初始服务器负责生成服务器信息内容;缓存服务器负责存储初始服务器的部分或全部信息内容;重定向DNS服务器向用户提供最近的服务器IP地址,减轻骨干网的压力;内容交换服务器完成各缓存服务器之间的负载均衡功能;内容管理服务器负责整个网络各缓存服务器中存储的内容的管理,为各缓存服务器制定相应的缓存策略,以提高缓存服务器的服务质量。

①分段分发技术

流媒体对边缘内容的完整性没有要求,节点只需存储少量的节目或节目片段即可实时推送内容,为用户提供完整的服务。当用户点播的内容只有部分片段或没有时,系统将采用分发技术进行内容的快速分发。

②部分分发技术

部分分发技术可提升边缘系统的命中率,如果对10%的内容采用全复制,20%的内容采用50%复制,50%的内容采用10%复制,那么,系统可以实现95%以上的命中率,大大降低骨干网的负荷,具有优越的分发性能。

负载均衡技术

负载均衡是整个CDN的核心,负载均衡的准确性和效率直接决定了整个CDN的效率和性能。

负载均衡技术将网络的流量尽可能均匀地分配到几个能完成相同任务的服务器或网络节点上进行处理,避免部分网络节点过载而另一部分节点空闲的不利状况,既可以提高网络流量,又可以提高网络的整体性能。