- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
PeerCast系统介绍
PeerCast系统介绍
概述
PeerCast[1,2]是开源的P2P流媒体软件,P2P流媒体与传统的流媒体不同,没有集中的中央流媒体服务器,任一节点都可作为种子节点进行广播,每个节点在作为Client从别的节点接收媒体数据进行播放的同时,也要作为Server向其它节点提供服务,其服务质量随着整个网络节点数目的增加而提高,与传统的流媒体服务器相反。
目前PeerCast仅支持广播,暂不支持VOD形式的点播。支持的流媒体格式:MP3、WMA、 AVS、WMV 和NSV等。
本文主要介绍PeerCast的系统结构、工作流程、P2P算法以及存在的问题。
系统简介
系统结构
PeerCast系统结构
系统主要由流媒体服务器(提供广播源)、PeerCast(广播/中转)、播放器(播放PeerCast获得的媒体数据)和Yellow Page( 管理和显示频道信息) 组成。
Yellow Page包括PeerCast(不同与其他PeerCast,整个系统只有一个,负责组织、管理PeerCast之间的频道信息通讯)和频道Web页面(显示频道信息)两部分。
频道以广播源节点为根组成一个树状结构。
网络协议
PeerCast网络协议
目前支持的流媒体协议有HTTP、MMS和RTSP,媒体源和广播的PeerCast之间使用这些协议连接。另外在播放器和本地PeerCast之间也使用和媒体源相同的协议,从本地PeerCast获取收到的数据、播放。
PeerCast之间使用PCP协议(自定义协议),数据和路由信息均通过PCP协议传递,PCP协议是在TCP/UDP传输层之上的应用层协议,目前系统传输层使用的是TCP协议。
Yellow Page有2部分组成:PeerCast和Web页面,PeerCast管理整个系统PeerCast之间的频道信息通讯,Web页面从PeerCast的特定端口读取以XML形式组织的频道信息,并将信息解析为HTML,发布在Web页面。
频道组织结构
PeerCast频道组织结构
PeerCast频道组织采用了树状结构,以频道源为根节点组成了应用层组播树。频道源通过Tracker实现对外路由信息传递,频道源将频道信息广播到Tracker,Tracker将收到的信息传递到YP,因此,YP有全部频道的路由信息。Tracker用于连接广播源和Yellow Page,由网络中相对比较稳定的节点(比如广播源)组成。
工作流程
频道广播
频道广播
创建频道,生成一个唯一的用16个字节表示的频道ID,分配频道缓冲区;
与Media Server建立网络连接并开始接收数据;
连接到YP获得Tracker;
连接Tracker,发布频道信息(ID和IP等);
Tracker将收到的频道信息广播到YP;
Yellow Page的Web页面访问PeerCast(Yellow Page)获得频道信息,以HTML形式发布。
频道中继
频道中继
与上游节点(流媒体服务器或者别的PeerCast节点)建立网络连接,并接收频道的媒体数据包;
将接收到的数据包放入该频道的循环缓冲队列;
接收到下游节点(别的PeerCast节点或者本节点的媒体播放器)的连接请求后,向其发送循环缓冲队列中的数据包。
频道播放
频道广播
从YP的Web页面看到某个频道,点击播放,系统将播放参数传递给PeerCast,PeerCast向YP查询频道的位置;
YP根据路由表和路由选择算法返回多个频道源(可能是Relay)给PeerCast;
与上游节点建立网络连接,将接收数据包放入循环缓冲队列;
PeerCast调用Player,将收到媒体数据映射为包含URL的媒体文件,并将地址传给Player,Player通过此地址连接PeerCast,获取循环队列中的数据。
算法原理
路由协议传递
路由协议传递
一个PeerCast维护4类对外的连接:CRelay(PeerCast所看频道的上游或通过该PeerCast看频道的下游)、COut(PeerCast相连的Tracker)和CIn(PeerCast作为其他节点的Tracker)。与某个频道相关的路由信息(例如某个频道增加了观看者,即多了一个数据源提供者)在CRelay之间传递。新广播的频道和新增Tracker(某个节点成为Tracker,广播源节点有机会成为Tracker)的信息在COut和CIn之间传递。
路由信息通过频道的信息更新函数(broadcastTrackerUpdate)定时产生,使用与其相连的PeerCast向外传播,频道信息更新函数是路由信息传递的源动力。
查找算法
YP收到请求某个频道的路由信息时,查询其路由表,根据最近最少使用和频道源节点的带宽容量,返回多个频道源地址。最
文档评论(0)