DTLS-SRTP和SRTP数据包之间的差异通过DTLS连接发送

PRI*_*YAK 9 sip rtp dtls webrtc

我有两个SIP端点,并希望通过DTLS-SRTP发送媒体.我有点混淆以下几点

  1. 通过DTLS连接发送的DTLS-SRTP和SRTP数据包是相同还是不同?

  2. 如果不同,请你解释一下他们有什么不同?

Ben*_*ent 9

DTLS用于建立密钥,然后用于保护RTP流.建立密钥后,它们用于加密RTP流以使其成为SRTP(加密,标准SRTP rfc3711没有什么特别之处),然后通过该DTLS通道发送.如果您阅读rfc5764,您可以获得有关DTLS通道的更多细节以及解复用数据包等.

因此,DTLS是SRTP交换的关键管理.有关示例,请参见rfc5764第4.1节.

总结:如果通过DTLS连接进行SRTP,则意味着一旦交换了密钥并使用这些密钥加密媒体,就没有太大区别.主要区别在于使用DTLS-SRTP,DTLS协商发生在与媒体本身相同的端口上,因此必须在这些端口上考虑分组解复用.


Jer*_*emy 8

上面的答案几乎是正确的。在 DTLS-SRTP 中,DTLS 握手确实用于派生 SRTP 主密钥。

但是,一旦获得了主密钥,就不会使用 DTLS 来传输 RTP:RTP 数据包使用 SRTP 加密并直接通过底层传输 (UDP) 发送。