Aller au contenu principal

3. Format de paquet SCTP

Ce chapitre décrit le format d'un paquet SCTP, y compris l'en-tête commun et les chunks.

3.1. Description des champs de l'en-tête commun SCTP​

Un paquet SCTP se compose d'un en-tête commun de 12 octets suivi d'un ou plusieurs chunks. L'en-tête commun contient les champs suivants :

ChampTailleDescription
Source Port Number16 bitsNuméro de port source
Destination Port Number16 bitsNuméro de port destination
Verification Tag32 bitsTag de vérification de l'association
Checksum32 bitsSomme de contrôle CRC32c

Le port source et le port destination identifient les points d'extrémité de l'association. Le tag de vérification garantit que le paquet appartient à l'association établie. La somme de contrôle permet de détecter les erreurs de transmission.

3.2. Description des champs de chunk​

Chaque chunk commence par un octet d'identifiant de type, suivi d'un octet de drapeaux, d'un champ de longueur de 16 bits (longueur du chunk incluant l'en-tête de chunk, mais pas le bourrage) et des paramètres ou données selon le type.

3.2.1. Format des paramètres optionnels/variables​

Les paramètres optionnels ou variables suivent un format TLV (Type-Length-Value) : un type de 16 bits, une longueur de 16 bits et la valeur. Le bourrage est ajouté si nécessaire pour aligner le chunk sur une limite de 4 octets.

3.2.2. Signalement des paramètres non reconnus​

Si un paramètre non reconnu est rencontré, le comportement dépend du bit « U » (Report Type) du paramètre : il est ignoré (skip), stoppé (stop), ou signalé dans un chunk ERROR selon le cas.

3.3. Définitions des chunks SCTP​

Les types de chunk définis par l'IETF incluent : DATA, INIT, INIT ACK, SACK, HEARTBEAT, HEARTBEAT ACK, ABORT, SHUTDOWN, SHUTDOWN ACK, ERROR, COOKIE ECHO, COOKIE ACK, ECNE, CWR et SHUTDOWN COMPLETE. Chaque type possède un format et une sémantique détaillés dans les sections suivantes.