EDN China > 技术文章 > 通信 > 网络传输与交换 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于Winpcap的网络流媒体识别算法研究与实现

现代电子技术 宋雪 蔡一兵 金伟信 王蒙?? 2010年08月20日 ?? 收藏0

?  扩展(X):1b,若设置扩展比特,表示固定头(仅)后面跟随一个头扩展。CSRC计数(CC):4b,CSRC计数包含了跟在固定头后面CSRC识别符的数目。

  标志(M):1b,标志用来允许在比特流中标记重要的事件,如帧范围。

  负载类型(PT):7b,此域定义了负载的格式,由具体应用决定其解释。协议可以规定负载类型码和负载格式之间一个默认的匹配。其他的负载类型码可以通过非RTP方法动态定义,RTP发射机在任意给定时间发出一个单独的RTP负载类型。

  序列号(SN):16b,每发送一个RTP数据包,序列号加一,接收机可以据此检测丢包和重建包。序列号的初始值是随机的。

  时间标志:32b,时间标志反映了RTP数据包中第一个比特的抽样瞬间。时间标志的起始值是随机的。

  SSRC:32b,SSRC域用以识别同步源。标识符被随机生成,以使在同一个RTP会话期中没有任何两个同步源有相同的SSRC识别符。

  CSRC列表:0~15项,每项32b。CSRC列表识别在此包中负载的有贡献源。识别符的数目在CC域中给定。

  通过对RTP协议的分析,总结出以下几条“流特征”:

  (1)UDP负荷头两个比特是0x10(RTP的版本号是2)。

  (2)RTP流负载类型PT值保持不变。即同一流媒体数据包RTP头的9~15b的值保持不变。

  (3)RTP流的SN值为递增。

  (4)RTP包的SSRC值为定值,同一流媒体数据各包的SSRC值保持不变。

  3 算法实现

  首先通过Winpcap过滤器对数据包进行捕获,识别其中的握手数据包,然后分析呼叫信令的内容,获取传输流媒体的源、目的地址和端口号,再通知给过滤器针对该源、目的地址和端口号进行数据捕捉;识别其中的UDP数据包进行分析,根据“流特征”进行分析,确定所要捕捉的RTP数据流。
采用以上4条作为判断RTP流量的必要条件,当对每一个UDP数据流,如能连续检出4个包符合上述策略,则认定其满足为RTP数据流的充分条件。
经过大量实际数据的测试,该算法可以有效识别网络流媒体。

  4 结语

  在分析网络流媒体传输协议的基础上,利用Winpcap实现了一个网络流媒体识别算法。经试验证明,该算法能够有效识别流媒体,对网络流媒体的应用具有积极的作用。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

Winpcap? 网络流媒体? 识别算法? RTP?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈