浅析新一代P2P流媒体技术.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析新一代P2P流媒体技术 摘要:首先对现有流媒体软件进行了分析,然后提出了新一代P2P技术的特性,根据与传统流媒体技术相对比,提出新的流媒体技术开发思路,加以实施。 关键词:流媒体 流媒体软件 P2P技术 P2P流媒体 前 言 流媒体技术是未来网络服务体系的重要组成部分,为众多应用提供了必需的平台。流媒体技术的特点是边传输边播放,节约资源,实时性好。但是承载流媒体的数据分发平台必须有足够的质量保证能力,以免流媒体出现断流和联接丢失等情况。 P2P技术是分布式计算的重要发展方向,是未来高速网络中内容分发的基础。P2P技术的优势在于最大限度的利用数据分发体系中每一个节点的资源,分解了服务器的负担,提高了数据分发的效率、稳定性、可扩展性。可以实现快速并且低成本的将数据分发到大量节点。 将流媒体技术和P2P技术两者相结合,构成了可持续发展的网络服务——P2P流媒体。 P2P流媒体可承载的服务包括并且不仅限于:视频会议、网络课堂、远程会诊(手术)、视频点播、广播电视转播、大型活动直播等等。 采用现有P2P流媒体技术的产品主要针对视频直播,在其技术体系已经相对比较成熟,但仍存在较大缺陷。问题主要集中在不能保证单个节点的播放质量,关键节点上的节点退出会对数据分发网络造成较大的波动甚至出现局部乃至大范围的断流。采用现有P2P流媒体技术的产品根本不适合视频会议、网络课堂、远程会诊等关键业务应用。 第一部分 现有P2P流媒体软件 开发新的流媒体系统,充分了解现有的流媒体软件的优劣得失是必不可少的。主流的软件pplive和ppstream就是分析的对象。 以下分析全部基于Sockmon5的数据包拦截。手上资源有限,对协议的分析不很充分。 一、pplive: 这款软件的数据分发引擎和播放器是分离的,也给了我们专门分析数据分发引擎的机会。 pplive会打开本地的8888端口,作为windows media服务的端口。对于windows media player来说,认为本地8888端口就是一个cs模式的windows media服务(real格式类同)。 节点会在一个时段内集中向几十个其他节点发送udp数据包,每一个数据包略有区别,之后收到其他节点回复。分析为确认节点存在的数据包,或许带有测速信息。之后节点会和速度较高的几个节点建立连接。传输的数据包格式无法解析,但是可以看到规律。数据头为十六进制e9034601的数据包从19K到8K不等,内容丰富。其他规格的数据包头还有e9034401、e9034101等等。e9034201似乎是连接断开的标志。e9034501的数据包大小一致,每发送一次第六字节加一,e9034401的数据分发每个数据包是一致的。 每一个节点都主动连接含有数据的上线,这可以从节点没有频繁和连续的accept动作看出。否则用户在获取数据之前必定有一组连续accept的被连接过程。 一旦选择一个速度最高的节点,则播放所需所有数据都从这个节点获得。这点从获取数据包的流密度和各IP数据包之间的对比可知。 在防火墙穿透策略上,经分析得知每个节点把自己的ip地址和开放的端口号汇报到服务器,服务器把这些信息通知有连接需要的节点。节点不区分获得的ip是公网ip还是内网ip(丛发出的udp测速数据包目标经常为192.168.0.*网段可知)。如果是公网的节点发起连接,连接公网ip的节点一般可以正常连接,如果连接内网ip的节点,肯定无法连接。如果是内网节点发起连接,连接公网ip的节点一般可以正常连接,如果连接内网ip的节点,分为两种情况:1、此节点位于不同局域网中,肯定连接不上;2、此节点位于同一局域网中,正好实现了内网互联。由此可知数据分发引擎完全不具备不同局域网的节点连接能力,网络性能非常依赖公网节点数量。 按照这种模式开发流媒体产品,对不同媒体格式和媒体服务器的兼容性较好,节点之间连接策略的处理也比较简单高效。但难点在于如何把流媒体服务器和数据分发层连接,和如何模拟流媒体服务器和播放器握手。这部分技术确实可以解决,但之前没有考虑过实现细节。 节点开始播放流媒体之前,必须和服务器建立连接,获得节点列表,然后判断节点之间的联通性。和可以连通的节点建立连接,尝试获得数据填充本地缓冲区。在此过程中,判断速度较高的节点。在持续连接建立后,已经可以获得稳定数据,继续保持低速的连接的发起,遇到更高速的节点,则转向由更高速的节点提供数据(此动作为分析得知,没有非常明确的证据)。 二、ppstream: ppstream内嵌了浏览器,太多80端口的操作严重干扰了对socket的分析。但是出乎意料,ppstream的连接建立过程比pplive清晰得多! ppstream的缓冲等待画面位于播放窗口内,而不是像pplive那样由数据分发引擎的单独

文档评论(0)

lyxbb + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档