Aller au contenu principal

3.2 Generic Payload Header (En-tête générique de charge utile)

3.2 Generic Payload Header (En-tête générique de charge utile)

Chaque charge utile IKE définie aux sections 3.3 à 3.16 commence par un en-tête générique de charge utile, illustré à la figure 5. Les figures ci-dessous incluent cet en-tête, mais pour brièveté la description de chaque champ est omise.

                        1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Figure 5: Generic Payload Header

Les champs de l'en-tête générique sont les suivants.

  • Next Payload (1 octet) - Identifiant du type de la charge utile suivante dans le message. Si la charge utile actuelle est la dernière, ce champ vaut 0. Il permet d'enchaîner des charges utiles en les ajoutant en fin de message. La charge utile Encrypted, toujours dernière, est une exception: elle contient des données au format de charges utiles supplémentaires. Dans son en-tête, Next Payload indique le type de la première charge utile interne; la dernière charge utile interne a Next Payload à zéro. Les types sont listés ci-dessous; valeurs à jour dans [IKEV2IANA].
Next Payload TypeNotationValue
No Next Payload0
Security AssociationSA33
Key ExchangeKE34
Identification - InitiatorIDi35
Identification - ResponderIDr36
CertificateCERT37
Certificate RequestCERTREQ38
AuthenticationAUTH39
NonceNi, Nr40
NotifyN41
DeleteD42
Vendor IDV43
Traffic Selector - InitiatorTSi44
Traffic Selector - ResponderTSr45
Encrypted and AuthenticatedSK46
ConfigurationCP47
Extensible AuthenticationEAP48

(Les valeurs 1-32 ne doivent pas être assignées à l'avenir pour éviter le chevauchement avec IKEv1.)

  • Critical (1 bit) - DOIT être zéro si l'expéditeur veut que le destinataire ignore cette charge utile s'il ne comprend pas le type dans le Next Payload de la charge utile précédente. DOIT être un si le destinataire doit rejeter tout le message s'il ne comprend pas le type. DOIT être ignoré si le type est compris. DOIT être zéro pour les types définis dans ce document. Le bit Critical s'applique à la charge utile courante. Toutes les implémentations DOIVENT comprendre tous les types de ce document. Les charges utiles ignorées doivent avoir des champs Next Payload et Payload Length valides. Voir la section 2.5.

  • RESERVED (7 bits) - DOIT être envoyé à zéro; DOIT être ignoré à la réception.

  • Payload Length (2 octets, non signé) - Longueur en octets de la charge utile courante, y compris l'en-tête générique.

De nombreuses charges utiles contiennent des champs "RESERVED". Certaines charges utiles IKEv2 (et historiquement IKEv1) ne sont pas alignées sur des frontières de 4 octets.