| Fiche technique | |
|---|---|
| Nom : | SCTP |
| Nom long : | Stream Control Transmission Protocol |
| Type de produit : | Protocole |
| Couche : | Transport |
| Auteur : | Randall R. Stewart, Qiaobing Xie |
| Date de publication : | 2000 à maintenant |
Introduction
Le Stream Control Transmission Protocol (SCTP) est un protocole de transport conçu pour transmettre des messages de manière fiable, similaire à TCP, mais avec des fonctionnalités avancées. Il a été initialement développé pour répondre aux besoins des réseaux téléphoniques de signalisation, notamment SS7 sur IP, mais son usage s'est élargi à d'autres domaines. SCTP introduit la notion de multi-flux (multistreaming), permettant de transporter plusieurs flux de données indépendants au sein d'une seule connexion. Cela évite le blocage de tête de ligne (head-of-line blocking), problème courant avec TCP. De plus, SCTP prend en charge le multi-homing, permettant à une session de rester active même si une interface réseau tombe en panne. Cette résilience le rend idéal pour les systèmes critiques. Il garantit aussi l'ordre des messages dans chaque flux sans imposer un ordre global strict sur l'ensemble de la connexion.
Contrairement à TCP, établissant une connexion basée sur un flux de données octet par octet, SCTP est orienté message : chaque unité transmise est un message distinct. Cela le rend particulièrement adapté aux applications comme la signalisation télécom, les systèmes distribués, ou la messagerie en temps réel. SCTP assure la fiabilité, la retransmission en cas de perte, et le contrôle de congestion, tout comme TCP, mais avec une flexibilité supérieure. Il utilise un mécanisme de cookie d'authentification lors de l'établissement de la connexion, améliorant la sécurité contre les attaques de type SYN flood. Bien qu'il soit défini au même niveau que TCP et UDP, il n'est pas aussi largement pris en charge par les systèmes d'exploitation ou les routeurs. Toutefois, il est utilisé dans des environnements spécifiques où la redondance, la fiabilité, et la gestion fine des flux sont essentiels.
Dans le modèle OSI, SCTP fonctionne à la couche transport (couche 4), aux côtés de TCP et UDP. Il a été normalisé en 2000 par l'IETF dans le RFC 2960, puis mis à jour par le RFC 4960 en 2007. Sa licence est ouverte et publique, ce qui permet son implémentation dans des systèmes libres ou commerciaux. SCTP n'est pas destiné à remplacer TCP ou UDP dans tous les cas, mais plutôt à les compléter dans des contextes spécifiques où ses atouts sont utiles. Il est par exemple employé dans WebRTC, certains systèmes 5G, ou encore dans des infrastructures télécoms et industrielles. Malgré sa puissance, son adoption reste limitée du fait d'un manque de support natif dans les navigateurs web et certains équipements réseau. Toutefois, pour les cas d'usage où la tolérance aux pannes et le transport multistream sont cruciaux, SCTP reste un choix stratégique.