协议简单分类
WebRTC同时支持传输
音视频数据
、自定义应用数据
。这其中涉及了多种协议,包括RTP/SRTP、RTCP/SRTCP、UDP、DTLS、SCTP,简单总结分类为:传输音视频数据相关协议(UDP、DTLS、RTP/SRTP)和传输自定义应用数据相关协议(UDP、DTLS、SCTP);
加密信道建立:UDP、DTLS
对于WebRTC应用来说,不管是音视频数据还是自定义应用数据,都要求基于
加密的信道
进行传输。DTLS有点类似TLS,在UDP的基础上实现信道的加密;
DTLS主要用途
- 让通信双方协商密钥,用来对数据进行加解密* 通信双方:通过
DTLS握手
,协商生成一对密钥
* 发送方:对数据进行加密
* 发送方:通过UDP传输
加密数据* 接收方:对加密数据进行解密
音视频数据传输:RTP/SRTP、RTCP/SRTCP
- RTP实时传输协议,用来传输
音视频数据
- RTCP:RTP传输控制协议,主要用来
监控
传输数据的质量
,并给予数据发送方反馈
自定义应用数据传输:SCTP
SCTP(Stream Control Transmission Protocol)流控制传输协议,STCP依赖DTLS建立的加密信道,对于自定义应用数据的发送,流程如下
- 通信双方:通过
DTLS握手
,协商生成一对密钥
- 数据发送方:将自定义应用数据,通过密钥进行
加密
,生成SCTP包 - 数据发送方:通过
UDP传输
SCTP包
音视频数据发送过程概括
- 通信双方:通过
DTLS握手
,协商生成一对密钥
- 数据发送方:将音视频数据封装成
RTP包
,将控制数据封装成RTCP包
- 数据发送方:利用加密协议,对RTP包,RTCP包进行
加密
,生成SRTP包、SRTCP包 - 数据发送方:通过
UDP传输S
RTP包,SRTCP包
WebRTC在传递媒体流到对等端时,涉及到
媒体信息协商
、网络建立协商
、网络传输
等技术,这些技术不仅用于WebRTC底层,也广泛用于其他流媒体领域。 WebRTC使用安全实时传输协议(Secure Real-time Transport Protocol,SRTP)对RTP数据进行加密,消息认证
和完整性
以及重播攻击保护。 文章来源:https://www.toymoban.com/news/detail-415206.html
UDP和TCP的选择
选择依据浅析
在TCP/IP四层结构中,网络传输层是最为重要的一层协议,该层中包含了两种协议:TCP文章来源地址https://www.toymoban.com/news/detail-415206.html
到了这里,关于WebRTC → 传输技术解析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!