概要
MPLSネットワークでは、ラベルを用いたデータ転送を実現するためにラベル配布プロトコル(LDP)が利用されます。LDPは、LSR間でラベルとFEC(フォワーディングエクスチェンジ・コンポーネント)のマッピング情報を交換し、LSP(ラベルスイッチド・パス)を構築・維持します。
LDPの基本概念
LDPプロトコルの役割
LDPはMPLSの制御プロトコルとして機能し、FEC分類、ラベル割り当て、LSPの確立および管理を担当します。主な動作フローは以下の2つです:
- LSR間でLDPセッションを確立
- LDPセッションを介してラベル/FECマッピング情報を動的に交換し、LSPを構築
LDPセッション構造
LDPセッションは以下の2種類に分類されます:
- ローカルセッション:直結したLSR間で確立されるセッション
- リモートセッション:直結または非直結のLSR間で確立されるセッション
LSR IDとLDP ID
各LSRはLSR ID(32ビット)とLDP ID(48ビット:LSR ID + 16ビットラベル空間ID)を保持します。
- 例: 192.168.1.1:0(0はプラットフォームベースラベル空間)
- 非0値はインターフェイスベースラベル空間を示します
LDPセッション確立プロセス
セッション状態遷移
LDPセッションは5つの状態(Idle、Initialize、OpenRec、OpenSent、Operational)で管理されます。
セッション確立手順
- 発見フェーズ:LDPリンクHelloメッセージ(UDP 224.0.0.2宛)を送信し、隣接LSRを検出
- TCP接続確立:Helloメッセージに含まれるトランスポートアドレスを使用し、トランスポートアドレスの大きい方がTCP接続を主導
- セッション確立:初期化メッセージ交換後、KeepAliveメッセージで確認し、セッションを確立
ラベル配布メカニズム
ラベル配布モード
| モード | 説明 |
|---|---|
| DU(ダウンストリーム・オーナス) | 上流LSRからの要求なしにラベルを配布 |
| DoD(ダウンストリーム・オン・デマンド) | 上流LSRからの要求を受けてラベルを配布 |
ラベル割り当て制御モード
| モード | 説明 |
|---|---|
| 独立モード | 下流のラベルを待たずにラベルを割り当て |
| 順序モード | 下流のラベルが到着してから割り当て |
ラベル保持モード
| モード | 説明 |
|---|---|
| 自由モード | 隣接LSRが次ホップでなくてもラベルを保持 |
| 保守モード | 隣接LSRが次ホップの場合のみラベルを保持 |
PHP(次末跳ポップ)機能
Egress LSRが次末跳に「暗黙の空ラベル(3)」を割り当てます。ラベル値が3のパケットを処理する際、ラベルをポップし、内部データを転送します。
QoS維持のため、明示的空ラベル(0)を使用する場合、ラベルポップ後にQoS情報が保持されます。
LDP設定例
基本設定コマンド
router(config)# mpls ldp enable
router(config-if)# mpls ldp
router(config)# mpls ldp label-advertisement-mode du
router(config)# mpls ldp label-alloc-control ordered
router(config)# mpls ldp label-retention liberal
router(config)# mpls ldp advertise-explicit-null
LSP作成トリガー設定
router(config)# ip prefix-list ldp-traffic permit 10.0.0.0/24
router(config)# mpls ldp lsp-trigger ip-prefix ldp-traffic
設定確認
router# show mpls ldp lsp
Destination: 10.0.1.0/24
InLabel: 1050, OutLabel: 1055
NextHop: 192.168.1.2, Interface: GigabitEthernet0/0/1
LabelRetention: Liberal