浅析内容分发网络关键技术与应用

    朱夫明 董彦祥

    【摘?要】目前,广电网络面临最大的挑战就是数据传输速度的提高以及对网络拥塞问题的解决,这需要一种能够满足数据传输业务又能对高清时代加以支撑的可靠技术。CDN具有内容分发、存储、管理、负载均衡技术,能在传输速度提高的同时减少时延,是目前广电网络解决数据传输问题的主要途径。本文对CDN的关键技术和其技术指标分析,并探讨CDN在广电中的应用。

    【关键词】CDN(内容分发网络,Content Delivery Network)、CDN关键技术、CDN技术应用

    Analysis on Key Technologies and Applications of Content Distribution Network

    Zhu Fu-ming,Dong Yan-xiang

    (Tianyuan Ruixin Communication Technology Co., Ltd?Xi'an?Shanxi?710000)

    【Abstract】At present, the biggest challenge for broadcasting and television networks is the improvement of data transmission speed and the solution to network congestion problems. This requires a reliable technology that can satisfy the data transmission service and support the high-definition era. CDN has content distribution, storage, management, load balancing technology, which can reduce the delay while increasing the transmission speed. It is the main way for the broadcasting and television network to solve the data transmission problem. This paper analyzes the key technologies of CDN and its technical indicators, and discusses the application of CDN in broadcasting and television.

    【Key words】CDN (Content Delivery Network);CDN key technology;CDN technology application

    1. 內容分发网络概述

    内容分发网络(CDN,Content Delivery Network)伴随着互联网商业化发展而发展,是现代互联网的重要支撑网络,也是现代通信网的重要组成部分。伴随着IPTV、网络视频、下载等业务的快速发展,及其对网络传输带宽和质量需求的提升,重要性日益凸显。内容分发网络(CDN)作为流媒体系统的一个重要核心组成部分,开始被运营商接受和广泛部署。内容分发网络(CDN)进入了发展的快车道。从互联网的发展来看,网络流量的增长远远超出了人们的预期。宽带网的快速发展,催生了许多新的互联网业务,如IPTV业务、互联网视频、OTT等业务。为解决互联网带宽瓶颈,CDN营运而生,CDN的发展于宽带互联网架构紧密相连,它本质上是通过一种分布式服务器构成的网络,把热点内容存储在网络靠近接入层的服务器上,从而使用户访问热点内容时不再访问骨干侧的服务器,减小骨干网流量需求,并提高服务质量。

    2. CDN基本原理

    2.1?CDN的基本原理为反向代理,反向代理(Reverse Proxy)方式是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现为一个节点服务器。通过部署更多的反向代理服务器,来达到实现多节点CDN的效果。

    2.2?在描述CDN的实现原理,让我们先看传统的未加缓存服务的访问过程,以便了解CDN缓存访问方式与未加缓存访问方式的差别:

    2.2.1?用户提交域名→浏览器对域名进行解析→得到目的主机的IP地址→根据IP地址访问发出请求→得到请求数据并回复

    2.2.2?由上可见,用户访问未使用CDN缓存网站的过程为:

    (1)用户向浏览器提供要访问的域名;

    (2)浏览器调用域名解析函数库对域名进行解析,以得到此域名对应的IP地址;

    (3)浏览器使用所得到的IP地址,向域名的服务主机发出数据访问请求;

    (4)浏览器根据域名主机返回的数据显示网页的内容。

    (5)通过以上四个步骤,浏览器完成从用户处接收用户要访问的域名到从域名服务主机处获取数据的整个过程。

    3. CDN关键技术

    CDN的关键技术主要有内容路由技术、内容分发技术、内容存储技术、内容管理技术等。

    3.1?内容路由技术。

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

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

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

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

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

    3.2?内容分发技术。

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

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

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

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

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

    3.3?内容存储技术。

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

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

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

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

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

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

    3.4?内容管理技术。

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

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

    4. CDN主要技术指标

    运营商和服务提供商对CDN的服务指标有严格的要求,主要有以下几个方面。

    4.1?命中率。

    CDN命中率是指用户访问网络资源节点时,命中缓存的概率。用户访问一个使用了CDN的网站,请求会被解析到CDN节点。此时如果该CDN节点上已经缓存了用户要请求的内容,则直接CDN节点直接返回,无需再去源站取数据(这样就算命中缓存)。如果该CDN节点上没有缓存相应的内容,则会立即去源站获取,然后再返回给访问者,同时把内容缓存在该节点上(这样就没有命中缓存)。缓存的命中率越高,就说明回源的次数越少,这样,加速效果也就越好。

    4.2?吞吐量。

    CDN的吞吐量通常指的是单台CDN服务器在单位时间内(一般以秒计算)成功输出的数据大小(一般以bit、kbit、Mbit、Gbit计算),是CDN服务器的重要性能指标之一。吞吐率描述了服务器在实际运行期间单位时间内处理的请求数,然而,我们更加关心的是服务器并发处理能力的上限,也就是单位时间内服务器能够处理的最大请求数,即最大吞吐率。其吞吐能力通常决定于多方面因素,主要为硬件配置、软件配置、网络带宽。

    4.3?并发值。

    从CDN服务类型来看,可分为两类,分别是互联网应用服务和流媒体服务。第一类服务通常传输数据量较小,单位时间内频繁发起TCP/UDP连接,对CDN的会话处理能力要求较高,对CDN服务器CPU、内存、软件要求很高;第二类服务通常要求较高的带宽以保证视频稳定传输,TCP/UDP连接请求不如前者频繁,但对CDN的吞吐能力要求很高,对CDN服务器存储、网口、总线I/O要求很高。

    4.4?响应时间。

    响应时间是指用户通过终端的浏览器或者客户端发出的内容访问请求,到收到内容第一个数据包的时间,也可称为端到端响应时间。响应时间对用户体验有很大的影响,响应时间过长会造成用户心理烦躁和不安,逐渐失去使用该业务的兴趣,因此响应时间也是CDN最重要的服务指标之一。端到端响应时间通常由DNS地址解析、访问CDN服务器、CDN内部重定向、收到数据包几个部分组成。

    4.5?MDI。

    MDI(Media Delivery Index,媒体传输质量指标)用来测量和评估基于IP网络的视频流媒体的传输质量,是媒体延迟和媒体丢失率的综合评价指标,广泛应用于IPTV、OTT、数字电视等基于IP网络的流媒体领域。

    4.6?MOS。

    MOS(Mean Opinion Score,评价意见指标)主要用于评价通信系统中的语音质量优劣,在视频通信等领域已广泛使用,通常用来评价流媒体类型的CDN服务质量。

    5. CDN技术应用

    5.1?IPTV CDN应用。

    IPTV系统对于用户的服务质量有很高的要求,而且要保证播放的流畅。在广域网内,从用户的客户端到流媒体服务器之间经过了一个很复杂的路由以后,就很难保证播放的流畅了。为了克服网络复杂路线带来的制约,在IPTV中必须通过边缘服务来实现最终用户的点播服务,所以要把内容从中心服务器有效地分发到边缘服务器,就可以通过CDN把内容从中心存储服务器分发到边缘服务器。通过CDN技术,可以将内容分发从原来的单一中心结构变为分布式的结构,提高用户访问网站的响应速度。因而,CDN可以提高网络中信息流动的效率,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问的响应速度。

    5.2?OTT CDN应用。

    OTT+CDN是OTT视频处理技术与CDN结合的平台。将视频内容经过OTT技术处理,再通过CDN节点分发给各种终端的访问用户。无须安装任何插件或APP即可访问视频内容。网络视频已经成为人们获取电影、电视、资讯视频等数字内容的重要渠道。网络视频的市场价值快速增长,在互联网行业中的地位不断提升。移动互联与视频的结合必定是未来的发展趋势,但移动终端的多样化,导致视频内容传播中出现的协议、格式等不同的多种瓶颈,使得OTT+CDN得到了广泛的应用。

    5.3?Web CDN应用。

    Web CDN主要通过对Web网页的缓存,为用户提供Web加速服务,由于Web页面由多种元素组成,如文本、图片、动画、音乐、视频等,因此Web CDN通过对这些内容进行缓存,不仅降低了通过WAN连接到服务器的带宽消耗,而且降低了响应时间,提高用户感知度。

    5.4?CDN透明缓存应用。

    目前以视频服务、文件分享、移动应用为代表的互联网应用占用了网络的大部分带宽,CDN网络通过多级架构,将内容优先推送到边缘节点,再根据节点负载情况、网络流量、到用户的距离和响应时间等综合信息,将用户的服务请求调度到离其最近的边缘节点,由此节点为用户提供服务,很好的解决了网络拥挤、响应时间长、视频播放不流畅等问题。

    5.5?云CDN应用。

    对于云存储在CDN的部署,边缘节点只需要部署服务能力即可,存储能力则由云存储提供,降低网络建设成本,同时提高存储系统效益,而CDN采用基于云計算的服务和管理结构,对资源和用户进行集中管理,对业务进行统一的分发和调度,实现内容的分发、传输和存储,使整个CDN架构具有高度的可伸缩性和可用性,大大提高综合应用能力。

    6. 结束语

    随着宽带网络 和宽带流媒体应用的兴起,CDN 作为一种提高网络内容,特别是提高流媒体内容传输的服务质量、节省骨干网络带宽的技术 ,在国内外得到越来越广泛的应用。通过CDN技术,能够实时的根据网络流量和各节点的连接、负载状况以及用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务器节点上,解决Internet网络拥挤的问题,提高用户访问的响应速度,其意义重大。

    参考文献

    [1]?梁洁,等.内容分发网络(CDN)关键技术、架构与应用.北京:人民邮电出版社,2013.

    [2]?徐岚,等.负载均衡技术研究.农业与技术,2009.

    [3]?陈戈,等.CDN互联互通架构与关键技术研究.现代电信科技.2012.

    [4]?熊明.CDN技术研究及其在宽带中的应用.天津大学,2015.

    [5]?熊明,等.城域网上CDN技术的应用.计算机应用,2005.