Cisco NCS 5000 ルータ向けMPLS コンフィギュレーションガイド 、 リリース 6.0.x
MPLS Label Distribution Protocol の実装
MPLS Label Distribution Protocol の実装

目次

MPLS Label Distribution Protocol の実装

MPLS Label Distribution Protocol の実装

マルチプロトコル ラベル スイッチング(MPLS)は、Internet Engineering Task Force(IETF)が推進する標準ベースのソリューションで、インターネットおよび IP バックボーンをベストエフォート型ネットワークからビジネスクラスのトランスポート メディアに変換します。

ラベル スイッチング機能を備えた MPLS により、IP ルートの検索の必要がなくなり、仮想回線(VC)スイッチング機能が提供されます。これにより企業は、フレーム リレーや ATM などの従来のネットワークの場合と同様のパフォーマンスを IP ベースのネットワーク サービスで実現できます。

ラベル配布プロトコル(LDP)は、MPLS 環境でラベル配布を実行します。LDP には次の機能があります。

  • LDP は、ホップバイホップまたはダイナミック パス セットアップを実行します。エンドツーエンド スイッチング サービスは提供しません。

  • LDP は、基礎となる Interior Gateway Protocol(IGP)ルーティング プロトコルを使用して、ラベルをルートに割り当てます。

  • LDP は、トラフィック エンジニアリングの LDP 拡張機能を使用して、制約ベースのルーティングを提供します。

さらに、LDP は、ネットワークのコアに展開され、MPLS ベースのレイヤ 2 およびレイヤ 3 バーチャル プライベート ネットワーク(VPN)で使用されるキー プロトコルの 1 つです。

MPLS LDP の実装の前提条件

次に、MPLS LDP を実装するための前提条件を示します。

  • 適切なタスク ID を含むタスク グループに関連付けられているユーザ グループに属している必要があります。このコマンド リファレンスには、各コマンドに必要なタスク ID が含まれます。ユーザ グループの割り当てが原因でコマンドを使用できないと考えられる場合、AAA 管理者に連絡してください。

  • Cisco IOS XR ソフトウェアを実行している必要があります。

  • 複合ミニイメージおよび MPLS パッケージをインストールする必要があります。

  • IGP をアクティブにする必要があります。

  • セッション ダウンがネイバーで隣接のダウンよりも前に発生するように、ネイバーなど、セッション保持時間の短い帯域幅を使用することを推奨します。次に、hello タイムのデフォルト値を示します。
    • 保持時間は 15 秒です。

    • 間隔は 5 秒です。

    たとえば、holdtime コマンドを使用して LDP セッション保持時間を 30 秒に設定できます。

Label Distribution Protocol の概要

Label Distribution Protocol(LDP)はラベルを割り当てて配布し、インストールします。これは、ネットワークとレイヤ間のルーティング情報をデータリンク レイヤのスイッチド パスに直接マッピングすることで、ラベル スイッチド ルータ(LSR)がネットワークを通じてラベル スイッチド パス(LSP)を確立する一連の手順とメッセージです。これらの LSP には直接接続されたネイバーにエンドポイントを持たせたり(IP のホップバイホップ転送に対応)、ネットワーク出力ノードにエンドポイントを設定し、すべての中間ノードを介してスイッチングを可能にしたりできます。

  • ラベル スイッチド パス:MPLS を通じてネットワーク内に LSP が作成されます。これらは、RSVP トラフィック エンジニアリング(TE)または LDP によりスタティックに作成できます。LDP により作成される LSP は、エンドツーエンド パスではなく、ホップバイホップ セットアップを実行します。

  • LDP コントロール プレーン:このコントロール プレーンにより、ラベル スイッチド ルータ(LSR)は潜在的なピア ルータを検出し、これらのピアとの LDP セッションを確立して、ラベル バインディング情報を交換します。

  • ラベル バインディングの交換:LDP は、MPLS パケットを MPLS ネットワークのノード間で転送できるように、LSP を使用したホップバイホップ パスのセットアップを実行します。

  • LDP フォワーディング:ラベル バインディングを学習すると、LDP コントロール プレーンは MPLS フォワーディング プレーンを設定できるようになります。

LDP の詳細については、Label Distribution Protocol の詳細を参照してください。

Label Distribution Protocol の検出パラメータ

検出パラメータでは、hello メッセージを送信した後に hello メッセージを受信しない時間を指定します。

設定例

検出パラメータでは、後続の hello メッセージを受信しないままになる検出ネイバーの時間(15 秒)を指定します。指定した時間が経過した後は、5 秒間隔で hello メッセージが連続して送信されます。

Label Distribution Protocol 検出パラメータの設定

Router(config)#mpls ldp 
Router(config-ldp)#router-id 192.168.70.1
Router(config-ldp)#discovery hello holdtime 15 
Router(config-ldp)#discovery targeted-hello holdtime 5 
Router(config-ldp)#commit

確認

現在の MPLS LDP パラメータをすべて表示します。

RP/0/RP0/CPU0:router# show mpls ldp parameters
LDP Parameters:
Role: Active
Protocol Version: 1
Router ID: 192.168.70.1
Discovery:
Link Hellos:     Holdtime:15 sec, Interval:5 sec
Targeted Hellos: Holdtime:5 sec, Interval:10 sec
Quick-start: Enabled (by default)
Transport address:       IPv4: 192.168.70.1

インターフェイス上での Label Distribution Protocol のイネーブル化

ここでは、インターフェイス上で LDP をイネーブルにする方法について説明します。ルータを LDP ピアとなる可能性があるルータに接続しているすべてのインターフェイス上で LDP をイネーブルにする必要があります。

設定例

次に、10 ギガビット イーサネット インターフェイス上で LDP をイネーブルにする例を示します。

Router(config)##mpls ldp
Router(config-ldp)#router-id 192.168.70.1
Router(config-ldp)#interface TenGigE 0/0/0/5 
Router(config-ldp-if)#commit
  

確認

RP/0/RP0/CPU0:router# show mpls ldp parameters
Discovery:
Link Hellos:     Holdtime:15 sec, Interval:5 sec
Targeted Hellos: Holdtime:5 sec, Interval:10 sec
Accepting:
IPv4: all;

Label Distribution Protocol の targeted hellos の検出

ここでは、間接的に接続されたルータに対する LDP の設定について説明します。targeted hellos はユニキャストです。

設定例

発信元のルータ(ルータ 1)は宛先ルータ(ルータ 2)に hello メッセージをアクティブに送信します。宛先ルータは着信 hello メッセージを受け入れ、検出したネイバーに対して hello で応答します。

ルータ 1

Router(config)#mpls ldp
Router(config-ldp)#router-id 192.168.70.1
Router(config-ldp)#neighbor 12.12.12.12 targeted	
Router(config-ldp)#interface TenGigE 0/0/0/5
Router(config-ldp-if)#commit
  

ルータ 2

Router(config)#mpls ldp
Router(config-ldp)#router-id 12.12.12.12
Router(config-ldp)#neighbor 192.168.70.1 targeted
Router(config-ldp)#address-family ipv4
Router(config-ldp-af)#discovery targeted-hello accept
Router(config-ldp)#commit
  

(注)  


discovery targeted-hello accept は、送信元からの argeted hello メッセージを受け入れ、argeted hello を受け入れる LSR 上のパッシブ モードをアクティブにするようにシステムに指示します。このコマンドは受信者ノードで実行されます。


Label Distribution Protocol のグレースフル リスタート

Label Distribution Protocol(LDP)のグレースフル リスタートは、Label Distribution Protocol に対してノンストップ フォワーディングをイネーブルにするための方法の 1 つです。Label Distribution Protocol のグレースフル リスタートを使用してノンストップ フォワーディングをセットアップする正しい方法は、グレースフル リスタートに関する追加設定で Label Distribution Protocol ネイバー(リンクまたはターゲット)をアクティブにします。

Label Distribution Protocol のグレースフル リスタートのセット アップ

設定例

次に、LDP グレースフル リスタートを設定する例を示します。この例では、隣接ルータがグレースフル リスタートするルータについてフォワーディング ステートを維持する時間を 180 に設定します。また、LDP セッションに障害が発生した場合に、グレースフル リスタートを行うルータからの再接続を待機する時間を 169 秒に指定します。

Router(config)#mpls ldp
Router(config-ldp)#interface TenGigE 0/0/0/5
Router(config-ldp-if)#exit
Router(config-ldp)#graceful-restart
Router(config-ldp)#graceful-restart forwarding-state-holdtime 180
Router(config-ldp)#graceful-restart reconnect-timeout 169
Router(config-ldp)#commit
 

確認

RP/0/RP0/CPU0:router#show mpls ldp graceful-restart
Forwarding State Hold timer : Not Running
GR Neighbors : 1
   
Neighbor ID      Up  Connect Count  Liveness Timer      Recovery Timer
---------------  --  -------------  ------------------  ------------------
8.8.8.8          Y        1                -                   -
RP/0/RP0/CPU0:router#show mpls ldp parameters
Graceful Restart:Enabled
Reconnect Timeout:169 sec, Forwarding State Holdtime:180 sec
NSR: Disabled, Not Sync-ed

ラベル アドバタイズメント コントロール

LDP は、すべてのネイバーにラベルをアドバタイズします。アドバタイジングは次の 2 とおりの方法で実行されます。

ラベル アドバタイズメント コントロール(アウトバウンド フィルタリング)

Label Distribution Protocol はすべてのネイバーのすべてのプレフィックスのラベルをアドバタイズします。(拡張性やセキュリティが理由で)これが望ましくない場合、1 つ以上のピアに対する 1 つ以上のプレフィックスでローカル ラベル アドバタイズメントのアウトバウンド フィルタリングを実行するように LDP を設定できます。この機能は、LDP アウトバウンド ラベル フィルタリングまたはローカル ラベル アドバタイズメント コントロールと呼ばれています。

ラベル受け入れコントロール(インバウンド フィルタリング)

または

LDP は、すべてのピアからのすべてのプレフィックスのラベルを(リモート バインディングとして)受け入れます。LDP は、リベラル ラベル保持モードで機能します。これは、LDP に、特定のプレフィックスのすべてのピアからのリモート バインディングを保持するように指示します。セキュリティ上の理由から、またはメモリを節約するため、特定のピアからのプレフィックスのセットのラベル バインディング受け入れを設定することで、この動作を上書きできます。プレフィックスの定義セットのリモート バインディングをフィルタリングする機能は、LDP インバウンド ラベル フィルタリングとも呼ばれます。

ラベル アドバタイズメント コントロールの設定

ラベル スイッチド ルータ(LSR)は、すべての着信ラベル プレフィックスを各隣接ルータにアドバタイズします。ラベル バインディング情報の交換を制御するには、mpls ldp label advertise を使用します。オプション キーワードを使用すると、選択プレフィックスをすべてのネイバーにアドバタイズ、選択プレフィックスを定義済みネイバーにアドバタイズ、またはすべてのプレフィックスのすべてのピアへのラベル アドバタイズメントをディセーブルにできます。

設定例

ラベル アドバタイズメント コントロール(アウトバウンド フィルタリング)の設定

アウトバウンド ラベル アドバタイズメント コントロールを設定するには、次のいずれかのオプションを指定します。

  • interface

    ラベル アドバタイズメント用のインターフェイスを指定します。

  • アドバタイズ先 ldp-id

  • 対象 prefix-acl

    ラベル アドバタイズメントをアドバタイズおよび受信するネイバーを指定します。

 
Router(config)#mpls ldp
Router(config-ldp)#address-family ipv4
Router(config-ldp-af)#label local advertise to 1.1.1.1:0 for pfx_ac11
Router(config-ldp-af)#label local advertise interface TenGigE 0/0/0/5                 
Router(config-ldp-af)#commit
  
ラベル アドバタイズメント コントロール(インバウンド フィルタリング)の設定

インバウンド ラベル受け入れコントロールは、ネイバーからの prefix-acl(LDP ID で指定)で指定されたすべてのプレフィックスを設定します。

Router(config)#mpls ldp
Router(config-ldp)#address-family ipv4                           
Router(config-ldp-af)#label remote accept from 192.168.1.1:0 for acl_1
Router(config-ldp-af)#label remote accept from 192.168.2.2:0 for acl_2
Router(config-ldp-af)#label remote advertise to 1.1.1.1:0 for acl_1
Router(config-ldp-af)#commit            

ローカル ラベル割り当てコントロール

Label Distribution Protocol は、Border Gateway Protocol(BGP)のプレフィックス以外のすべてのプレフィックスにローカル ラベルを割り当てます1LDP がレイヤ 3 バーチャル プライベート ネットワーク(L3VPN)コア トランスポート以外のアプリケーションで使用される場合は問題ありません。LDP がコアの L3VPN トラフィックのトランスポート LSP の設定に使用される場合、数千の IGP プレフィックスのローカル ラベルを割り当て、アドバタイズする必要はありません。このような場合、LDP は、通常、PE ルータのループバック/32 アドレスのローカル ラベルを割り当て、アドバタイズする必要があります。これは、アクセス リストを使用して、ローカル ラベルの割り当てをプレフィックスのセットに制限できる場合、LDP ローカル ラベル割り当てコントロールを使用して実行されます。ローカル ラベル割り当てを制限すると、メモリ使用要件の軽減、ローカル フォワーディングやネットワークおよびピアのアップデートの軽減など、いくつかのメリットがあります。

ローカル ラベル割り当てコントロールの設定

設定例

ローカル ラベルが割り当ておよびアドバタイズできる一連のプレフィックスを指定するには、IP アクセス リストを使用してラベル割り当てを設定します。デフォルトでは、ローカル ラベル割り当てコントロールはディセーブルにされていて、すべての非 BGP プレフィックスにローカル ラベルが割り当てられます。

ローカル ラベルのサイズはローカル ラベルの範囲テーブルを使用して設定できます。ローカル ラベル領域のサイズは、最小 16000、最大 1048575 の範囲で設定できます。

Router(config)#mpls ldp
Router(config)#mpls label range ?
<16000-1048575>  Minimum label value
  table          Specify label table
Router(config)# mpls label range 100000 150000
Router(config)#commit
 
Router#conf t
Sat Dec 19 05:20:14.174 UTC
Router(config-ldp)#address-family ipv4
Router(config-ldp-af)# label local allocate for pfx_acl_1

確認

RP/0/RP0/CPU0:router#show mpls ldp summary
Mon Dec  7 03:44:05.332 UTC

AFIs      : IPv4
Routes    : 12 prefixes 
Bindings  : 18128 prefixes 
Local     : 12 
Remote    : 18127 
Neighbors : 1 
Hello Adj : 1 
Addresses : 4 
Interfaces: 5 LDP configured

パケット インターフェイス上で使用可能なローカル ラベルの動的範囲を表示します。

RP/0/RP0/CPU0:ios#show mpls label range
Sat Dec 19 05:21:19.610 UTC
Range for dynamic labels: Min/Max: 100000/150000

セッション保護

リンクが起動状態になると、IP は、MPLS LDP よりも前の段階で速く収束するため、MPLS 収束までに MPLS トラフィックが損失する可能性があります。リンクがフラップすると、リンク ディスカバリの損失のために LDP セッションもフラップします。LDP セッション保護は、targeted ディスカバリ hello の「パラレル」ソースにより、トラフィック損失を最小化し、高速収束を提供して、既存の LDP(リンク)を保護します。

LDP セッション保護を設定して、すべてのピアまたはピアの特定のセット(peer-acl で指定)でセッションを自動的に保護することができます。LDP は、設定されると、プライマリ リンク隣接がすでに存在するネイバーのバックアップ targeted hello を自動的に開始します。これらのバックアップ targeted hello は、プライマリ リンク隣接がダウンしても、LDP セッションを保持します。

セッション保護の設定

設定例

設定に従い、ピア ACL で指定されたピアの LDP セッション保護は、最大 60 秒間に設定されます。

 
Router(config)#mpls ldp 
Router(config-ldp)#session protection for peer_acl_1 duration 60
Router(config-ldp)#commit

Label Distribution Protocol 内部ゲートウェイ プロトコルの同期

LDP と内部ゲートウェイ プロトコル(IGP)間の同期が失われると、MPLS トラフィックが失われます。たとえば、リンク アップ時、IGP は LDP 収束が発生する前にリンクをアドバタイズして使用できます。または、LDP セッションがダウンした後でも IGP でリンクを使用し続けることができます。

LDP IGP の同期化では、MPLS LDP がそのリンクで収束される場合にのみ、IGP が通常のメトリックでリンクをアドバタイズできるように LDP と IGP が調整されます。LDP では、LDP が適切なラベル バインディングを送信し、ピアから少なくとも 1 つのラベル バインディングを受信するリンクで、少なくとも 1 つの LDP セッションがアップで実行中の場合だけリンクが収束されると見なされます。LDP は、リンク アップまたはセッション ダウン イベント時にこの情報を IGP に通信し、IGP は、同期ステートに応じて機能します。

LDP グレースフル リスタート セッションが切断された場合、グレースフル リスタート ネイバーがタイムアウトしている間はセッションが収束しているとして処理されます。また、ローカル LDP リスタート時では、チェックポイント リカバリ LDP グレースフル リスタート セッションが使用され、収束しているものとして処理されます。これにより、接続および再同期化ができるようになります。

状況によっては、設定可能なインターバルで、再同期化の宣言を遅延する必要があります。LDP は、同期化の宣言を最大 60 秒遅延できる設定オプションを提供します。LDP は、リンク アップまたはセッション ダウン イベント時にこの情報を IGP に通信します。

内部ゲートウェイ プロトコル(IGP)同期化の設定

LDP IGP 同期化の設定は、それぞれの IGP(OSPF および IS-IS)で行います。この機能をイネーブルにできる LDP 固有の設定はありません。ただし、IGP 同期遅延タイマーの特定の LDP 設定はあります。

LDP IGP 同期化の設定:Open Shortest Path First (OSPF)の例

OSPF に対して LDP IGP を同期するには、次のステップを実行します。
  1. LDP IGP 同期化では OSPF ルーティング プロセスを識別します。

  2. OSPF コンフィギュレーション モードを開始します。

  3. インターフェイスで LDP IGP 同期をイネーブルにします。

設定により、同期の遅延は 30 秒です。

Router(config)#router ospf 100
Router(config-ospf)#mpls ldp sync
Router(config-ospf)#mpls ldp igp sync delay 30
Router(config-ospf)#commit

LDP IGP 同期化の設定:Intermediate System to Intermediate System(IS-IS)の例

IS-IS に対して LDP IGP を同期するには、次のステップを実行します。

  • LDP IGP 同期化では、Intermediate System-to-Intermediate System(IS-IS)ルーティング プロトコルをイネーブルにし、IS-IS インスタンスを定義します。

  • インターフェイス上で IS-IS プロトコルを設定し、ISIS インターフェイス コンフィギュレーション モードを開始します。

  • アドレス ファミリ コンフィギュレーション モードを開始して、標準 IP バージョン 4(IPv4)または IP バージョン 6(IPv6)のアドレス プレフィックスに IS-IS ルーティングを設定します。

  • LDP IGP 同期をイネーブルにします。

設定により、同期の遅延は 30 秒です。

Router(config)#router isis 100
Router(config-isis)#interface TenGigE 0/0/0/5
Router(config-isis-if)#address-family ipv4 unicast
Router(config-isis-if-af)#mpls ldp sync 
Router(config-isis-if-af)#commit

Label Distribution Protocol 内部ゲートウェイ プロトコルの自動設定

内部ゲートウェイ プロトコル(IGP)の自動設定を使用すると、指定した IGP インターフェイスに関連付けられたすべてのインターフェイス上で LDP を自動的に設定できます。たとえば、コア ネットワークでの転送に LDP を使用できますが、LDP の自動設定をイネーブルにする IGP を 1 つ設定する必要があります。

通常、LDP は、IGP ルートのラベルを割り当て、アドバタイズします。LDP は、IGP によりすべてのアクティブ インターフェイスでイネーブルにする必要があります。IGP 自動設定を使用しない場合、LDP でインターフェイスのセットを定義する必要がありますが、この場合、時間がかかり、エラーが起こりやすくなります。

内部ゲートウェイ プロトコル(IGP)の自動設定のイネーブル化/ディセーブル化

グローバルまたは指定した OSPF インスタンスの領域における LDP 自動設定のイネーブル化

LDP 自動設定は、デフォルト VRF の IPv4 ユニキャスト ファミリでサポートされます。IGP は、設定の検証および適用を行います。

次のステップを実行して、指定した OSPF プロセス名の IGP 自動設定をグローバルにイネーブルにします。

  • 一意に識別可能な OSPF ルーティング プロセスを入力します。プロセス名はスペースを含まない 40 文字以内の任意の英数字ストリングです。

  • LDP 自動設定をイネーブルにします。

  • ある領域での LDP 自動設定をイネーブルにするには、エリア ID(10 進数値または IP アドレス)を使用します。

  • LDP 自動設定をグローバルに、または指定した OSPF インスタンスに対してイネーブルにします。


(注)  


デフォルトの VRF の IPv4 ユニキャスト ファミリに対してのみ、指定した OSPF インスタンス機能に対して領域での自動設定をイネーブルにできます。


Router(config)#router ospf 190
Router(config-ospf)#mpls ldp auto-config
Router(config-ospf)#area 8
Router(config-ospf-ar)#interface TenGigE 0/0/0/5
Router(config-ospf-ar-if)#commit

指定した OSPF インスタンスに対する LDP 自動設定のディセーブル化

また、自動設定はインターフェイスごとにディセーブルにできます。これにより、LDP は、明示的にディセーブルにされているものを除きすべての IGP インターフェイスをイネーブルにできます。また、LDP 自動設定が IGP で設定されている場合に、LDP によるインターフェイスのイネーブルを防止できます。

インターフェイス コンフィギュレーション モードを開始して、インターフェイスを設定し、インターフェイスを指定して自動設定をディセーブルにします。

Router(config)#mpls ldp
Router(config-ldp)#interface TenGigE 0/0/0/5
Router(config-ldp-if)#igp auto-config disable
Router(config-ldp-if)#commit

LDP ノンストップ ルーティング

LDP ノンストップ ルーティング(NSR)機能は、ルート プロセッサ(RP)または分散型ルート プロセッサ(DRP)のフェールオーバーなどの障害をルーティング ピアに見えないようにして、収束パフォーマンスへの負荷を最小限に抑えたり、回避したりします。デフォルトでは、NSR は、AToM 以外、すべての LDP セッションでグローバルにイネーブルにされています。

サービスの中断では、次のイベントが発生している場合があります。

  • ルート プロセッサ(RP)または分散ルート プロセッサ(DRP)フェールオーバー

  • LDP プロセスの再開

  • Minimum Disruption Restart(MDR)


(注)  


グレースフル リスタート機能とは異なり、LDP NSR では、プロトコル拡張機能は必要なく、ネットワークの他のルータでのソフトウェア アップグレードの必要もありません。また、LDP NSR によりピア ルータで NSR をサポートする必要もありません。L2VPN 設定は、NSR ではサポートされていません。アクティブ LDP のプロセス障害によりセッションが損失します。その結果、RP スイッチオーバーがリカバリ アクションとして設定されるまで、NSR は提供できません。

Label Distribution Protocol のロンストップ ルーティングの設定

設定例

このタスクを実行して、LDP ノンストップ ルーティングを設定します。

Router(config)#mpls ldp
Router(config-ldp)#nsr
Router(config-ldp)#commit

確認

RP/0/RP0/CPU0:router#show mpls ldp nsr summary
Mon Dec  7 04:02:16.259 UTC
Sessions:
Total: 1, NSR-eligible: 1, Sync-ed: 0
(1 Ready)

ダウンストリーム オン デマンド

ダウンストリーム オン デマンド機能は、ダウンストリーム オン デマンド モードのサポートを強化します。このモードでは、ピアが明示的に要求しない限り、ラベルはそのピアにアドバタイズされません。同時に、ピアは自動的にラベルをアドバタイズしないため、ネクスト ホップが、リモート ラベルが割り当てられていないピアを示す場合、ラベル要求が必ず送信されます。

ダウンストリーム オン デマンド モードをイネーブルにするには、この設定を mpls ldp コンフィギュレーション モードで適用する必要があります。

mpls ldp downstream-on-demand with ACL

ACL には、ダウンストリーム オン デマンド モードで設定されるピア ID のリストが含まれます。ACL が変更または設定されると、確立されたネイバーのリストが順番に試行されます。セッションのダウンストリーム オン デマンド設定が変更された場合、新しいダウンストリーム オン デマンド モードが設定できるように、そのセッションがリセットされます。セッションをリセットする理由は、ラベルをピア間で正しくアドバタイズするためです。新しいセッションが確立されると、セッションがダウンストリーム オン デマンド モードでネゴシエートする必要があるかどうか判別するため、ACL が検証されます。ACL が存在しない場合、または空の場合、ダウンストリーム オン デマンド モードは、任意のネイバーで設定されません。

ダウンストリーム オン デマンド機能をイネーブルにするには、この機能をセッションの両方のピアで設定する必要があります。セッションの一方のピアだけでダウンストリーム オン デマンド機能が設定されている場合、そのセッションでは、ダウンストリーム オン デマンド モードを使用できません。

ラベル要求が送信され、リモート ラベルがピアから受信されない場合、ルータは、定期的にラベル要求を再送信します。ピアは、ラベル要求の受信後にラベルをアドバタイズすると、その後に任意のラベル属性が変更された場合、ラベルを自動的に再アドバタイズします。

ダウンストリーム オン デマンドの設定

設定例

このタスクを実行して、ダウンストリーム オン デマンドを設定します。

Router(config)#mpls ldp
Router(config-ldp)#session downstream-on-demand with ABC
Router(config-ldp)#commit

明示的ヌル ラベルと暗黙的ヌル ラベル

Cisco MPLS LDP は、暗黙的または明示的なヌル ラベルを、特定の LSR で終端するルートまたはプレフィックスのローカル ラベルとして使用します。これらのルートには、ローカルで接続またはアタッチされたすべてのネットワークが含まれます。デフォルトでは、ヌル ラベルは、LDP コントロール プレーンによる Penultimate Hop Popping(PHOP)メカニズムの実装を可能にする暗黙的ヌルです。これが望ましくない場合、LDP コントロール プレーンによる Ultimate Hop Popping(UHOP)メカニズムの実装を可能にする明示的ヌルを使用することができます。この明示的ヌル機能は、最終ホップ LSR で設定できます。この設定ノブには、PHP を使用する IP プレフィックスを指定するためのアクセス リストが含まれています。

この新しい機能拡張では、implicit-null-override コマンドを使用することで、非出力(最終ホップ LSR)プレフィックスの暗黙的ヌル ローカル ラベルを設定できます。これにより、デフォルトによりプレフィックスで非ヌル ラベルを割り当てる必要がある場合でも、特定のプレフィックスに暗黙的ヌル ローカル ラベルを強制できます。たとえば、デフォルトでは、LSR は、IGP ルートの非ヌル ラベルを割り当て、アドバタイズします。LSR の最後から 2 番目のホップでこのルートの LSP を終端する場合、implicit-null-override 機能を使用して、このプレフィックスの暗黙的ヌル ラベル割り当ておよびアドバタイズメントを適用できます。


(注)  


特定のプレフィックスが明示的ヌルおよび暗黙的ヌル上書き機能の両方で実行される場合、暗黙的ヌル上書きが優先され、暗黙的ヌル ラベルがプレフィックスに割り当てられアドバタイズされます。


この機能は、ACL での指定時にスタティック、IGP、および BGP を含むプレフィックスで機能します。

明示的ヌル ラベルおよび暗黙的ヌル ラベルの設定

このタスクを実行して、明示的ヌル ラベルおよび暗黙的ヌル ラベルを設定します。

明示的ヌルの設定例

Router(config)#mpls ldp
Router(config-ldp)#address-family ipv4
Router(config-ldp-af)#label
Router(config-ldp-af-lbl)#local
Router(config-ldp-af-lbl-lcl)#advertise 
Router(config-ldp-af-lbl-lcl-advt)#explicit-null

暗黙的ヌルの設定例

Router(config)#mpls ldp
Router(config-ldp)#address-family ipv4
Router(config-ldp-af)#label
Router(config-ldp-af-lbl)#local 
Router(config-ldp-af-lbl-lcl)#implicit-null-override for ABC

MPLS Label Distribution Protocol 機能の詳細

MPLS Label Distribution Protocol を実装するには、機能を詳しく理解している必要があります。

Label Distribution Protocol の詳細

ラベル スイッチド パス

MPLS を通じてネットワーク内にラベル スイッチド パスが作成されます。これらのパスは静的に作成したり、または Label Distribution Protocol によって作成することができます。Label Distribution Protocol により作成されたラベル スイッチド パスはエンドツーエンド パスではなく、ホップバイホップ パスのセットアップを実行します。

Label Distribution Protocol

コントロール プレーンにより、ラベル スイッチ ルータ(LSR)は、潜在的なピア ルータを検出し、これらのピアとの LDP セッションを確立して、ラベル バインディング情報を交換します。

ラベル バインディングの交換

LDP は、MPLS パケットを MPLS ネットワークのノード間で転送できるように、LSP を使用したホップバイホップ パスのセットアップを実行します。

図 1. ラベル スイッチド パスのセットアップ . 次の図は、LSP セットアップのためのラベル バインディングの交換プロセスを示します。



ネットワーク(10.0.0.0)では、ホップバイホップ LSP が各隣接ルータ(またはノード)間でセットアップされます。各ノードは、ローカル ラベルを割り当て、これをそのネイバーにバインディングとして渡します。

  1. R4 は、ローカル ラベル L4 をプレフィックス 10.0.0.0 に割り当て、これをそのネイバー(R3)にアドバタイズします。

  2. R3 は、ローカル ラベル L3 をプレフィックス 10.0.0.0 に割り当て、これをそのネイバー(R1、R2、R4)にアドバタイズします。

  3. R1 は、ローカル ラベル L1 をプレフィックス 10.0.0.0 に割り当て、これをそのネイバー(R2、R3)にアドバタイズします。

  4. R2 は、ローカル ラベル L2 をプレフィックス 10.0.0.0 に割り当て、これをそのネイバー(R1、R3)にアドバタイズします。

  5. R1 のラベル情報ベース(LIB)は、ネイバーからのローカルおよびリモート ラベル バインディングを保持します。

  6. R2 の LIB は、ネイバーからのローカルおよびリモート ラベル バインディングを保持します。

  7. R3 の LIB は、ネイバーからのローカルおよびリモート ラベル バインディングを保持します。

  8. R4 の LIB は、ネイバーからのローカルおよびリモート ラベル バインディングを保持します。

LDP 転送

ラベル バインディングが学習されると、LDP コントロール プレーンは、次の図に示すように、MPLS フォワーディング プレーンを設定できます。
図 2. フォワーディングの設定. ラベル バインディングが学習されると、LDP コントロール プレーンは、この図に示すように、MPLS フォワーディング プレーンを設定できます。



  1. R3 は、FIB で通知されるように、10.0.0.0 のネクスト ホップなので、R1 は、ラベル バインディングを R3 から選択して、フォワーディング エントリ(レイヤ 1、レイヤ 3)をインストールします。

  2. R3 は、10.0.0.0 のネクスト ホップなので(FIB で通知)、R2 は、ラベル バインディングを R3 から選択して、フォワーディング エントリ(レイヤ 2、レイヤ 3)をインストールします。

  3. R4 は、10.0.0.0 のネクスト ホップなので(FIB で通知)、R3 は、ラベル バインディングを R4 から選択して、フォワーディング エントリ(レイヤ 3、レイヤ 4)をインストールします。

  4. 10.0.0.0 のネクスト ホップは R4 外なので(FIB で通知)、R4 は、NO-LABEL をアウトバウンドとして使用して、フォワーディング エントリ(レイヤ 4)をインストールします。アウトバウンド パケットは IP のみで転送されます。

  5. 入力 LSR R1 の着信 IP トラフィックは、ラベル インポーズされ、ラベル L3 の MPLS パケットとして転送されます。

  6. 入力 LSR R2 の着信 IP トラフィックは、ラベル インポーズされ、ラベル L3 の MPLS パケットとして転送されます。

  7. R3 は、ラベル L3 の MPLS パケットを受信し、MPLS ラベル フォワーディング テーブルで検索して、このパケットをラベル L4 の MPLS パケットとしてスイッチします。

  8. R4 は、ラベル L4 の MPLS パケットを受信し、MPLS ラベル フォワーディング テーブルで検索して、ラベルを削除する必要があると判断します。次に、トップ ラベルをポップして、これを IP フォワーディング プレーンに渡します。

  9. IP フォワーディングは、パケットを継承して、転送します。

Label Distribution Protocol のグレースフル リスタートの詳細

LDP(ラベル配布プロトコル)グレースフル リスタートは、コントロール プレーン メカニズムを提供して、ハイ アベイラビリティを保証し、ノンストップ フォワーディング(NSF)サービス中に障害を検出しリカバリできるようにします。グレースフル リスタートは、フォワーディングに影響を与えずに、シグナリングおよびコントロール プレーンの障害から回復する方法です。

LDP グレースフル リスタートを使用しない場合、確立されたセッションで障害が発生すると、対応するフォワーディング ステートが、リスタートおよびピア ノードからすぐに消去されます。この場合、LDP フォワーディングは、最初から再起動するので、データおよび接続が失われる可能性があります。

LDP グレースフル リスタート機能は、セッション初期化中に FT SESSION TLV で 2 つのピア間でネゴシエーションされます。この Typed Length Value(TLV)では、各ピアは、次の情報をピアにアドバタイズします。

再接続時間

この LSR がコントロール チャネル障害後に再接続するまで他のピアが待機する最大時間をアドバタイズします。

回復時間

他のピアがこの LSR を復元またはリフレッシュする最大時間をアドバタイズします。この時間は、先行のセッション障害後のセッション再確立中のみに使用されます。

FT フラグ

再起動により、このフラグの保存(ローカル)ノードの ステートを復元できるかどうかを指定します。

グレースフル リスタート セッション パラメータが伝達され、セッションが起動し動作していると、グレースフル リスタート手順がアクティブになります。

マルチ リンク、または同じネイバーの targeted LDP hello 隣接、あるいはこれら両方のネットワークで LDP グレースフル リスタート プロセスを設定する場合、ネイバー コントロール プレーン障害時に任意の hello 隣接がタイムアウトになる前に、グレースフル リスタートがセッションでアクティブになっていることを確認します。これをアクティブにするには、たとえば、セッション タイムアウトが hello 隣接タイムアウトの前に発生するように、ネイバー間のセッション保持時間を低く設定します。LDP セッション保持時間は、次の式を使用して設定することを推奨します。

LDP コマンドの詳細については、『MPLS Command Reference for Cisco NCS 5000 Series Routers』「MPLS Label Distribution Protocol Commands」のモジュールを参照してください。

Session Holdtime <= (Hello holdtime - Hello interval) * 3

たとえば、リンク hello の保持時間およびインターバルがそれぞれデフォルト値の 15 秒および 5 秒である場合、セッション保持時間は、30 秒以下に設定します。

グレースフル リスタートのフレーズ

グレースフル リスタート メカニズムは、次のフェーズに分かれます。

制御通信障害の検出
システムが次のいずれかの状況を検出したときに、制御通信障害が検出されます。
  • LDP hello ディスカバリ メッセージの欠落

  • LDP キープアライブ プロトコル メッセージの欠落

  • ピアとの Transmission Control Protocol(TCP)切断の検出

障害時のフォワーディング ステート メンテナンス

各 LSR での永続的フォワーディング ステートは、LDP コントロール プレーンにより、永続的ストレージ(チェックポイント)を介してアーカイブされます。コントロール プレーンのリカバリ中、フォワーディング プレーンは、フォワーディング ステートを保持しますが、ステイル マークを付けます。同様に、ピア コントロール プレーンも(ステイル マークを付けて)再起動中のノードに関連付けられているインストール済みフォワーディングを保持します。ローカル ノード フォワーディングとリモート ノード フォワーディングのプレーン ステートを組み合わせることで、NSF を保証し、トラフィックの損失を防ぎます。

制御ステートのリカバリ

リカバリは、セッションが再確立され、ラベル バインディングが再び交換されるときに発生します。このプロセスにより、ピア ノードは、ステイル フォワーディング ステートを同期化およびリフレッシュできます。

コントロール プレーンの障害

コントロール プレーン障害は、接続に影響します。ルータ コントロール プレーンによりインストールされたフォワーディング ステートが失われ、転送中パケットがドロップされ、NSF が損失する可能性があります。

図 3. コントロール プレーンの障害. 次の図に、コントロール プレーン障害とグレースフル リスタートによるリカバリを示し、接続の損失につながるコントロール プレーン障害の処理と結果、およびグレースフル リスタートを使用したリカバリについて説明します。



グレースフル リスタートによるリカバリ

図 4. グレースフル リスタートによるリカバリ.



  1. R4 LSR コントロール プレーンが再起動します。

  2. コントロール プレーンが再起動すると、LIB が失われます。

  3. R4 LDP コントロール プレーンによりインストールされたフォワーディング ステートがすぐに削除されます。

  4. R3 から R4(ラベルはまだ L4)への転送中の任意のパケットが R4 に到着します。

  5. R4 の MPLS フォワーディング プレーンが、ローカル ラベル L4 でルックアップを実行しますが失敗します。これにより、パケットがドロップされ、NSF が満たされなくなります。

  6. R3 LDP ピアが、コントロール プレーン チャネルの障害を検出して、そのラベル バインディングを R4 から削除します。

  7. R3 コントロール プレーンは、R4 からの出ラベルの使用を停止し、対応するフォワーディング ステート(リライト)を削除します。これにより、フォワーディングが失敗します。

  8. R4 に接続されている確立済み LSP は、R3 で終端し、R1 から R4 へのエンドツーエンド LSP が終了します。

  9. R4 に接続されている確立済み LSP は、R3 で終端し、R2 から R4 へのエンドツーエンド LSP が終了します。

LDP コントロール プレーンがリカバリすると、リスタート LSR は、そのフォワーディング ステートの保持タイマーを開始し、フォワーディング ステートをチェックポイント データから復元します。これにより、フォワーディング ステートおよびエントリが復元され、オールド マークが付けられます。

リスタート LSR は、正常に復元されたかどうかに関係なく、FT セッション TLV に示されているピアに再接続します。ステートが復元できた場合、バインディングは再び同期化されます。

リスタート ピアが接続し、ネイバー リカバリ タイマーを開始すると、ピア LSR は、(リスタート LSR により開始された)ネイバー再接続タイマーを停止します。ピア LSR は、リスタート ピアがそのステートを正常に復元できた場合、FT セッション TLV をチェックします。次に、対応するフォワーディング ステート エントリを復元し、リスタート ピアからバインディングを受信します。リカバリ タイマーが失効すると、任意のフォワーディング ステート(この段階ではステイル マークが付いています)が削除されます。

リスタート LSR が復元(再起動)に失敗した場合、リスタート LSR フォワーディング ステートおよびエントリは、タイムアウトになり削除されます。ネイバー関連のフォワーディング ステートまたはエントリは、再接続またはリカバリ タイマーが失効すると、ピア LSR により削除されます。

セッション保護の詳細

LDP セッション保護により、すべてのピアまたはピアの特定のセット(peer-acl で指定)でセッションを自動的に保護するように LDP を設定できます。LDP は、設定されると、プライマリ リンク隣接がすでに存在するネイバーのバックアップ targeted hello を自動的に開始します。これらのバックアップ targeted hello は、プライマリ リンク隣接がダウンしても、LDP セッションを保持します。

セッション保護の図は、ネイバー R1 と R3 の間の LDP セッション保護を示します。R1 および R3 間でのプライマリ リンク隣接は、リンクとバックアップが直接接続されます。ターゲット隣接は、R1 と R3 間で保守されます。ダイレクト リンクが失敗すると、LDP リンク隣接が破棄されますが、セッションは、targeted hello 隣接を使用してアップのまま実行します(R2 を介します)。ダイレクト リンクが再びアップになっても、LDP セッション ステートは変わらず、LDP は、すばやく収束し、MPLS トラフィックの転送を開始します。

図 5. セッション保護




(注)  


LDP セッション保護が(リンク障害時に)アクティブの場合、保護は無制限で保守されます。


1 L3VPN Inter-AS オプション C の場合、一部の BGP プレフィックスにローカル ラベルを割り当てるには、LDP も必要になる場合があります。