区分在同一端口上复用的RTP和RTCP数据包

问题描述 投票:3回答:1

我在我的网络接口上使用Tcpdumpto捕获数据包。在Wireshark,我可以看到RTPRTCP交易正在同一个港口进行。我正在使用Libpcap编写一个解剖器,它将解析并保存所有RTPRTCP数据包在不同的文件中。

问题

我如何区分哪一个是RTP数据包哪个是RTCP数据包?

networking rtp wireless tcp-ip libpcap
1个回答
2
投票

通常RTP和RTCP are using a different port。然而,Duckduckgoing“RTP和RTCP在同一个端口”给了我Multiplexing RTP and RTCP on a Single PortRFC5761Section 4讨论了如何区分这两种类型的数据包:

当RTP和RTCP分组被复用到单个端口上时,RTCP分组类型字段占据分组中与RTP标记(M)比特和RTP有效载荷类型(PT)的组合相同的位置。

[…]

为了允许这种多路复用,未来的RTCP分组类型分配应该在209-223范围内的当前分配之后,然后在194-199范围内进行,以便仅阻止64-95范围内的RTP有效载荷类型。

AFAIU,这意味着当两个协议在同一字段中复用时,如果RTP数据包类型在64-95,则该数据包不是RTP数据包而是RTCP数据包。

© www.soinside.com 2019 - 2024. All rights reserved.