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

3.5. LDP メッセージ

すべての LDP メッセージは次の形式を持つ:

 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|U| Message Type | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Mandatory Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| Optional Parameters |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

U-bit Unknown message ビット. 未知のメッセージを受信した際, U がクリア (=0) の場合, 通知がメッセージの送信元に返される. U がセット (=1) の場合, その未知のメッセージは黙って無視される. 以降のメッセージを定義するセクションでは, U-bit の値を規定する.

Message Type メッセージのタイプを識別する.

Message Length Message ID, Mandatory Parameters, および Optional Parameters の累積長をオクテット単位で指定する.

Message ID このメッセージを識別するために使用される 32 ビット値. 送信側 LSR が, このメッセージに適用される可能性のある Notification メッセージを識別しやすくするために使用する. このメッセージに応答して Notification メッセージを送信する LSR は, Notification メッセージが運ぶ Status TLV にこの Message ID を含めることが望ましい (SHOULD). セクション「Notification Message」を参照されたい.

Mandatory Parameters 必須のメッセージパラメータの可変長集合. 必須パラメータを持たないメッセージもある.

必須パラメータを持つメッセージでは, 必須パラメータは以降のセクションにおける個々のメッセージ仕様で指定された順序で現れなければならない (MUST).

Optional Parameters 任意のメッセージパラメータの可変長集合. 任意パラメータを持たないメッセージも多い.

任意パラメータを持つメッセージでは, 任意パラメータは任意の順序で現れてよい.

LDP メッセージの先頭オクテットにはアラインメント要件が存在せず, またメッセージの末尾にパディングは存在しないことに注意されたい. すなわち, パラメータは奇数バイト境界で終わることができる.

このバージョンの LDP では次のメッセージタイプが定義される:

Message Name Section Title

   Notification            "Notification Message"
Hello "Hello Message"
Initialization "Initialization Message"
KeepAlive "KeepAlive Message"
Address "Address Message"
Address Withdraw "Address Withdraw Message"
Label Mapping "Label Mapping Message"
Label Request "Label Request Message"
Label Abort Request "Label Abort Request Message"
Label Withdraw "Label Withdraw Message"
Label Release "Label Release Message"

以降のセクションでは, これらのメッセージの符号化と手順を規定する.

上記のメッセージのうちいくつかは互いに関連している. 例えば Label Mapping, Label Request, Label Withdraw, および Label Release メッセージである.

このように関連するメッセージを, メッセージクラスを指定するメッセージタイプと, そのクラス内の特定の種類のメッセージを指定するメッセージサブタイプという観点で考えることは可能であるが, 本仕様はメッセージサブタイプという概念を形式化しない.

本仕様は, Label メッセージのような関連するメッセージに対する type 値を, 16 ビットのメッセージタイプ番号空間内の連続したブロックから割り当てる.