Aller au contenu principal

RFC 4960 - Stream Control Transmission Protocol (SCTP)

  • Statut : Proposed Standard
  • Publié : septembre 2007
  • Stream : IETF
  • Obsolète : RFC 2960, RFC 3309
  • Obsolété par : RFC 9260
  • Errata : Aucun errata

Résumé​

Ce document rend obsolètes les RFC 2960 et RFC 3309. Il décrit le Stream Control Transmission Protocol (SCTP). Le SCTP est conçu pour transporter des messages de signalisation du réseau téléphonique public commuté (PSTN) sur des réseaux IP, mais il est capable d'applications plus larges.

Le SCTP est un protocole de transport fiable fonctionnant au-dessus d'un réseau en mode paquet sans connexion tel qu'IP. Il offre les services suivants à ses utilisateurs :

  • Transfert de données utilisateur accusé, sans erreur et sans duplication
  • Fragmentation des données pour respecter la taille MTU du chemin découverte
  • Livraison ordonnée de messages utilisateur au sein de flux multiples, avec option de livraison à l'ordre d'arrivée pour les messages utilisateur individuels
  • Regroupement optionnel de plusieurs messages utilisateur dans un seul paquet SCTP
  • Tolérance aux pannes au niveau réseau grâce à la prise en charge du multi-hébergement (multi-homing) aux deux extrémités ou à l'une d'elles d'une association

La conception du SCTP inclut un comportement approprié d'évitement de congestion et une résistance aux attaques par saturation (flooding) et par usurpation d'identité (masquerade).


Sommaire​

  • 1. Introduction

    • 1.1 Motivation
    • 1.2 Vue architecturale du SCTP
    • 1.3 Termes clés
    • 1.4 Abréviations
    • 1.5 Vue fonctionnelle du SCTP
      • 1.5.1 Démarrage et fermeture de l'association
      • 1.5.2 Livraison ordonnée au sein des flux
      • 1.5.3 Fragmentation des données utilisateur
      • 1.5.4 Accusé de réception et évitement de congestion
      • 1.5.5 Regroupement de chunks
      • 1.5.6 Validation des paquets
      • 1.5.7 Gestion des chemins
    • 1.6 Arithmétique des numéros de série
    • 1.7 Modifications par rapport à la RFC 2960
  • 2. Conventions

  • 3. Format de paquet SCTP

    • 3.1 Description des champs de l'en-tête commun SCTP
    • 3.2 Description des champs de chunk
      • 3.2.1 Format des paramètres optionnels/variables
      • 3.2.2 Signalement des paramètres non reconnus
    • 3.3 Définitions des chunks SCTP
      • 3.3.1 Payload Data (DATA)
      • 3.3.2 Initiation (INIT)
      • 3.3.3 Accusé d'initiation (INIT ACK)
      • 3.3.4 Accusé sélectif (SACK)
      • 3.3.5 Requête Heartbeat (HEARTBEAT)
      • 3.3.6 Accusé Heartbeat (HEARTBEAT ACK)
      • 3.3.7 Abandon d'association (ABORT)
      • 3.3.8 Fermeture d'association (SHUTDOWN)
      • 3.3.9 Accusé de fermeture (SHUTDOWN ACK)
      • 3.3.10 Erreur d'opération (ERROR)
      • 3.3.11 Echo de cookie (COOKIE ECHO)
      • 3.3.12 Accusé de cookie (COOKIE ACK)
      • 3.3.13 Fin de fermeture (SHUTDOWN COMPLETE)
  • 4. Diagramme d'état d'association SCTP

  • 5. Initialisation de l'association

    • 5.1 Établissement normal d'une association
    • 5.2 Gestion d'un INIT, INIT ACK, COOKIE ECHO dupliqué ou inattendu
    • 5.3 Autres problèmes d'initialisation
    • 5.4 Vérification de chemin
  • 6. Transfert de données utilisateur

    • 6.1 Transmission des chunks DATA
    • 6.2 Accusé de réception à la réception des chunks DATA
    • 6.3 Gestion de la minuterie de retransmission
    • 6.4 Points d'extrémité SCTP multi-hébergés
    • 6.5 Identificateur de flux et numéro de séquence de flux
    • 6.6 Livraison ordonnée et non ordonnée
    • 6.7 Signalement des trous dans les TSN DATA reçus
    • 6.8 Calcul de la somme de contrôle CRC32c
    • 6.9 Fragmentation et réassemblage
    • 6.10 Regroupement
  • 7. Contrôle de congestion

    • 7.1 Différences du SCTP avec le contrôle de congestion TCP
    • 7.2 Démarrage lent et évitement de congestion du SCTP
    • 7.3 Découverte de la MTU du chemin
  • 8. Gestion des pannes

    • 8.1 Détection de défaillance de point d'extrémité
    • 8.2 Détection de défaillance de chemin
    • 8.3 Heartbeat de chemin
    • 8.4 Gestion des paquets « Out of the Blue »
    • 8.5 Tag de vérification
  • 9. Terminaison de l'association

    • 9.1 Abandon d'une association
    • 9.2 Fermeture d'une association
  • 10. Interface avec la couche supérieure

    • 10.1 ULP vers SCTP
    • 10.2 SCTP vers ULP
  • 11. Considérations de sécurité

    • 11.1 Objectifs de sécurité
    • 11.2 Réponses du SCTP aux menaces potentielles
    • 11.3 Interactions du SCTP avec les pare-feu
    • 11.4 Protection des hôtes non compatibles SCTP
  • 12. Considérations de gestion de réseau

  • 13. Paramètres recommandés du bloc de contrôle de transmission (TCB)

    • 13.1 Paramètres nécessaires à l'instance SCTP
    • 13.2 Paramètres nécessaires par association
    • 13.3 Données par adresse de transport
    • 13.4 Paramètres généraux nécessaires
  • 14. Considérations IANA

    • 14.1 Enregistrement des types de chunk IETF
    • 14.2 Extension de paramètre de chunk définie par l'IETF
    • 14.3 Causes d'erreur supplémentaires définies par l'IETF
    • 14.4 Identificateurs de protocole de charge utile
    • 14.5 Registre des numéros de port
  • 15. Valeurs suggérées des paramètres du protocole SCTP

  • 16. Remerciements

Annexes​

Références​


Ressources associées​