1. Introduction
Dans le cadre WebRTC (Web Real-Time Communication, communication en temps réel sur le Web), la communication entre les parties est composée de médias (par exemple, audio et vidéo) et de données non-médias. Les médias sont envoyés via SRTP (Secure Real-time Transport Protocol, protocole de transport sécurisé en temps réel) et ne sont pas traités davantage ici. Les données non-médias sont gérées par l'utilisation de SCTP (Stream Control Transmission Protocol, protocole de transmission par contrôle de flux) [RFC4960] encapsulé dans DTLS. DTLS 1.0 est défini dans [RFC4347], la version actuelle DTLS 1.2 est définie dans [RFC6347], et la version à venir DTLS 1.3 est définie dans [TLS-DTLS13].
+----------+
| SCTP |
+----------+
| DTLS |
+----------+
| ICE/UDP |
+----------+
Figure 1 : Diagramme de la pile de protocoles de base
L'encapsulation de SCTP sur DTLS (voir [RFC8261]) sur ICE/UDP (voir [RFC8445]) fournit une solution de traversée NAT (Network Address Translation, traduction d'adresses réseau), tout en offrant un transport avec confidentialité, authentification de la source et protection de l'intégrité. Ce service de transport de données fonctionne en parallèle avec le transport de médias SRTP, et tout cela peut finalement partager un seul numéro de port UDP.
SCTP, tel que décrit dans [RFC4960], combiné avec l'extension de fiabilité partielle (Partial Reliability extension, PR-SCTP) définie dans [RFC3758] et les politiques supplémentaires définies dans [RFC7496], fournit nativement plusieurs flux (Streams) avec des modes de transmission de messages utilisateur fiables et partiellement fiables ordonnés. L'utilisation de l'extension de reconfiguration (Reconfiguration Extension) définie dans [RFC6525] permet d'augmenter le nombre de flux pendant la durée de vie d'une association (Association) SCTP et permet la réinitialisation de flux SCTP individuels. L'utilisation de [RFC8260] permet l'entrelacement (Interleave) de grands messages pour éviter le monopole et ajoute la prise en charge des priorités de flux SCTP.
Le reste de ce document est organisé comme suit : les sections 3 et 4 fournissent les cas d'utilisation et les exigences pour les canaux de données non fiables et fiables entre pairs, la section 5 traite des considérations relatives à SCTP sur DTLS sur UDP, et la section 6 spécifie comment le cadre de protocole WebRTC doit utiliser SCTP pour transporter des données non-médias entre navigateurs Web.