4.1. Message Header Format (Formato Intestazione Messaggio)
4.1. Message Header Format (Formato Intestazione Messaggio)
Ogni messaggio ha un'intestazione di dimensione fissa. Potrebbe esserci o meno una porzione dati che segue l'intestazione, a seconda del tipo di messaggio. Il layout di questi campi è mostrato di seguito:
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ +
| Marker |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Length | Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Marker (Marcatore):
Questo campo di 16 ottetti è incluso per compatibilità; DEVE essere impostato su tutti uno.
Length (Lunghezza):
Questo numero intero senza segno di 2 ottetti indica la lunghezza totale del messaggio, inclusa l'intestazione in ottetti. Quindi, permette di localizzare il (campo Marker del) messaggio successivo nel flusso TCP. Il valore del campo Length DEVE essere sempre almeno 19 e non maggiore di 4096, e PUÒ essere ulteriormente vincolato, a seconda del tipo di messaggio. Il "padding" di dati extra dopo il messaggio non è consentito. Pertanto, il campo Length DEVE avere il valore più piccolo richiesto, dato il resto del messaggio.
Type (Tipo):
Questo numero intero senza segno di 1 ottetto indica il codice tipo del messaggio. Questo documento definisce i seguenti codici tipo:
- 1 - OPEN
- 2 - UPDATE
- 3 - NOTIFICATION
- 4 - KEEPALIVE
[RFC2918] definisce un altro codice tipo.