1、1基于 P2P 的流媒体技术现状分析【摘要】近几年来,对等网技术(Peer to Peer, P2P)在对等计算、资源共享、应用层组播等方面得到了越来越多的关注。本文分别对P2P 技术和流媒体的基本概念进行介绍,并通过对 P2P 流媒体数据分发模型各自的特点和不足进行对比,对未来大规模网络部署 P2P 流媒体问题进行了探析。 【关键词】P2P 流媒体 树状拓扑协议 Gossip 协议的模型 P2P 网络是最近几年兴起的网络技术,相对于传统的 C/S 模式,P2P模式一个非常显著的特点就是节点无需依赖集中式服务器资源,各节点可以直接进行通信。每个节点具有相同的地位,既可以请求服务,也可以提供服务
2、,同时扮演着 C/S 模式中服务器和客户机的双重角色,甚至还可以具有路由器和高速缓存的功能。 一、 P2P 概述 P2P 的全称是 Peer-to-Peer,在英语里 peer 的意思是“(地位、能力等)同等者、同事、伙伴” ,体现一种平等的关系,所以 P2P 网络一般也称为对等网络。在 P2P 网络中,节点之间没有服务器与客户机之分,各节点之间是平等的关系,可以直接相互通信,共享计算和存贮能力。 P2P 是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源(处理能力、存储能力、网络连接能力、打印机等) ,这些共享资源需要由网络提供服务和内容,能被其他对等节点直接访问而无需经过中2间实
3、体。这种网络中的参与者即是资源(服务和内容)提供者(Server) ,又是资源(服务和内容)的获取者(Client) 。 P2P 打破了传统的 Client/Server ( C/S )模式,在网络中每个节点的地位都是对等的。每个节点即充当服务器,为其他节点提供服务,同时也享用其他节点提供的服务。 二、流媒体的概念 流是用于描述媒体文件的名词。流式传输表示声音、影像或动画等时基媒体由音视频服务器向用户计算机的连续、实时传送。在采用流式传输的系统中,文件不是一次读取发送所有的数据,而是首先在线路中发送音频或视频剪辑的第一部分。在第一部分开始播放的同时,数据的其余部分源源不断地流出,及时达到目的地
4、供播放用。为保证在阻塞造成网络速度下降的情况下播放不会发生中断,播放器在开始播放前先采集小部分所谓缓冲的预备数据。如果数据流动速度保持足够快的话,播放是连续的。无论文件长秒还是长分钟,用户只是在观看文件前等上几秒钟生成这个缓冲数据。流式传输不仅使启动延时成十倍、百倍地缩短,而且不需要太大的缓存容量。流媒体简单来说就是应用流技术在网络上传输的多媒体文件,而流技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器后才可以观看的网络传输技术。该技术先在使用者端的电脑上创造一个缓冲区,于播放前预先下载一段资料作为缓冲,当网路实际连
5、线速度小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,避免播放的中断,也使得播放品质得以3维持。流媒体数据流具有连续性、实时性、时序性三大特点,具有严格的前后时序关系。 三、P2P 流媒体数据分发模型 目前 P2P 流媒体数据分发模型主要可分为 2 类:基于树状拓扑协议及扩展的模型和基于 GOSSIP 协议的模型。 1.基于树状拓扑协议及扩展的模型 在基于树状拓扑协议及扩展的模型中,拓扑结构上的节点有明确定义的关系,即“父节点一子节点”关系,树的根节点是源节点。该模型又分为单组播树模型和多组播树模型。 数据分发 在单组播树结构中,数据是通过一棵组播树传输的。树的根节点是组播
6、源,每个非叶节点从自己唯一的父节点得到全部数据,再复制转发给自己所有的子节点,叶节点只从父节点得到数据,不再复制转发。当组播树中的非叶节点退出时,它的子节点将暂时得不到数据,这时系统需要尽快重建连接,保证所有节点都在组播树中。 典型单组播树模型及缺陷 在单组播树中,节点离根节点越远,数据的时延就越大,因此,树的深度应该尽可能小,另外每个节点的有限输出带宽限制了节点的宽度,理想的组播树是在深度和宽度之间能够有效地平衡。ZIGZAG 模型是典型的单组播树模型,它定义了一整套完整的构建规则,保证了树的深度维持在 O(log N) , N 为单组播树中的节点数,能够有效地构造一棵平衡的组播树。ZIGZ
7、AG 模型可能是最自然的方法,不需要复杂的视频编码4算法,结构优化容易,但 ZIGZAG 模型还是存在单组播树不可回避的缺陷:每个节点组播的完成依靠覆盖单播树,与单播树一样,中间节点需要转发数据到它的子节点,而叶子节点无须做这项工作,在图 3 中以实线箭头和虚线箭头区分。通过这种方式构建多个组播树的视频直播流媒体网络方案都建立在多表述编码(MDC)的基础上,采用 MDC 编码的媒体流,分成多个层分别传输于多棵树上,每个节点从它所在的多棵树上获取数据,然后再将各层数据整合,还原成可以播放的媒体数据。树的构造要求每个节点只在某棵树中为中间节点,而在其他的树中都为叶子节点。因此,多组播树的主要缺陷是
8、这种设计很难优化,即使是在中心拓扑下也很困难,很可能使整个 P2P 网络处于异常复杂的环境中。 2.基于 Gossip 协议的模型 在基于 Gossip 协议的模型中,所有节点都处在一个无规则的网状结构中,节点随机地给系统中的部分节点发送消息,每个接收到消息的节点继续向其他节点发送消息,重复这个过程,直到消息被发送到系统中的所有节点,并通过 Gossip 协议维护系统中其他部分节点的视图,通过一定的调度算法在节点之间交换数据,每一个节点既是数据的接收者又是数据的提供者。 五、结束语 覆盖网络拓扑的组织对于 P2P 流媒体直播系统的性能有着决定性的影响。本文主要根据覆盖网络拓扑组织方式的不同,全面介绍了各种 P2P流媒体直播技术方案,并结合流媒体直播应用的特点对其进行分析和比5较,以此为基础提出有待于进一步研究的主要问题和挑战。 参考文献: 1宋启昌,胡君,王栋.基于区域化的 P2P 流谋体直播系统模型J.计算机工程,2010, (1). 2彭凯,武娟,杨宗凯,唐宏.基于 P2P 的流媒体直播技术研究与展望J.计算机科学,2009, (1). 3林锋,商玮,石东贤.基于宽带城域网的 P2P 流媒体直播模型与方法J.计算机技术与发展,2012, (1).