メインコンテンツまでスキップ

4.1. Message Header Format (メッセージヘッダーフォーマット)

4.1. Message Header Format (メッセージヘッダーフォーマット)

各メッセージには固定サイズのヘッダーがあります。メッセージタイプによっては、ヘッダーの後にデータ部分がある場合とない場合があります。これらのフィールドのレイアウトを以下に示します。

      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 (マーカー):

この 16 オクテットのフィールドは互換性のために含まれています。これはすべて 1 に設定しなければなりません (MUST)。

Length (長さ):

この 2 オクテットの符号なし整数は、ヘッダーを含むメッセージの全長をオクテット単位で示します。したがって、これにより、TCP ストリーム内の次のメッセージ (のマーカーフィールド) を見つけることができます。Length フィールドの値は、常に少なくとも 19 でなければならず (MUST)、4096 を超えてはならず (MUST)、メッセージタイプによってはさらに制約される場合があります (MAY)。メッセージの後の余分なデータの「パディング」は許可されません。したがって、Length フィールドは、メッセージの残りの部分を考慮すると、必要な最小の値を持たなければなりません (MUST)。

Type (タイプ):

この 1 オクテットの符号なし整数は、メッセージのタイプコードを示します。このドキュメントでは、次のタイプコードを定義しています。

  • 1 - OPEN
  • 2 - UPDATE
  • 3 - NOTIFICATION
  • 4 - KEEPALIVE

[RFC2918] は、もう 1 つのタイプコードを定義しています。