新疆电信有限公司信息业务分公司  闫卫东

【 来源:《新疆通信》  上传时间:06-10-16 】

摘 要: 随着宽带网络的日益普及,流媒体成为了重要的互联网业务之一,完成实时流媒体的分发的主流技术有CDN(内容分发网络)及P2P(点对点)。然而两种技术都有他们各自的局限性,CDN方式需要大量的服务器用于不同层级的分发,同时需要运营商投入人力物力进行维护,在另一方面P2P方式,需要在分发开始就有足够数量的用户对等共享点,启动P2P分发过程。本文结合现状简要描述了CDN及P2P两种技术发展过程和在疆内的应用,讨论了技术实现方式及发展方向。

关键词: CDN(content Distribution/Delivery network) P2P(Peer-to-Peer)

     流媒体 网络 运营 实时直播

  1. 引言
  自从上世纪80年代,随着WEB技术在世界的快速普及和蓬勃发展,人们在Internet上的应用已经从初期的ftp,mail,telnet等计算机联通为目标的主要应用,到以WEB为主流应用的转变,进入九十年代末期伴随ADSL等宽带用户接入技术的逐渐成熟,用户在获取信息的习惯上还是倾向于“闻其声见其人”,对视频的需求显得越发强烈。

  网页上文字或图片资料一般采用文件完整下载的方式就可以正常访问,但是流媒体不同于传统的文件,文件常常是体积巨大,甚至有的仅是流的形式,无法迅速地完全下载。这种完全下载完成后才能进行播放方式不适合流媒体。可以看出流媒体具有三个特点:连续性(continuous)、实时性(real-time)、时序性(time-ordered)(即有严格的前后时序关系)。如何在互联网上提供便捷稳定的流,使用户能够所见即所得的边下载边播放,经过业界研究和实践,Real network, Microsoft等一批公司推出各自的实时流媒体的应用技术用于商用,流媒体应用从此也开始成为互联网上流量较大的一部分。此时支持流媒体服务的就是集中分布的专用流媒体服务器。

  根据CNNIC在公布的《第18次中国互联网络发展状况统计报告》国内经常使用在线影视收看及下载(在线电视)从2003年7月的9.0%提高到为2006年7月的37.3%,经常观看流媒体用户数量也从630万到了现在的4500万,在疆内主要流媒体服务提供网站丝路宽频的用户在线时长也比2003年提高了将近40倍,由此可以看出互联网用户对视音频资料的需求越来越强烈,互联网上流媒体资料同时也在以几何级数的数量高速增长,这些资料在传输过程中占用的流量也越来越大,但是流媒体服务提供商带宽增长速率远远没有达到用户对带宽的需求增长,越来越多用户通过采用ADSL或LAN等各种宽带高速接入方式接入Internet解决了“最后一公里”问题,但这些用户还是感觉访问互联网内容的速度愈来愈慢。在流媒体服务器侧带宽不能随着网络流量线性增长的情况下,这些互联网业务自身业务结构上的瓶颈问题就越来越明显地暴露出来。如何提高网民可感知的上网速度,提高用户上网质量,成为包括运营商、设备商思考的一个重要问题。

  以下对用户访问流媒体服务器标准过程作一说明:

图1 Internet 网络基本结构

传统方式用户访问流程:


图2 用户直接访问镜像站(抓包结果)

  (1)用户在自己的浏览器或播放器中输入或超链接至要访问的SP网站文件地址;
  (2)浏览器向DNS请求对该域名的解析;
  (3)本地DNS将请求发到SP的网站的授权DNS;
  (4)授权DNS将服务器的地址作为解析结果(IP地址)送给本地DNS;
  (5)本地DNS再将解析结果返还给用户;
  (6)用户得到网站的服务器IP地址后,就可以直接进行访问。

  我们可以清晰地看到传统的访问模式执行虽然简单,但当用户达到一定数量会严重影响访问效率和质量,主要存在以下几个问题:
  (1)传统的DNS解析,在将主机名转换为IP地址时,并不预先判断网络的状态,当到达服务器网络中断或服务器宕机时,来自用户的访问请求仍将被发往这台不能提供服务的主机,造成SP内容服务的中断;
  (2)另一个严重的隐患是访问效率无法提高。用户对同一网站的内容的访问必须经过许多路由器的转接,才能最终到达网站,中间需要跨过多个ISP网络。即使在理想情况下,由于路由器的每一次转发,都会造成一个延迟,虽然单个这样的延迟时间较少,但当网络规模很大时,中转数会大量增加,造成的延迟也会更加明显。同时根据连续性的原则不允许中间的任意路由器拥塞,当任何一个路由器故障或者拥塞都会造成访问的中断,严重影响用户访问的质量;
  (3)当用户到达一定量时,超越访SP网站负荷,将会导致SP服务器系统或是网络的过载而完全瘫痪,影响SP的服务质量。

  2. CDN及P2P技术阐述:
  解决以上问题,目前有两种较好的办法。一种是建设覆盖全网的内容分发网络(CDN),一种是采用P2P点对点技术分散网络流量。下面分别对这两种技术作阐述:
  2.1 CDN(Content Distribution/Delivery Network)内容分发网络
  CDN的历史可上溯到1998年,当时美国MIT研究人员最早提出了CDN的概念。在Internet发展初期网络上的信息主要以简单的文字和图片为主,为了使网民更快的访问, WEB 加速的设备出现了,主要通过在用户接入节点附近建立对于文字和图片内容的缓存。当互联网用户请求访问某个远端服务器上的网页内容时,用户的客户端实际上并不是到网页的所在的原网站或服务器,而是到已预先存储此内容的WEB加速设备(业界一般称之为“WEB cache” )上获取内容,此过程对于用户来说是完全透明的,通过以上过程用户就近访问数据,不需要跨越运营商的网络,减少了网络时延从而达到WEB内容加速的目的。随着各种以浏览文字和图片为主的互联网应用的进一步发展,这种WEB加速设备在网络上越来越多,多台WEB加速设备与提供完成进行组网,完成WEB内容的分发和调度,形成了一套完整的WEB加速网络,这就是CDN内容分发网络(Content Distribution/Delivery Network)的概念,此时的CDN网络服务的对象主要是一个以文字和图片为主要内容WEB。自从1999年,雅虎正式开始使用CDN服务后,各大门户网站纷纷开始使用CDN提高自己的服务质量;2000年,中国第一个专业CDN服务网络ChinaCache(蓝汛)正式运行,新浪成为其第一个CDN用户。
但从WEB业务和流媒体业务来看,他们两者对网络设备要求是不一样的,特别是对于Cache设备的技术要求是不一样的。在这种情况下,CDN技术也为了适应流媒体业务作出了改善,更多的公司参与流媒体CDN网络的开发及应用。由于使用既支持WEB业务的设备来支持大的流媒体的并发比较困难,同时由于基于IA(Intel Architecture)架构服务器的价格降低,国内包括思华、华为等一些设备厂商研发基于IA架构的支持流媒体业务的Cache设备推出了较为成熟的CDN/MDN产品:如华为MDN解决方案中的ES-200、ES-500的Cache设备,就是这种设备的典型代表。同时,原有的设备调度模式,因为其较低的命中率,并且在命中后,由于负载等原因可能不能提供稳定高质量的码流,就决定了流媒体网络需要更加智能的调度设备。在综合考虑DNS、负载均衡、重定向、支持多协议内容路由等方面的要求,设备厂商设计具有支持DNS方式、基于HTTP、MMS、RTSP重定向、DNS和重定向结合的调度方式RRS设备实现各种复杂调度策略。

   下面以疆内某互联网运营商CDN网络现状举例说明,CDN技术实现的基本原理。

 
图3 CDN网络结构图

  这个CDN系统由三个部分构成:中心内容平台、内容路由系统、边缘节点网络。扩展模块包括内容源管理(媒体资源库)、用户终端(媒体播放器)、SP接口和管理、用户认证、授权和计费(AAA)、内容版权管理(DRM)等。
  为解决用户访问问题,该运营商向各个SP提出了内容/媒体推送CDN平台为基础的解决方案。当用户访问已经使用了内容推送服务的SP网站时,其解析过程与传统解析方式的最大区别就在于不直接访问媒体服务器。

  用户访问过程简述如下:
  (1)用户访问SP/CP WEB页面,点击一媒体内容的URL;
  (2)用户终端请求 DNS对其所点击的URL进行解析;
  (3)DNS返回RRS(媒体调度服务器/重定向服务器)的IP地址;
  (4)用户通过HTTP协议访问RRS(媒体调度服务器/重定向服务器);RRS(媒体调度服务器/重定向服务器)对用户临近的ES边缘节点进行探测,(测试信息包括服务器负载,链路时延,影片分布等);
  (5) 根据RRS调度策略把用户的访问重定向到最适合该用户的ES;
  (6) ES通过对用户授权验证,向用户提供流媒体内容服务。

  下图说明了一个用户访问使用CDN/MDN服务的网站的完整过程。(如图4)


图4 用户访问CDN服务器流程示意图

  使用CuteSniffer 查看访问情况进一步表现以下结果。


图5用户访问CDN流程示意图(抓包结果)

  2.2 P2P (Peer-to-Peer)点对点
  P2P(Peer-to-Peer)点对点是一种分布式网络技术,打破了CDN传统的Client/Server (C/S)模式,使在分发过程的参与者共享他们所拥有的一部分资源,这些共享资源互相通过网络直接连接,每个结点既充当服务器为其他结点提供服务,同时也享用其他结点提供的服务,具备客户端和服务器双重特性。这些对等节点(Peer)能被其它对等节点(Peer)直接访问而无需经过中间实体。在此网络中的参与者既是资源(服务和内容)获取者(Client),又是资源(服务和内容)提供者(Server)。


图6 P2P网络模式和C/S网络模式

  利用P2P技术传输流媒体节目时,文件被分解为很多小的片段,每个用户下载存储若干片段再互相对接交换,最后每个用户都得到完整的拷贝,这种方法同时下载用户越多,下载速度越快而所有节目文件实际上被分散存储在用户终端中。

  目前的P2P流媒体系统网络结构模型分为纯分散型、半集中型、混合分散型三种。通常P2P网络主要由两类主机节点组成:流媒体分发服务器(源)和客户端(对等点)。源端程序将原始的流媒体数据按照P2P网络传输协议(如PPLIVE使用的Synacast协议)进行封装,并以P2P的方式分发到网络上。每一个电视频道对应一个源端程序。客户端程序启动后,会自动登陆到对应的流媒体分发网络内,寻找并连接到多个对等节点,然后根据双方的资源状况和网络情况,进行数据的上传和下载。通常情况下一台标准的企业级PC服务器可以支持多套电视节目。

  由于采用了P2P技术进行流媒体内容的分发,P2P直播系统对服务器端的要求比较低。通常情况下,每一个源分发服务程序只占用5%左右的CPU负载,20 MB的内存和10 Mb/s的网络带宽。相比传统的Windows Media流媒体网站,在一般情况下一台100 Mb/s服务器以单播方式提供一路节目的直播,最多可支持200~300个用户并发访问;当采用了P2P方式后,一台100 Mb/s接入互联网的普通PC服务器可以同时提供10路视频节目的直播,每一路节目均可以支持超过几千用户或是更多同时收视。


图 7 PPlive 2006年世锦赛截图


图8 用户使用PPLIVE建立连接图(抓包结果)

  从上图可以看出PPLIVE等P2P流媒体软件其数据来源于多个对等的用户,同时这些用户不仅仅来自疆内,此时流媒体的分发和访问不再受单个用户服务器的影响,而是来自用户附近的对等用户数量及可利用的带宽等综合指标。
  这种方式由于其节目源丰富。在国内应用增长迅速。从2004年开始出现采用P2P流媒体技术在互联网上进行电视直播的网站,到目前中国已有十多个网站使用各自发展的软件提供P2P流媒体直播业务,掀起了一股P2P Internet TV浪潮。主要Internet TV系统有:
  * PPLive网络
  * PPStream网络
  * QQ直播网络(已与新版QQ进行了捆绑)
  * 猫眼网络电视(猫扑网)
  * TVKoo网络(沸点网络电视)
  * Rox磊客网(原CoolStreaming、光芒传媒Roxbeam)
  * Tvants网络(电视蚂蚁)
  * Gridmedia网络(清华大学)
  * Uusee网络(悠视网)
  * Mysee网络(美视网)
  目前P2P流行的流媒体直播平台的主要性能如下:
  (1)放的电视节目的码率一般为300~500 kb/s,352×288分辨率,有些频道已经开始提供800 kb/s的码率,达到了准DVD的画面质量;
  (2)数据缓冲时间少于1 分钟,可以给用户提供稳定、清晰的直播电视节目或影视节目轮播;
  (3)可靠性好由于音视频源来自多个对等节点一般不会因为单个节点失效出现播放停顿的问题;
  (4)连接方便,大部分软件具有完善内网穿越功能,从而保障内网用户的使用。 
  目前P2P流媒体电视直播普遍采用计算机终端,由于仅在用户计算机中存储的内容仅几分钟,使用内存即可完成数据临时存储,不需要使用硬盘,可以看出这种对硬件的需求有可能制造廉价的机顶盒终端。
  可以看出P2P方式有效地解决了用户不断增长给流媒体服务器带来的压力的问题,同时由于用户的增加反到加强了P2P方式的健壮性,目前利用P2P方式在直播节目中有较大的优势。

  3. CDN与P2P的对比:
  3.1 CDN与P2P技术实现流媒体分发对比
  CDN作为目前较为成熟的流媒体分发手段属于分布式C/S结构,主要用于各类直播和点播业务,同时也能够兼容实现作为WEB cache 的功能,目前由运营商和SP主导建设,有较为清晰的业务模式,而P2P采用分布式对等结构,在进行流媒体直播方面有较大的优势,同时在文件交换中它也给互联网带来了前所未有的便捷。但从业务可运营性上来说,除了广告以外暂时没有别的直接盈利手段,业务模式不明确。
  相对来说CDN在可靠服务质量保证,可用性,可管理性, 可运营能力,节省网络资源具有明显的优势,P2P在成本、扩展性、全网可靠性、和支持突发访问上具有良好的特点。同时两种技术也都存在明显的不足,CDN投资较高,管理复杂,受媒体格式影响大互通性不好,在处理大文件时分发效率很低,而P2P方式在全网QoS上缺乏必要的保证,同时由于天生版权的缺陷无法被内容提供商接受,并且在用户未达到一定数量时会出现该区域内用户均缺少某个关键片断的极端情况,造成流媒体播放中断。但P2P技术使用得当将有效的加速分发的渠道,并避免服务器瓶颈;用得不好则成为浪费带宽、盗版泛滥的平台。国内外都曾出现过互联网服务提供商“封杀”P2P的事件。在目前的商业模式下,如何将内容提供商和互联网服务提供商纳入P2P利益链条当中,已成为P2P技术市场发展的一大考验。

  4. 总结 
  目前结合两种技术的优点,一种新型的融合模型在讨论过程中,利用客户端按照纯分散型结构模型构建一个自组织、可扩展性强的P2P网络,同时,加入CDN中代理缓存服务器,使其相当于一个中心节点,在使用一些集中式的控制策略后可以明显地提高分发效率。同时CDN可参考P2P分包的形式,仿照存储技术中的RAID技术将内容分割成多个子片,分布在不同的peer节点,客户端获取该内容时,可以通过多条路径同时从这些peer节点下载对应节目子片断,并在本地将这些节目子片断重新拼装来实现。通过这样还提高了内容的可用性。


图9 用户使用CDN-P2P融合方式建立连接图

  如图9所示融合P2P方式的CDN内容分发网络,利用CDN网络的ES边缘节点作为存放流媒体完整片断的种子用户,同区域内的客户端通过共享机制,共同实现对流媒体的分发,采用此方式既通过了P2P技术有效保证了各个客户端采用就近分享数据,降低了跨域访问带来的不确定性,又通过CDN的ES边缘节点上的种子文件保证了数据的完整性。
  随着互联网技术的发展及网络的日益拥塞,既需要建立一个有秩序和有规则的互联网环境,又要满足广大用户对流媒体信息的迫切需求,在这样的环境下,通过两种技术的结合或融合应该会产生更有效、更完善的内容分发技术。

相关参考文献及统计数据来源
1) 中国互联网络信息中心CNNIC 《第18次中国互联网络发展状况统计报告》
2)ChinaCache CDN 技术白皮书 2005年6月 ,p4
3)华为MDN流媒体分发网络产品白皮书 , p10
4) Simon Pietro Romano Content Delivery Networks (CDN) Peer-to-Peer Networks (P2P)
5) Dongyan Xuyz_, Sunil Suresh Kulkarniz, Catherine Rosenbergz, Heung-Keung Chaiz A CDN-P2P Hybrid Architecture for Cost-Effective Streaming Media Distribution ,p2-4

【审核:陶智】

CDN及P2P技术在流媒体网络中的应用相关推荐

  1. 虚拟化技术在企业网络中的应用

    2019-11-试题二 虚拟化技术在企业网络中的应用 虚拟化技术已经广泛应用于各类应用中,结合自己参与设计的系统加以评估,写出一篇有自己特色的论文.请围绕"虚拟化技术在企业网络中的应用&qu ...

  2. 浅谈流媒体技术在无线网络中的应用

    原文地址:http://info.broadcast.hc360.com/2009/10/100913135646.shtml 流媒体即媒体内容通过数据网络传送到客户端的同时,在客户端播放的一种机制. ...

  3. CDN,P2P,PCDN的区别?

    如何来有效解决网络卡顿的问题,这就是我们SwarmCloud要解决的问题啦,那么为了大家能更好地了解SwarmCloud的网络加速技术,本篇文章为大家介绍一下与网络加速有关的几个重要概念,一起了解一下 ...

  4. rtmp协议在p2p流媒体系统中的应用(论文转载)

    ZHANG Chong, YANG Can,  YANG Ze-quan, HUANG Hui -ze (South China University of Technology, Guangzhou ...

  5. 流媒体技术在宽带网络的应用与发展

    流媒体技术在宽带网络的应用与发展 作者/来源:中国电信 梁晓辉 游志胜 摘 要 文章介绍了流媒体的概念与特点,深入分析了流媒体系统及其关键技术,研究了流媒体技术在宽带网络中的应用及在国内外的发展情况, ...

  6. 直播P2P技术1-技术入门

    直播P2P技术1-技术入门 1. 直播协议 直播协议主要有RTMP,HLS,MPEG-DASH,RTSP,HTTP-FLV等.每种协议都各有长短,比如RTMP延迟低,但诞生于Adobe,依赖于Flas ...

  7. 关于CDN和DNS技术的解析以及搭建智能DNS的方法

    1.1CDN的概念阐释 CDN的全称是Content Delivery Network,即内容分发网络.CDN是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡.内容分 ...

  8. P2P技术原理及应用(2)

    在Gnutella网络中存在以下问题: 冗余消息多,对带宽的消耗存在一定的浪费.Gnutella网络协议采用泛洪式(Flooding)消息传播机制,这种消息传播机制产生了呈指数级增长的冗余消息.据统计 ...

  9. Survey | 深度学习方法在生物网络中的应用

    作者 | 金淑婷 单位 | 厦门大学 今天介绍厦门大学刘向荣老师团队在Briefings in Bioinformatics上发表的一篇综述论文,该论文首先介绍了应用在网络数据上的深度学习几种典型的模 ...

最新文章

  1. SAP MM Overall Level 审批的采购申请中行项目里的成本中心必须是同一个!
  2. php 文件移动到文件夹,PHP-将文件移至服务器上的其他文件夹
  3. 查看TensorFlow的版本和路径
  4. group by是否会用到索引_平时工作中经常用到的SQL,这些你都知道吗?
  5. 机器如何区分和判定指令和数据
  6. Power Automate Desktop概览
  7. UGUI滚动列表ScrollView使用注意点
  8. java se开发_JAVA_SE基础——3.Java程序的开发流程
  9. Centos7安装、卸载、使用Docker
  10. html页面ajax提交数据,ajax请求提交form表单
  11. [转载]C++ 中有符号类型到无符号类型的转换(C和C++程序员面试秘笈P9面试题6)...
  12. 详解IOS开发应用之并发Dispatch Queues
  13. wpsoffice安卓历史版本_wps office移动版_wps office手机版下载-太平洋下载中心
  14. 用拉普拉斯变换求零状态响应_什么是UPS?为什么用UPS?关于UPS电源的知识都在这里!...
  15. 计算机网络教室使用,计算机网络教室使用管理制度
  16. roadrunner中文文档(四)app服务器
  17. 计算机体验分数,Windows 8 计算机体验评分(体验指数)在哪
  18. Android Studio 默认keystore 以及自定义keystore
  19. 纺织ERP系统_纺织ERP软件_纺织面料系统
  20. ppt怎么把图片做成翻书效果_如何用PPT实现翻书效果?

热门文章

  1. 【Div+CSS笔记】 0x02 css入门
  2. IE 在中国的春运刷票中又败了,Chrome扩展插件crx时代来临
  3. 屏蔽网页中一些快捷键
  4. 成功解决微信屏蔽网页跳转到app(apk)下载
  5. C++网络编程学习:服务端多线程分离业务处理高负载
  6. Java 实现 QQ 登陆
  7. 深度神经网络简单介绍
  8. 以前学过编程,那么去学python改怎么副业赚点小钱?
  9. linux 推荐分区方案
  10. Yocto系列讲解[理论篇]31 - Linux kernel相关的任务