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

问题描述 投票:8回答:2

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

  1. 通过DTLS连接发送的DTLS-SRTP和SRTP数据包是相同还是不同?
  2. 如果不同,请你解释一下他们有什么不同?
webrtc sip rtp dtls
2个回答
8
投票

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

因此,DTLS是SRTP交换的关键管理。请参阅rfc5764 section 4.1以获取一些示例。

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


1
投票

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

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

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