MPLS LDP: 基本動作原理と設定手法

概要

MPLSネットワークでは、ラベルを用いたデータ転送を実現するためにラベル配布プロトコル(LDP)が利用されます。LDPは、LSR間でラベルとFEC(フォワーディングエクスチェンジ・コンポーネント)のマッピング情報を交換し、LSP(ラベルスイッチド・パス)を構築・維持します。

LDPの基本概念

LDPプロトコルの役割

LDPはMPLSの制御プロトコルとして機能し、FEC分類、ラベル割り当て、LSPの確立および管理を担当します。主な動作フローは以下の2つです:

  1. LSR間でLDPセッションを確立
  2. 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)で管理されます。

セッション確立手順

  1. 発見フェーズ:LDPリンクHelloメッセージ(UDP 224.0.0.2宛)を送信し、隣接LSRを検出
  2. TCP接続確立:Helloメッセージに含まれるトランスポートアドレスを使用し、トランスポートアドレスの大きい方がTCP接続を主導
  3. セッション確立:初期化メッセージ交換後、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

タグ: MPLS LDP Label Distribution PHP Label Retention

6月3日 16:51 投稿