4.1. Message Header Format (Nachrichten-Header-Format)
4.1. Message Header Format (Nachrichten-Header-Format)
Jede Nachricht hat einen Header fester Größe. Je nach Nachrichtentyp kann nach dem Header ein Datenteil folgen oder auch nicht. Das Layout dieser Felder ist unten dargestellt:
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:
Dieses 16-Oktett-Feld ist aus Kompatibilitätsgründen enthalten; es MUSS auf lauter Einsen gesetzt werden.
Length (Länge):
Diese 2-Oktett-vorzeichenlose Ganzzahl gibt die Gesamtlänge der Nachricht einschließlich des Headers in Oktetten an. Somit ermöglicht es, das (Marker-Feld der) nächste(n) Nachricht im TCP-Stream zu lokalisieren. Der Wert des Length-Feldes MUSS immer mindestens 19 und nicht größer als 4096 sein und KANN weiter eingeschränkt sein, abhängig vom Nachrichtentyp. "Padding" von zusätzlichen Daten nach der Nachricht ist nicht erlaubt. Daher MUSS das Length-Feld den kleinsten erforderlichen Wert haben, angesichts des Rests der Nachricht.
Type (Typ):
Diese 1-Oktett-vorzeichenlose Ganzzahl gibt den Typcode der Nachricht an. Dieses Dokument definiert die folgenden Typcodes:
- 1 - OPEN
- 2 - UPDATE
- 3 - NOTIFICATION
- 4 - KEEPALIVE
[RFC2918] definiert einen weiteren Typcode.