- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于开源软件vlc和pjsip实现系统的开发
基于开源软件VLC 和PJSIP 实现系统的开发基于开源软件VLC 和PJSIP 实现系统的开发作者:佚名????论文来源:本站原创????点击数:1136????更新时间:2010-3-8????1.引言所谓流媒体是指用户通过网络或者特定数字信道边下载边播放多媒体数据的一种工作方式。流媒体应用的一个最大的好处是用户不需要花费很长时间将多媒体数据全部下载到本地后才能播放。但是随着网络用户的日益增多,传统的C/S架构模式遭遇到瓶颈。与传统C/S模式相对的是P2P(对等网络)结构,P2P显著的特点,就是各个节点拥有自己的资源,节点之间直接通信并共享整个网络的资源。在P2P中,每个节点既作为客户机也作为服务器存在,兼具两者的功能。利用这个特点,P2P网络技术可以结合现有的计算资源和有限的网络带宽实现大规模的网络流媒体系统。SIP(Session Initialization Protocol,会话发起协议)是一个由IETF MMUSIC (MultipartyMultimedia Session Control)工作组提出,面向Internet会议和电话的简单应用层信令协议,用于建立、调整和终止多媒体会话。该协议具有简洁、高效、扩展性好的特点,如何将SIP应用到P2P系统是当前SIP应用的热点,其中一个方向被称为P2P over SIP[1],旨在利用SIP协议的扩展或承载来完成P2P的叠加网络层的加入、定位、查找和路由等功能。本文基于P2P-SIP的思想,结合流媒体技术,构建了一个P2P-SIP流媒体系统。该系统能够自动适应节点动态加入/退出,具有良好的可扩展性、鲁棒性和自组织能力,并且充分利用了SIP协议在媒体协商上的能力,支持各类型的流媒体功能。除了对系统设计结构的探讨之外,本文还从实际开发的角度提出了基于开源软件进行二次开发的设计方案。2.P2P-SIP 流媒体系统设计2.1 CHORD 算法P2P 系统的核心是DHT 算法,DHT 的基本思想就是资源信息按照一定的规则存储在节点上。应用系统通过安全散列算法把访问资源映射到某个标志空间,然后系统利用分布式查询协议查找资源所依附的节点。代表算法有CHORD,Tapestry,CAN 和Pastry,本文选取CHORD 作为系统架构算法。在 CHORD 算法[2]中,节点标识N-ID 和资源标识S-ID 使用相同标识空间。节点根据N-ID 的大小顺时针形成一个环,每个节点相邻的前后节点分别称为该节点的前驱节点和后继节点,每个节点不仅保存其前驱和后继结点信息,还维护一个m 项的finger 表,用于路由。节点n 的finger 表中的第k 项finger[k].node 是chord 环上位于节点n+2k 顺时针方向之后的第一个节点。节点维护资源,将资源标识S-ID,节点IP信息注册到网络中,与S-ID 顺时针距离最接近的N-ID 节点将保存该信息。查询过程中,查询节点将请求发送到与S-ID 最接近节点上。??-2-收到查询请求的节点若发现自身保存有该信息,则直接返回该信息给查询节点,否则根据finger 表将与S-ID 最接近的节点信息转发给查询节点,查询节点继续发送请求。该过程一直持续到找到相应节点为止。图1 是一个容量为64 的CHORD 环,环内有8 个节点,右边的表为节点1 的finger 表。图 1 CHORD 环网络结构示意图2.2 P2P-SIP 协议如前文所述,P2P over SIP 的思想是利用SIP 协议的扩展来完成P2P 的叠加网络层的加入、离开、定位、查找等功能。SIP 协议的可扩展性体现在它与底层传输协议的无关性上。SIP 协议对支持它的底层传输协议作了最小的假设,它对消息的传输、理解和处理独立于支持它的下层协议。SIP 协议扩充方法主要是在消息上,消息的三个基本部分:消息类型、消息头、消息体都可以被不断扩充。SIP 基于文本的方式,使各种扩充工作变得十分简便。基于此思想,本文增加了新的消息类型P2PSIP,新增若干消息头赋予不同代码,并结合不同的应答代码支持对DHT 的各项操作,下面分别说明。2.2.1 节点加入节点加入网络,构造P2PSIP 消息,该消息包含节点注册(p2p-code:0)和节点的N-ID(p2p-id:N-ID),将消息发送至已在网络中的节点。接收节点若认为自己是申请加入节点的前驱则返回200ok 和自己的N-ID 还有finger 表,否则在finger 表中查找并返回最有可能是申请加入节点前驱的节点信息和转发代码300。申请加入节点若收到300 代码则将申请加入请求转发至相应节点,若收到200ok 则根据收到的信息建立自己的finger 表。完成构建finger 表后,发送加入完成信息(p2p-code:1)给前驱和后继节点,
文档评论(0)