3.2 Generic Payload Header (Intestazione generica del payload)
3.2 Generic Payload Header (Intestazione generica del payload)
Ogni payload IKE definito nelle sezioni da 3.3 a 3.16 inizia con un'intestazione generica del payload, mostrata nella figura 5. Le figure sotto includono tale intestazione; per brevità non si ripete la descrizione di ogni campo.
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
I campi dell'intestazione generica:
- Next Payload (1 ottetto) - Identificatore del tipo del payload successivo nel messaggio. Se il payload corrente è l'ultimo, il campo è 0. Consente di concatenare payload accodandoli. Il payload Encrypted, sempre ultimo, è eccezione: contiene dati strutturati come payload aggiuntivi. Nella sua intestazione Next Payload è il tipo del primo payload contenuto; l'ultimo contenuto ha Next Payload zero. I valori sono nella tabella; aggiornamenti in [IKEV2IANA].
| Next Payload Type | Notation | Value |
|---|---|---|
| No Next Payload | 0 | |
| Security Association | SA | 33 |
| Key Exchange | KE | 34 |
| Identification - Initiator | IDi | 35 |
| Identification - Responder | IDr | 36 |
| Certificate | CERT | 37 |
| Certificate Request | CERTREQ | 38 |
| Authentication | AUTH | 39 |
| Nonce | Ni, Nr | 40 |
| Notify | N | 41 |
| Delete | D | 42 |
| Vendor ID | V | 43 |
| Traffic Selector - Initiator | TSi | 44 |
| Traffic Selector - Responder | TSr | 45 |
| Encrypted and Authenticated | SK | 46 |
| Configuration | CP | 47 |
| Extensible Authentication | EAP | 48 |
(I valori 1-32 non devono essere assegnati in futuro per evitare sovrapposizioni con IKEv1.)
-
Critical (1 bit) - DEVE essere zero se il mittente vuole che il destinatario salti questo payload se non capisce il tipo nel Next Payload del payload precedente. DEVE essere uno se il messaggio intero va rifiutato. DEVE essere ignorato se il tipo è capito. DEVE essere zero per i tipi definiti in questo documento. Il bit Critical riguarda il payload corrente. Tutte le implementazioni DEVONO capire tutti i tipi di questo documento. I payload saltati dovrebbero avere Next Payload e Payload Length validi. Vedere la sezione 2.5.
-
RESERVED (7 bit) - DEVE essere inviato a zero; DEVE essere ignorato in ricezione.
-
Payload Length (2 ottetti, senza segno) - Lunghezza in ottetti del payload corrente inclusa l'intestazione generica.
Molti payload contengono campi "RESERVED". Alcuni payload IKEv2 (e storicamente IKEv1) non sono allineati a confini di 4 ottetti.