APP下载

基于P2P网络的流媒体直播技术研究

2010-08-15李如平

铜陵学院学报 2010年1期
关键词:服务器传输节点

李如平

(安徽工商职业学院,安徽 合肥 231100)

基于P2P网络的流媒体直播技术研究

李如平

(安徽工商职业学院,安徽 合肥 231100)

随着计算机网络技术的快速发展和个人计算机性能的增强,流媒体直播系统在互联网上广泛应用,但传统的基于C/S模式的流媒体直播系统存在服务能力瓶颈,很难适应大规模的应用。为此通过将P2P网络技术与流媒体技术相结合,充分利用各个节点的资源,减轻了流媒体服务器的压力,使得基于P2P网络的流媒体服务具有了更好的扩展性和实用性。

P2P;网络;流媒体

近年来,随着互联网业务飞速发展,网络影视在互联网应用中已相当普遍,根据2007年6月中国互联网信息中心第二十次中国互联网络发展状况调查统计报告,在互联网的各种功能中,网络影视的应用使用率达到了61.1%。由此可见,网络流媒体视频直播有着良好的发展前景和商业价值。最初,多媒体文件需从服务器上下载后才能播放,但这样无法实现数据同步,限制了人们在互联网上使用多媒体数据进行交流。为了解决这些问题,人们把P2P技术引入到流媒体传输中从而形成了P2P流媒体技术,开创了在网络上传播音频和视频的新时代。

一、P2P网络技术

(一)P2P概念

P2P是Peer to Peer的简写,中文翻译为对等互联或者点对点技术,P2P网络一般也称为对等网络。在P2P网络中,节点之间没有服务器与客户机之分,各节点之间是平等的关系,可以直接相互通信,共享计算和存贮能力。P2P是一种分布式网络,网络的参与者共享他们所拥有的一部分硬件资源,包括处理能力,存储能力,网络连接,打印机等,这些共享资源需要由网络提供服务,能被其它对等节点直接访问而无需经过中间实体.在此网络中的参与者既是资源提供者,又是资源获取者。P2P打破了客户机/服务器(C/S)模式,在网络中每个节点的地位平等,每个节点既充当客户,共享其他节点提供的服务,又充当服务器,为其他节点提供服务和内容。

(二)P2P技术特点

P2P技术的特点体现在以下几个方面:

1.非中心化:网络中的资源和服务分散在所有结点上,信息的传输和服务的实现都直接在节点之间进行,可以不需要中间环节和服务器的介入,避免了可能的瓶颈。P2P的非中心化基本特点,带来了其在可扩展性、健壮性等方面的优势。

2.可扩展性:在P2P网络中,随着用户的加入,不仅服务的需求增加了,系统整体的资源和服务能力也在同步地扩充,始终能较容易地满足用户的需要。整个体系是全分布的,不存在瓶颈,理论上其可扩展性几乎是无限的。

3.高性价比:性能优势是P2P被广泛关注的一个重要原因。随着硬件技术的发展,个人计算机的计算和存储能力以及网络带宽等性能高速增长。采用P2P架构可以有效地利用互联网中散布的大量结点,将计算任务或存储资料分布到所有结点上。利用其中闲置的计算能力或存储空间,达到高性能计算和海量存储的目的,从而实现用更低的成本提供更高的计算和存储能力。

4.健壮性:P2P架构天生具有耐攻击、高容错的优点。由于服务是分散在各个结点之间进行的,部分结点或网络遭到破坏对其它部分的影响很小。P2P网络一般在部分结点失效时能够自动调整整体拓扑,保持其它结点的连通性。

5.网络负载均衡:P2P网络环境下由于每个节点既是服务器又是客户机,减少了对传统C/S结构服务器计算能力、存储能力的要求,同时因为资源分布在多个节点,更好的实现了整个网络的负载均衡。

6.隐私保护:在P2P网络中,由于信息的传输分散在各节点之间进行而无需经过某个集中环节,用户的隐私信息被窃听和泄漏的可能性大大缩小。目前解决互联网隐私问题主要采用中继转发的技术方法,从而将通信的参与者隐藏在众多的网络实体之中。在传统的匿名通信系统中,实现这一机制通常依赖于某些中继服务器节点,而在P2P中,所有参与者都可以提供中继转发的功能,因而大大提高了匿名通讯的灵活性和可靠性,能够为用户提供更好的隐私保护。

二、流媒体技术

所谓流媒体技术,就是将完整的影像和声音数据经过压缩处理后保存在网站服务器上,用户可以边下载边获取信息,从而无需将整个压缩文件下载之后再观看的网络传输技术。在网络上传输视频信息,最简单直接的方式,就是把视频内容按某一格式采集、编码,存放在文件中,然后把文件通过一般的网络传输协议传输到接收端,再在接收端的机器上解码并播放。但是这种方式有它的缺点:1.必须等整个视频文件全部传输完毕,才能开始播放文件。由于视频文件一般都较大,在网络带宽还很有限的情况下,下载整个文件往往需要很长的时间;2.不适合现场直播的形式;3.占用很大的存储空间。流媒体技术出现正好解决了上述的缺点,因此,流媒体技术得到快速发展,流媒体业务也被认为是未来高速宽带网的主流业务。

(一)传统流媒体分发技术

传统的流媒体系统采用由中心服务器群直接为每个终端宽带用户提供流媒体服务,是基于C/S模式的流媒体系统。随着互联网的普及,流媒体视频用户迅速增加,由于流媒体服务所要求的高带宽、低时延等特性,服务器的资源,如带宽、内存大小很快就会被消耗完,成为系统瓶颈所在,导致系统的可扩展性极差。针对这些问题,业界提出过两个解决方案:应用CDN(Content Delivery Network,即内容分发网络)技术和IP组播技术。

CDN工作原理是广泛采用各种CDN服务器,将这些服务器分布到用户访问相对集中的地区或网络中,在用户访问内容时,全局负载均衡技术将用户的访问指向到离用户距离最近的工作正常的CDN服务器上,由CDN服务器直接响应用户的请求。CDN技术虽然提高了用户访问内容的性能,而且有效减轻了中心设备和骨干网络的压力,然而,它也带来了许多诸如缓存一致性和负载均衡等管理难题。

IP组播是在互联网上对一组站点进行数据传送,这一组站点是动态形成的,每一个站点都可以动态地加入或者退出这个组。IP组播技术实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。然而在实际应用中,IP组播的服务模型和协议存在着一些问题,不能很好的适应商业应用的需求。

(二)P2P与流媒体技术的结合

P2P技术引入到流媒体传输中从而形成了P2P流媒体技术,该方法有两方面的优点。第一,这种技术并不需要复杂的互联网路由器和网络基础设施的支持,因此性价比高且易于部署;第二,在这种技术中,利用了P2P网络的优点,用户相互共享各自拥有的视频数据,既是播放者,又是视频数据提供者,共同参与系统的服务,整个系统的服务能力随着用户数量的增加而增加,具有可扩展性。

基于P2P技术的流媒体系统能够更加有效地利用每个节点的能力,同时每个节点可以从多个节点获取数据,因而采用该技术的视频直播系统能有更强的扩展性和更可靠的质量保证。在流媒体直播服务中,用户只能按照节目列表收看当前正在播放的节目。在直播领域,交互性较少,技术实现相对简单,因此P2P技术在直播服务中发展迅速。

三、流媒体直播实现原理及协议

(一)流媒体直播实现原理

基于互联网的流媒体直播系统包含三个核心部分,直播源、流数据网络、传输和回放。直播源负责流传输前的预处理工作,即进行音视频数据的采集和编码工作,对原始的音视频信号进行压缩编码并转化为适合网络传输的音视频流格式。流数据的网络传输是视频直播系统的重中之重,它决定着系统的用户规模和用户所接收到的流媒体数据的质量。网络传输的主要作用就是将直播源产生的压缩后的音视频流实时地传送到每个用户节点。回放是指用户节点在接收到流数据之后,将压缩的音视频数据进行解码播放。简单地说,流媒体直播实现原理就是直播源通过采用高效的压缩算法,在降低文件大小的同时伴随质量的损失,让原有的庞大的多媒体数据适合流式传输,然后通过架设流媒体服务器,修改MIME(Multipurpose Internet Mail Extensions)标识,MIME中文意思是多功能互联网邮件扩充服务,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息是哪种类型的文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。然后利用各种实时协议传输流数据,客户端接收到流数据后进行解码回放。

(二)流媒体直播传输协议

1.RTP/RTCP协议

实时传输协议(Real-time Transport Protocol,RTP)和实时传输控制协议(Real-time Control Protocol,RTCP)都是基于IP的应用层协议。RTP为实时音/视频数据提供端到端的传送服务,包括有效载荷类型标识、序列标号、时间标签和源标识,可以提供时间信息和实现流同步。

2.RTSP协议

实时流协议 (Real-time Streaming Protocol,RTSP)是由RealNetWorks和Netscape共同提出的一个应用层协议。它可以在媒体服务器和客户端之间建立和控制连续的音/视频媒体流,协同RTP等更低层协议一起来提供基于互联网的整套流式服务。RTSP的目的是为流媒体实现多点传送和以点播方式单一传送提供健壮的协议。RTSP利用流技术把数据分成许多包,包的大小由客户端和服务端的实际带宽决定,当客户端接收到足够的数据包时,用户不需下载整个媒体文件就可以开始播放流媒体。因为播放器在播放一个包的同时,解压另一个包并下载第三个包。流媒体数据可以是输入的实况信息,也可以是存储的视、音频片段。通过RTSP协议,服务器端可以跟踪流媒体传输的时间、地址和方式。RTSP增加了对流媒体的控制请求,能恢复来自媒体服务器的流媒体。

RTSP在媒体服务器和客户端之间建立和控制连续的音频/视频媒体流。当客户端向媒体服务器请求连续的媒体数据时,媒体服务器负责播放和录制服务。RTSP像是服务器和客户端之间的“网络远程控制”。

四、P2P流媒体直播模型

目前P2P流媒体直播系统主要有下列两类模型:

(一)基于树状拓扑协议及扩展的模型

在基于树状模型的P2P流媒体直播系统中,节点被组织成一个树状逻辑覆盖网络,称为多播树。基于树状拓扑协议及扩展的模型把参与多播的节点组织成一棵应用层多播树,树的父节点负责为子节点传送数据。这类模型首先构建一个数据的分发树,接着节点会发现那些树状拓扑中与其不相邻的节点,进而与它们建立控制信息通道,形成控制拓扑结构。

在基于树状拓扑协议及扩展的模型的P2P流媒体直播系统中,关键的问题是多播树的构造。主要有两个问题:

1.树的高度问题。如果树的高度太高,某些节点离根节点太远,数据的延势必会增加,从而影响播放效果。但树的高度也不能太低,太低延时虽然小了,但根节点的负担加重了,很明显,当树的高度为1时,系统实际上退化为一个C/S系统,所有的负荷都加到了根节点上。

2.树的快速修复问题。由于P2P系统具有高度动态性,节点的行为是不可预知的,可能随时加入系统,也可能随时退出,特别是当一个非叶子节点退出时,其所有的子节点都将受到影响。所以构建的多播树还需具有快速修复能力。

目前,基于树状模型的P2P流媒体直播系统主要有PeerCast、Zig-Zag、Splitstream、CoopNet等。

PeerCast是美国Stanford大学Peer-to-Peer研究小组的研究成果。它采用一个简单的单根树结构,是树状组播模型中最简单的模型。PeerCast采用简单的单树根结构将节点组织起来,其中树的父节点给子节点提供服务。为了优化节点间的传输延时,在PeerCast中通过限定父节点所能服务的节点个数来实现。在PeerCast中,节点的加入和离开采用简单的重定向技术,易于实现,但是这样也易造成树的不平衡,使得距离根节点越远的节点,数据的时延就越大,所以,就要求构建的组播树的深度应该尽可能的短。另一方面,每个节点的有限输出带宽限定了节点的宽度,因此,构建的组播树应该使树的深度与宽度达到有效的平衡。

Zig-Zagt模型也是树状组播模型的一种。它构建了一棵以服务器为根的应用层组播树。通过设定这棵树的节点的个数和层次,达到减小端对端时延的目的。大部分组成员位于分层结构的底层,只和少量固定数目的节点存在联系,这样就大大降低了大部分组播成员的处理开销。在Zig-Zag模型中,将节点之间的逻辑关系和连接关系分开进行管理,每个节点与相邻层的交叉节点交换数据,从而提高了整棵树的健壮性。但是,在Zig-Zag模型中,逻辑关系和连接关系之间的映射和网络的动态变化所带来的维护开销过高。

(二)基于Gossip协议的模型

基于Gossip协议模型的基本思想是:一个节点随机地选择一组节点发送新产生的消息,收到消息的那些节点使用同样的方式把消息发送出去,直到所有的节点收到消息为止。基于树状拓扑协议及扩展的模型定义了节点与节点之间的关系,子节点从父节点获取数据。在基于Gossip协议的系统模型中,节点之间不需要构造复杂的拓扑关系,也没有确定的父节点。在这种模型中,每个节点通过Gossip协议来维护系统中其它部分节点的视图,通过一定的调度算法在节点之间实现数据交换。数据的传输采用拉模式,即节点首先向另一个节点发出请求,另一节点再根据请求发送数据,在这种系统中,通常需要比较大的缓存,系统的启动延迟相对比较大。但是,因为每个节点的数据来源并不依赖于某个特定的父节点,所以系统有更强的健壮性。

DONet(Data-driven Overlay Network)是一个典型的基于Gossip协议的模型。DONet的核心思想非常简单:每个节点周期性的会跟其伙伴节点交换数据信息,它可以从一个或更多的伙伴节点处获得需要的数据,也可以向其他伙伴节点提供已有的数据信息。这种模型有三个显著特点:

1.易于实现:DONet模型不需要构建和维护更为复杂的网络结构;

2.高效性:数据转发是动态过程,数据的传输方向并不固定,所以每个节点动态地和其他节点交换缓存信息,并根据缓存信息交换节点之闻的媒体数据;

3.鲁棒性和容错性:DONet构造的伙伴关系可以在多个提供者之间适时调整和快速转化。

DONet的系统主要包含三个模块:(1)节点的管理:负责维护系统中部分其它节点的视图;(2)伙伴管理:和其它节点建立协作关系;(3)数据调度:负责动态的和其它节点交换数据。在DONet中,每个节点既是数据的接收者,也是数据的提供者。服务器是一个特殊的节点只作为数据的提供者,称为源节点。

通过对PeerCast、Zig-Zag和DONet三个典型系统的分析,可以发现它们都各有优缺点。PeerCast、Zig-Zag都采用树作为数据传输的路径,但它们在扩展性和应对节点的高动态性方面都很差。因而,采用树结构这种单路径传输机制,使得系统中很多节点的资源不能充分发挥作用,且节点之间的带宽不高,仅仅从一个节点获取数据很难满足视频直播这种带宽要求较高的应用。采用树结构进行传输,也经常因节点的变动而导致其子树节点播放质量的降低。但同时也应注意到树状结构系统低延迟,节点之间同步性好的优点,对于实时性和同步性很高的系统也是一种很好的解决方案。因此,上述两个树状系统适合于用户数不太多,网络环境好且媒体带宽需求低的应用。DONet系统采用网状的覆盖网结构,能很好地利用每个节点的能力,其系统的扩展性和质量等各方面都取得了较好的效果。但是其采用Gossip协议来构造覆盖网,造成控制消息的开销比较大,而且其数据分片较大不利于更加充分地利用各个节点的能力,其调度算法效率也不是很高,这些都是需要今后不断改进的地方。

五、结束语

由于P2P直播系统在大规模视频播放上强大的功能,满足了互联网视频播放广泛的需求,近年来也得到了很大的发展并具有广阔的应用前景。当前对于P2P流媒体直播技术的研究已经取得了一定的成果,商业应用上也出现了许多基于P2P的流媒体视频直播系统,如目前在互联网上广泛应用的PPLive、PPstream以及腾讯公司的QQLive等。随着P2P流媒体技术的日渐成熟,P2P流媒体技术将广泛用于互联网多媒体新闻发布、在线直播、网络视频广告、电子商务、视频点播、远程教育、网络电台、实时视频会议等互联网的信息服务领域。

[1]彭凯,武娟,杨宗凯,唐宏.基于P2P的流媒体直播技术研究与展望[J].计算机科学,2009,36(1):10-15.

[2]廖宏越,赵蓝兰,周武章.流媒体协议的研究与实现[J].计算机与数字工程,2007,35(4):106-108.

[3]罗建光,张萌,赵黎,杨士强.基于P2P网络的大规模视频直播系统[J].软件学报,2007,18(2):391-399.

[4]刘宇翔,鲁士文.基于流式传输模式的可靠多播协议[J].计算机工程,2006,(6):139-142.

[5]龚海刚,刘明,谢立.P2P流媒体传输的研究进展综述[J].计算机科学,2004,31(9):20-22.

[6]刑小良.P2P技术及其应用[M].北京:人民邮电出版社,2008.

[7]成培.P2P对等网络资源定位技术的研究[D].长沙:湖南大学,2008.

[8]杨海滨.基于P2P流媒体直播技术的研究和实现[D].南京:南京理工大学,2008.

[9]吕燕乐.P2P与组播技术在流媒体中的研究与应用[D].成都:西南交通大学,2008.

TP393

A

1672-0547(2010)01-0080-03

2010-01-02

李如平(1973-),男,安徽肥东人,安徽工商职业学院电子信息系讲师,硕士,研究方向:计算机应用技术、信息管理。

猜你喜欢

服务器传输节点
CM节点控制在船舶上的应用
混合型随机微分方程的传输不等式
牵引8K超高清传输时代 FIBBR Pure38K
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
通信控制服务器(CCS)维护终端的设计与实现
关于无线电力传输的探究
中国服务器市场份额出炉
支持长距离4K HDR传输 AudioQuest Pearl、 Forest、 Cinnamon HDMI线
得形忘意的服务器标准