Aller au contenu principal

6. Formats d'en-tête compressés (Compressed Header Formats)

6. Formats d'en-tête compressés (Compressed Header Formats)

Cette section utilise certaines terminologies (DELTA, RANDOM) définies à la section 7.

a) Format COMPRESSED_TCP (similaire à [RFC 1144]) :

            +-+-+-+-+-+-+-+-+
| CID |
+-+-+-+-+-+-+-+-+
|R O I P S A W U|
+-+-+-+-+-+-+-+-+
| |
+ TCP Checksum +
| |
+-+-+-+-+-+-+-+-+
| RANDOM fields, if any (see section 7) (implied)
- - - - - - - -
| R-octet | (if R=1)
- - - - - - - -
| Urgent Pointer Value (if U=1)
- - - - - - - -
| Window Delta (if W=1)
- - - - - - - -
| Acknowledgment Number Delta (if A=1)
- - - - - - - -
| Sequence Number Delta (if S=1)
- - - - - - - -
| IPv4 Identification Delta (if I=1)
- - - - - - - -
| Options (if O=1)
- - - - - - - -

Les derniers drapeaux du second octet (IPSAWU) ont la même signification que dans [RFC-1144], que les segments TCP soient transportés par IPv6 ou IPv4. Le bit C a été supprimé car le CID est toujours présent. Le contexte associé au CID garde la trace de la version IP et des champs RANDOM présents. L'ordre entre les champs delta spécifiés ici est exactement celui de [RFC-1144]. Une implémentation analysera typiquement le contexte depuis le début et insérera les champs RANDOM dans l'ordre. Les champs RANDOM sont ainsi placés avant les champs DELTA de l'en-tête TCP, dans le même ordre qu'ils apparaissent dans l'en-tête non compressé d'origine.

Le drapeau I est nul à moins qu'un en-tête IPv4 ne précède immédiatement l'en-tête TCP. L'en-tête combiné IPv4/TCP est alors compressé comme une unité, comme décrit dans [RFC-1144]. Les champs Identification des en-têtes IPv4 qui ne sont pas immédiatement suivis par un en-tête TCP sont RANDOM.

Si le drapeau O est défini, les Options de l'en-tête TCP étaient différentes de celles de l'en-tête précédent. L'intégralité du champ Option est placée à la fin de l'en-tête TCP compressé.

Si le drapeau R est défini, il y avait des différences entre le contexte et le champ Réservé (6 bits) dans l'en-tête TCP ou les bits 6 ou 7 de l'octet TOS (octet Traffic Class) dans un en-tête IPv4 (IPv6) qui précède immédiatement l'en-tête TCP. Un octet contenant les valeurs réelles du champ Réservé et des bits 6 et 7 du champ TOS ou Traffic Class est alors placé immédiatement après les champs RANDOM. Les bits 0-5 de l'octet transmis sont la valeur réelle du champ Réservé, et les bits 6 et 7 sont les valeurs réelles des bits 6 et 7 dans le champ TOS ou Traffic Class. S'il n'y a pas d'en-tête IP précédent, les bits 6 et 7 sont à 0. L'octet transmis avec le drapeau R NE DOIT PAS mettre à jour le contexte.

NOTE : L'octet R ne met pas à jour le contexte car, s'il le faisait, la somme de contrôle nTCP ne protégerait pas le TCP récepteur contre les en-têtes décompressés par erreur. Les bits 6 et 7 de l'octet TOS ou Traffic Class sont susceptibles de changer fréquemment en raison de la Notification explicite de congestion (ECN).

Voir la section 7.12 et [RFC-1144] pour plus d'informations sur la compression des en-têtes TCP.

b) Format d'en-tête COMPRESSED_TCP_NODELTA :

          +-+-+-+-+-+-+-+-+
| CID |
+-+-+-+-+-+-+-+-+
| RANDOM fields, if any (see section 7) (implied)
+-+-+-+-+-+-+-+-+
| Whole TCP header except for Port Numbers
+-+-+-+-+-+-+-+-+

c) En-tête non-TCP compressé, CID 8 bits :

           0             7
+-+-+-+-+-+-+-+-+
| CID |
+-+-+-+-+-+-+-+-+
|0|D| Generation|
+-+-+-+-+-+-+-+-+
| data | (if D=1)
- - - - - - - -
| RANDOM fields, if any (section 7) (implied)
- - - - - - - -

d) En-tête non-TCP compressé, CID 16 bits :

           0             7
+-+-+-+-+-+-+-+-+
| msb of CID |
+-+-+-+-+-+-+-+-+
|1|D| Generation|
+-+-+-+-+-+-+-+-+
| lsb of CID |
+-+-+-+-+-+-+-+-+
| data | (if D=1)
- - - - - - - -
| RANDOM fields, if any (section 7) (implied)
- - - - - - - -

La génération, le CID et l'octet de données optionnel sont suivis des champs RANDOM pertinents (voir section 7) tels qu'impliqués par l'état de compression, placés dans le même ordre qu'ils apparaissent dans l'en-tête non compressé d'origine, suivis de la charge utile.