Networking 区分在同一端口上多路传输的RTP和RTCP数据包

Networking 区分在同一端口上多路传输的RTP和RTCP数据包,networking,rtp,wireless,tcp-ip,libpcap,Networking,Rtp,Wireless,Tcp Ip,Libpcap,我正在使用Tcpdump捕获网络接口上的数据包。在Wireshark中,我可以看到RTP和RTCP事务在同一端口上进行。我正在使用Libpcap编写一个解析器,它将解析并保存不同文件中的所有RTP和RTCP数据包 问题 如何区分哪个是RTP数据包,哪个是RTCP数据包 通常为RTP和RTCP。然而,“RTP和RTCP在同一端口上”给了我。讨论如何区分两种类型的数据包: 当RTP和RTCP数据包被多路传输到单个端口时 RTCP数据包类型字段在数据包中的位置与 RTP标记(M)位和RTP有效负载类型

我正在使用
Tcpdump
捕获网络接口上的数据包。在
Wireshark
中,我可以看到
RTP
RTCP
事务在同一端口上进行。我正在使用
Libpcap
编写一个解析器,它将解析并保存不同文件中的所有
RTP
RTCP
数据包

问题 如何区分哪个是
RTP
数据包,哪个是
RTCP
数据包

通常为RTP和RTCP。然而,“RTP和RTCP在同一端口上”给了我。讨论如何区分两种类型的数据包:

当RTP和RTCP数据包被多路传输到单个端口时 RTCP数据包类型字段在数据包中的位置与 RTP标记(M)位和RTP有效负载类型的组合 (PT)

[……]

为了允许这种多路复用,未来的RTCP数据包类型分配 应在209-223范围内的当前赋值之后进行, 然后在194-199范围内,因此只有RTP有效载荷类型 在64-95范围内,被阻止

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