RFC 5036 - LDP 仕様 (Label Distribution Protocol)
- ステータス: Draft Standard
- 発行日: October 2007
- ストリーム: IETF
- 廃止: RFC3036
- エラッタ: エラッタなし
概要
Multi-Protocol Label Switching (MPLS) のアーキテクチャは RFC 3031 で記述されています。MPLS の基本的な概念は、2つの Label Switching Router (LSR) が、それらの間でトラフィックを転送するために使用されるラベルの意味について合意しなければならないということです。この共通の理解は、ラベル配布プロトコルと呼ばれる一連の手順を使用して達成されます。これにより、ある LSR は別の LSR に自身が作成したラベルバインディングを通知します。このドキュメントでは、LSR が通常のルーティングパスに沿った MPLS 転送をサポートするためにラベルを配布するための、LDP (Label Distribution Protocol) と呼ばれる一連の手順を定義しています。
1. LDP 概要
LDP はラベルを配布するために定義されたプロトコルです。これは、LSR がネットワーク層のルーティング情報をデータリンク層のスイッチングパスに直接マッピングすることによって、ネットワークを介して Label Switched Paths (LSP) を確立するための一連の手順とメッセージです。
LDP は、作成する各 LSP に Forwarding Equivalence Class (FEC) を関連付けます。LSP に関連付けられた FEC は、どのパケットがその LSP に「マップ」されるかを指定します。
1.1 LDP ピア (LDP Peers)
LDP を使用してラベル/FEC マッピング情報を交換する2つの LSR は、その情報に関して「LDP ピア」と呼ばれ、それらの間に「LDP セッション」が存在すると言います。単一の LDP セッションにより、各ピアは相手のラベルマッピングを学習できます。つまり、プロトコルは双方向です。
1.2 LDP メッセージ交換
LDP メッセージには4つのカテゴリがあります。
- 発見メッセージ (Discovery messages): ネットワーク内の LSR の存在を通知および維持するために使用されます。
- セッションメッセージ (Session messages): LDP ピア間のセッションを確立、維持、および終了するために使用されます。
- 広告メッセージ (Advertisement messages): ラベルマッピングを作成、変更、および削除するために使用されます。
- 通知メッセージ (Notification messages): 助言情報を提供し、エラー情報を通知するために使用されます。
1.3 LDP メッセージ構造
LDP メッセージ交換は、LDP PDU (Protocol Data Unit) を介して行われます。各 LDP PDU には、LDP ヘッダーが含まれ、その後に1つ以上の LDP メッセージが続きます。
2. LDP 動作
2.2 ラベル空間、識別子、セッション、およびトランスポート
- ラベル空間: 各 LSR は1つ以上のラベル空間を管理します。
- LDP 識別子: LSR のラベル空間を一意に識別するための6バイトの識別子。形式は
<LSR Id>:<Label Space Id>です。 - LDP セッション: ラベルマッピングを交換するために2つの LSR 間で確立されます。
- LDP トランスポート: LDP は、セッション通信に信頼性の高いトランスポートプロトコルとして TCP (ポート 646) を使用します。発見メカニズムには UDP (ポート 646) を使用します。
2.4 LDP 発見
LDP 発見メカニズムにより、LSR は潜在的な LDP ピアを識別できます。
- 基本発見メカニズム: 直接接続された LSR ネイバーを発見するために使用されます。LSR は定期的に各インターフェイスで LDP Link Hello メッセージ (UDP マルチキャスト) を送信します。
- 拡張発見メカニズム: 直接接続されていない LSR ネイバー (ターゲットセッションなど) を発見するために使用されます。LSR は定期的に特定のアドレスに LDP Targeted Hello メッセージ (UDP ユニキャスト) を送信します。
2.5 LDP セッションの確立と維持
セッション確立プロセスには以下が含まれます。
- トランスポート接続の確立 (TCP)。
- セッションの初期化 (Initialization メッセージの交換、KeepAlive 時間、最大 PDU 長などのパラメータのネゴシエーション)。
2.6 ラベルの配布と管理
LDP は、いくつかのラベル配布モードをサポートしています。
-
ラベル配布制御モード (Label Distribution Control Mode):
- 独立制御 (Independent Control): LSR は、ダウンストリームからのマッピングを待たずに、いつでもピアにラベルマッピングを広告できます。
- 順序制御 (Ordered Control): LSR は、ダウンストリームのネクストホップからラベルマッピングを受信した場合、または自身が出口ノードである場合にのみ、ピアにラベルマッピングを広告します。
-
ラベル保持モード (Label Retention Mode):
- 保守的保持 (Conservative Retention): データ転送に使用されるネクストホップネイバーによって広告されたラベルマッピングのみを保持します。
- 自由保持 (Liberal Retention): ネイバーがネクストホップであるかどうかに関係なく、すべてのネイバーによって広告されたラベルマッピングを保持します。
-
ラベル広告モード (Label Advertisement Mode):
- ダウンストリームオンデマンド (Downstream on Demand): ダウンストリーム LSR は、アップストリーム LSR から要求された場合にのみラベルマッピングを広告します。
- ダウンストリーム非要請 (Downstream Unsolicited): ダウンストリーム LSR は、要求なしにネイバーにラベルマッピングを積極的に広告します。
3. プロトコル仕様
3.1 LDP PDU
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Version | PDU Length | LDP Identifier
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
3.5 LDP メッセージ
主なメッセージタイプは以下の通りです。
- Hello Message: 隣接関係の発見と維持に使用されます。
- Initialization Message: セッションパラメータのネゴシエーションに使用されます。
- KeepAlive Message: セッションの生存状態を監視するために使用されます。
- Label Mapping Message: ラベルバインディングを広告するために使用されます。
- Label Request Message: ラベルバインディングを要求するために使用されます。
- Label Withdraw Message: ラベルバインディングを撤回するために使用されます。
- Label Release Message: ラベルバインディングを解放するために使用されます。
- Notification Message: エラーまたは助言を報告するために使用されます。
注意: この翻訳は参照用です。詳細については RFC 5036 原文 を参照してください。