3.5.8. Label Request メッセージ
LSR は, FEC に対するバインディング (マッピング) を要求するために, LDP ピアに Label Request メッセージを送信する.
Label Request メッセージの符号化は次のとおり:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|0| Label Request (0x0401) | Message Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Message ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| FEC TLV |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Optional Parameters |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Message ID このメッセージを識別するために使用される 32 ビット値.
FEC TLV ラベルが要求されている FEC. 符号化についてはセクション「FEC TLV」を参照されたい.
Optional Parameters この可変長フィールドは 0 個以上のパラメータを含み, 各パラメータは TLV として符号化される. 任意パラメータは次のとおり:
Optional Parameter Length Value
Hop Count TLV 1 See below
Path Vector TLV variable See below
Hop Count および Path Vector TLV の符号化は, セクション「TLV Encodings for Commonly Used Parameters」にある.
Hop Count Label Request メッセージによって設定されつつある LSP に沿った LSR ホップ数の累計を指定する. セクション「Hop Count Procedures」はこの TLV の扱い方を記述する.
Path Vector Label Request メッセージによって設定されつつある LSP に沿った LSR を指定する. セクション「Path Vector Procedures」はこの TLV の扱い方を記述する.
3.5.8.1. Label Request メッセージの手順
Request メッセージは, 上流 LSR が, 下流 LSR に対して FEC のラベルを割り当てて広告することを明示的に要求するために使用する.
LSR は次のいずれかの条件で Request メッセージを送信してよい:
-
LSR が転送テーブルを介して新しい FEC を認識し, ネクストホップが LDP ピアであり, かつその LSR がその FEC についてまだそのネクストホップからのマッピングを持っていない.
-
FEC へのネクストホップが変化し, かつその LSR がその FEC についてまだそのネクストホップからのマッピングを持っていない.
LSR がその新しいネクストホップに対して既に保留中の Label Request メッセージを持っている場合, ネクストホップの変化に応答して追加の Label Request を発行すべきではない (SHOULD NOT) ことに注意されたい.
-
LSR が, FEC に対する Label Request を上流 LDP ピアから受信し, その FEC のネクストホップが LDP ピアであり, かつその LSR がまだそのネクストホップからのマッピングを持っていない.
非マージ LSR は, ラベルを要求する各上流ピアに対して別々の LSP を設定しなければならないため, そのようなピアごとに別々の Label Request を送信しなければならないことに注意されたい. この結果として, 非マージ LSR は, 所与の FEC に対する複数の Label Request メッセージを同時に未完了のまま持つことがある.
受信側 LSR は, Label Request メッセージに対して, 要求されたラベルの Label Mapping で応答するか, またはその要求を満たせない理由を示す Notification メッセージで応答することが望ましい (SHOULD).
ラベルが要求される FEC が Prefix FEC Element である場合, 受信側 LSR は自身のルーティングテーブルを用いて応答を決定する. そのルーティングテーブルが要求された Prefix に完全に一致するエントリを含んでいない限り, LSR は No Route Notification メッセージで応答しなければならない (MUST).
Label Request メッセージの message ID は, Label Request トランザクションの識別子として機能する. 受信側 LSR が Label Mapping メッセージで応答する場合, そのマッピングメッセージは, Label Request メッセージの message ID を含む Label Request/Returned Message ID TLV 任意パラメータを含まなければならない (MUST). LSR は Label Request の message ID をトランザクション識別子として使用するため, LSR は対応するトランザクションが完了するまで Label Request メッセージの message ID を再利用すべきではない (SHOULD NOT) ことに注意されたい.
このバージョンのプロトコルは, 要求を満たせないことを通知する Notification メッセージに対して次の Status Code を定義する:
No Route ラベルが要求された FEC が, LSR が経路を持たない FEC Element を含んでいる.
No Label Resources LSR が資源の制約のためにラベルを提供できない. 資源が利用可能になったとき, LSR は Label Resources Available Status Code を持つ Notification メッセージを送信することによって要求元 LSR に通知しなければならない (MUST).
Label Request メッセージに対して No Label Resources 応答を受信した LSR は, Label Resources Available Status Code を持つ Notification メッセージを受信するまで, それ以上の Label Request メッセージを発行してはならない (MUST NOT).
Loop Detected LSR がループしている Label Request メッセージを検出した.
詳細については, 付録 A「LDP Label Distribution Procedures」を参照されたい.