浅析新一代 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 的数据分发每个数据包是一致的。
第 1 页 共 8 页