メインコンテンツまでスキップ

1. Introduction (简介)

在WebRTC框架中,各方之间的通信由媒体 (例如音频和视频) 和非媒体数据组成。媒体使用安全实时传输协议 (Secure Real-time Transport Protocol, SRTP) 发送,在此不作进一步说明。非媒体数据通过使用封装在DTLS中的流控制传输协议 (Stream Control Transmission Protocol, SCTP) [RFC4960] 来处理。DTLS 1.0定义在 [RFC4347] 中,当前最新版本DTLS 1.2定义在 [RFC6347] 中,即将推出的版本DTLS 1.3定义在 [TLS-DTLS13] 中。

                               +----------+
| SCTP |
+----------+
| DTLS |
+----------+
| ICE/UDP |
+----------+

图1: 基本协议栈图

SCTP在DTLS之上 (参见 [RFC8261]) 在ICE/UDP之上 (参见 [RFC8445]) 的封装提供了NAT穿越解决方案,同时提供机密性,源认证和完整性保护的传输。此数据传输服务与SRTP媒体传输并行运行,并且所有这些最终可以共享单个UDP端口号。

SCTP,如 [RFC4960] 中所述,结合 [RFC3758] 中定义的部分可靠性扩展 (Partial Reliability extension, PR-SCTP) 和 [RFC7496] 中定义的附加策略,原生提供多个流 (Streams),具有可靠和相关的部分可靠的用户消息传递模式。使用 [RFC6525] 中定义的重新配置扩展 (Reconfiguration Extension) 允许在SCTP关联 (Association) 的生命周期内增加流的数量,并允许重置单个SCTP流。使用 [RFC8260] 允许大消息的交错 (Interleave) 以避免垄断,并增加了对SCTP流优先级的支持。

本文档的其余部分组织如下: 第3节和第4节提供了不可靠和可靠对等数据通道的使用场景和需求,第5节讨论SCTP在DTLS之上在UDP之上的考虑,第6节指定WebRTC协议框架应如何使用SCTP在Web浏览器之间传输非媒体数据。