内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

理論

MBBのクエリーおよび確認応答メカニズム

MBB機能

MBB遅延

再ルーティング用MBB

保護のためのMBB

mLDP保護理論

必要な設定

FRRのMBBの例

使用中のMBB

mLDPトレース

スケールMLDP LSP用のFRRタイマーの設定

結論

はじめに

このドキュメントでは、Cisco IOS® XRでのMake-Before-Break(MBB)の動作について説明します。

前提条件

要件

このドキュメントに関する固有の要件はありません。

使用するコンポーネント

- このドキュメントはCisco IOS® XRに固有のものですが、特定のソフトウェアリリースやハードウェアに限定されるものではありません。

- この記事で使用するすべてのデバイスは、Cisco IOS XR 6.5.2を実行しています。すべてのラインカードは、第3または第4世代のASR9kラインカードです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

Make-Before-Break(MBB)の目的は、新しいmLDP(Multipoint Label Distribution Protocol)ツリーを設定してから古いツリーをティアダウンし、マルチキャストトラフィックを失うことなく古いツリーから新しいツリーにトラフィックを切り替えることです。これは、次の2つのシナリオで使用できます。

1. 新しいパスがより適切なIGP(Interior Gateway Protocol)メトリックで使用可能になったときに再ルーティングが発生する場合：古いツリーから新しいツリーにトラフィックを切り替えて、古いツリーを削除します。

2. マルチキャストトラフィックがバックアップパスで保護されている場合：バックアップパスから新しくシグナリングされたネイティブmLDPツリーにトラフィックを切り替えてから、バックアップツリーを削除します。

ルータが古いLSP（ラベルスイッチドパス）の障害を認識している場合は、新しいLSPの使用を開始するのを待つ必要はありません。ここでは、古いツリーに到達するトラフィックがないため、待機しても意味がありません。古いツリーがまだ機能している場合は、新しいツリーが完全にセットアップされるまで、ルータは古いツリーを切断しないでください。

理論

MBBは、RFC 6388で説明されているように、クエリーおよび確認応答メカニズムによって制御されます。これはmLDPのベースRFCです。このクエリーおよび確認応答メカニズムは、新しいツリーがマルチキャストトラフィックを転送する準備ができたときに通知します。この方法では、パケット損失は発生しません。古いLSPが破損していることがわかっている場合は、新しいLSPの使用を開始するまで待機しないでください。ここでは、古いツリーに到達するトラフィックがないため、待機しても意味がありません。古いツリーがまだ機能している場合は、新しいツリーが完全にセットアップされるまで、ルータは古いツリーを切断しないでください。

MBBが役立つケースは次のとおりです。

- トポロジの変更、リンクアップイベント、またはリンクのIGPコストの削減が発生したため、既存のツリーが再ルーティングされています。

- アクティブに保護されたTEトンネル/LFA（ループフリー代替）またはTi-LFA（トポロジ非依存LFA）パスでマルチキャストトラフィックを受信した後、ネイティブmLDPツリーに戻す。

この2つは良い出来事を表していることに注目してください。  不正なイベントの例としては、直接接続されたリンクがアップストリームパス上のルータでダウンしている場合があります。この場合、MBBは役に立ちません。この場合、IP FRR(Fast ReRoute)が必要です。

MBBが発生すると、一時的に複数のアップストリームネイバーまたは複数のダウンストリームネイバーが存在します。  RFC 6388では、複数の受け入れ要素を使用できるように指定されています。これは、1つのツリーに複数の上流近接デバイスと上流ラベル値を設定できることを意味します。「受け入れ要素」とは、上流のmLDPネイバーがトラフィックを受け入れる候補であることを意味します。1つの受け入れ要素がアクティブ要素です。アクティブな要素とは、MPLSラベルがフォワーディングプレーンにインストールされる要素です。もう一方の受け入れ要素は非アクティブ要素です。この要素は、MPLSラベルがまだフォワーディングプレーンにインストールされていない要素です。この非アクティブな要素は、Query/Ackメカニズムを使用してツリーの新しくシグナル化された部分の要素であり、アクティブな受け入れ要素に移行する前に短時間だけ持続する必要があります。ツリーごとに受け入れる要素は2つだけです。1つはアクティブな要素で、もう1つは非アクティブな要素です。Query/Ackシグナリングが終了するか、固定時間遅延に達すると、古いネイバーはツリーから削除されます。

Query/Ackメカニズムの代わりに、他の実装の選択肢として、新しいLSPへのスイッチオーバーを、設定可能な固定遅延だけ遅延させることもできます。

mLDPでは、ユニキャストが使用するダウンストリームの割り当て済みラベル領域が共有されるため、MPLSフォワーディングプレーンでは、マルチキャストパケットとユニキャストパケットの間に本質的な違いはありません。フォワーディングプレーンはユニキャストと共有されるため、IP FRRなどの特定のユニキャスト機能がマルチキャストに継承されます。

MBB手順は、P2MP（ポイントツーマルチポイント）ツリーおよびMP2MP（マルチポイントツーマルチポイント）ツリーに適用されます。

MBBのクエリーおよび確認応答メカニズム

MBBはオプションです（RFCでもオプションです）。したがって、有効にするにはMBBを設定する必要があります。このコマンドを設定すると、アップストリームに送信されるラベルマッピングメッセージに添付されるMBBステータスが存在する場合と、アップストリームルータからダウンストリームルータに送信されるLDP通知メッセージに添付される場合があります。ルータは、LDP MPステータスTLVにMBBステータスを付加できます。

MBBステータスは、LDP MPステータス値要素の一種です。

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

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| MBB Type = 1  |      Length = 1               | Status Code   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ステータスコードは、MBB要求の場合は1、MBB ackの場合は2です。

LDP MPステータスTLVは次のようにエンコードされます。

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

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|1|0| LDP MP Status Type(0x096F)|            Length             |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                           Value                               |

~                                                               ~

|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Valueフィールドには、1つ以上のLDP MP Status Value要素が保持されます。

LDP MPステータスTLV値に含まれるLDP MPステータス値要素には、次のエンコーディングがあります。

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

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

| Type          | Length                        | Value ...     |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+               |

~                                                               ~

|                                                               |

|                               +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                               |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

LDP MPステータスTLVは、ラベルマッピングメッセージまたはLDP通知メッセージに表示されます。

LDP通知メッセージの場合：

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|   Notification (0x0001)     |      Message Length           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Message ID                              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                       Status TLV                              |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                   LDP MP Status TLV                           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                 Optional LDP MP FEC TLV                       |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                 Optional Label TLV                            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ラベルマッピングメッセージ内：

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 Mapping (0x0400)    |      Message Length           |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Message ID                                |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     FEC TLV                                   |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Label TLV                                 |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Optional LDP MP Status TLV                |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

|                     Additional Optional Parameters            |

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

ダイナミックMBBの動作については、前の項で説明しました。もう1つのオプションは、新しいツリーへの切り替えが遅延によってのみ決定されるスタティック動作を使用することです。この場合、切り替えは、新しいツリーの準備が整ってから一定の時間（ミリ秒）後に発生します。

図1は、mLDPラベルマッピングメッセージのWiresharkでのキャプチャを示しています。LDP MPステータスTLVが接続されています。

画像 1

01000102はMBB Type 1に対しては1に、Length 1に対しては0001、MBB Ackに対しては02にデコードされます。

MBBメカニズムは、P2MP mLDP FEC(Forwarding Equivalence Class)、およびMP2MPアップストリームまたはダウンストリームFECに適用されます。

MBB機能

MBBを実行できるルータは、これをLDPセッションのMBB機能アドバタイズメントでネイバーにアドバタイズします。

RP/0/RSP1/CPU0:R2#show mpls mldp neighbors

MLDP peer ID      : 10.79.196.14:0, uptime 22:32:06 Up,

Capabilities     : Typed Wildcard FEC, P2MP, MP2MP, MBB

Target Adj       : No

Upstream count   : 0

Branch count     : 0

Label map timer  : never

Policy filter in :

Path count       : 1

Path(s)          : 10.159.248.201    Bundle-Ether120 No LDP

Adj list         : 10.254.3.36      Bundle-Ether10362

Peer addr list   : 10.79.196.14

: 10.55.55.1

: 10.196.91.134

: 10.200.30.1

Cisco IOS XRでは、MBBはデフォルトで有効になっていません。

コマンド「make-before-break」は、機能と機能のアドバタイズメントを有効にします。

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 0

MBBにはデフォルトで遅延はありません。スケール設定の場合のみ、遅延を大きくする必要があります。これは、mLDPデータベースエントリが多い場合、インストールする必要があるmLDP転送エントリが多くなる可能性があるためです。これらのフォワーディングエントリをラインカードのデータプレーンにインストールするには、時間がかかる場合があります。

MBB遅延

図2を参照してください。

画像 2

古いツリーと新しくシグナリングされたツリーがあります。2つのツリーが分岐するルータがPoint of Local Repair(PLR)です。2つのツリーが再びマージされるルータがマージポイント(MP)です。mLDPツリーの新しい部分は、ルータがより適切なパスを検出したため通知されます。新しいリンクR4 - R2が使用可能になったか、そのリンクのIGPメトリックが下げられ、全体的なメトリックが低いパスが作成されました。

MBBには2つの遅延値を設定できます。1つ目は、MPスイッチオーバーを使用してネイティブパスに戻す際の遅延です。これは、MBB ackが受信されてからの時間です。

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay ?

<0-600> Forwarding delay in seconds

遅延がゼロの場合、新旧のパスが混在するルータ(PLR)でMBB Ackが受信された後、新しくシグナリングされたパスがただちに使用されます。2番目は、MPがネイティブパスに切り替わった後のバックアップパスの削除の遅延です。

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay 10 ?

<0-60> Delete delay in seconds

<cr>

RP/0/RP1/CPU0:Router(config-ldp-mldp-af)#make-before-break delay 10 10 ?

<cr>

スイッチオーバー遅延と削除遅延の両方がMPで使用されます。

再ルーティング用MBB

MBBは、古いmLDPツリーがダウンする前に、新しいmLDPツリーをセットアップします。これは、古いツリーがまだ存在し、トラフィックを転送している場合にのみ意味があります。リンクアップイベントなどのIGPコンバージェンスは、mLDPツリーに対してより適切なパスを生成できます。これは、ルートに対してより小さなIGPメトリックを意味し、MP2MP mLDPツリーの場合はリーフに対してさらに小さなIGPメトリックを意味します。

例を見てください。

図3は、ルーティングコンバージェンスイベントの前のネットワークを示しています。

画像 3

R5は1つのmLDPツリーのルートルータで、R6はリーフルータです。P2MP mLDPツリーには、すべてのルータからルートに向けて、ラベルマッピングメッセージ（MPLSラベルを含む）がシグナリングされます。このLDPラベルマッピングメッセージはMBB要求を伝送しません。

mLDPトラフィックは、トップパスを経由して左（ルート）から右（リーフ）に流れます。各リンクでは、示されたMPLSラベルがマルチキャストパケットの先頭にあります。

図4は、ルーティングコンバージェンスイベント（MBBなし）後のネットワークを示しています。

図 4

リンクR4 - R2はアップ状態です。このリンクのメトリックの値は小さいため、下のパスのメトリックは上のパスのメトリックより小さくなります。2つのことを実行する必要があります。1つはリンクを介してIGP隣接関係を確立する必要があり、もう1つはLDPセッションを新しいリンクを介して確立する必要があります。このLDPセッションが確立されると、mLDPツリーを上から下に移動するために、このリンクを介してラベルマッピングメッセージが交換されます。

MBBが設定されていない場合は、ボトムパスにLDPラベルマッピングメッセージを使用した通常のシグナリングがあります。ラベルマッピングメッセージ（MBB要求なし）がR1に到達するとすぐに、R1はトップパスでのマルチキャストトラフィックの転送を停止し、ボトムパスでのマルチキャストトラフィックの転送を開始します。

最後に、R1は2つのパスを介してマルチキャストトラフィックを転送せず、1つのパスのみを介して転送します。つまり、トラフィックを上から下のパスにスイッチングしました。切り替えは即時に行われ、R2からR1へのR4を経由するコントロールプレーンシグナリングが、新しいパス上のルータのデータプレーンにmLDPエントリをインストールするのに必要な時間よりも少し速くなる可能性があるため、短期間のマルチキャストトラフィックのドロップにつながる可能性があります。

mLDPロギング通知が明示的に有効になっている。

RP/0/0/CPU0:Jan  1 16:06:49.778 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Add LDP 10.0.0.4:0 branch remote label 24009

RP/0/0/CPU0:Jan  1 16:06:49.838 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Delete LDP 10.0.0.3:0 branch remote label 24009

MBBが設定されている場合は、次のようになります。

R1でMBBを設定するだけでは十分ではないことに注意してください。

R2の設定例を次に示します。

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 60

!

リンクR4-R2を経由するLDPセッションがアップしているときに、R2で古いパスから新しいパスへのスイッチオーバーを60秒で遅延させる必要があります。それは起こらない。R4を経由するR2とR1の間でMBBシグナリングを機能させるには、すべてのルータ（または少なくともR1、R4、およびR2）でMBBを有効にする必要があります。

MBBシグナリングを有効にするには、すべてのルータでこの最小限の設定を行う必要があります。

mpls ldp

mldp

logging notifications

address-family ipv4

make-before-break delay 0

!

図5を参照してください。

図 5

すべての正しい設定が行われています。最初からイベントを見ているので、コンバージェンスイベントの前の状況を見ています。

アクティブな一番上のパスが始点です。R1では、R3が唯一のダウンストリームクライアントです。

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:19:43

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:19:43

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.3:0     Uptime: 00:03:28

Next Hop         : 10.1.3.3

Interface        : GigabitEthernet0/0/0/0

Remote label (D) : 24009

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.3.3, Intf: GigabitEthernet0/0/0/0 Role: M

R2では、R3が唯一の受け入れ要素です。

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:23:58

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.3:0 [Active] [MBB] Uptime: 00:03:19

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:23:58

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

MBBシグナリングの後、R2には2つの受け入れ要素（1つはアクティブ、1つは非アクティブ）があります。

Jan  1 16:52:43.700 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_ADD : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Add LDP 10.0.0.4:0 branch remote label 240

R1には2つのダウンストリームクライアントR3とR4があります。

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:22:35

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:22:35

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.3:0     Uptime: 00:06:20

Next Hop         : 10.1.3.3

Interface        : GigabitEthernet0/0/0/0

Remote label (D) : 24009

LDP 10.0.0.4:0     Uptime: 00:00:36

Next Hop         : 10.1.4.4

Interface        : GigabitEthernet0/0/0/1

Remote label (D) : 24009

R1は両方のパスで転送しています。

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.3.3, Intf: GigabitEthernet0/0/0/0 Role: M

24009, NH: 10.1.4.4, Intf: GigabitEthernet0/0/0/1 Role: M

R2には2つのアップストリームネイバーがあり、1つはアクティブ(R3)、もう1つは非アクティブ(R4)です。このフェーズは60秒間存在し、転送遅延時間が生じます。

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:27:00

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

MBB nbr evaluate   : 00:00:21

Features           : MBB

Upstream neighbor(s) :

10.0.0.4:0 [Inactive] [MBB] Uptime: 00:00:38

Local Label (D) : 24009

10.0.0.3:0 [Active] [Delete] [MBB] Uptime: 00:06:22

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:27:00

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

24009  LSM-ID: 0x00001 flags: ED

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

各mLDPツリーのローカルラベルが異なることに注意してください。したがって、R2では、着信mLDPトラフィックを区別し、どの着信mLDPパケットがどのmLDPツリーに属するかを特定するという問題はありません。R2は常に1つのツリーからのトラフィックのみを転送します。フラグEDは「出力ドロップ」を意味し、ラベル24009で着信したパケットがドロップされることを意味します。これは、受け入れ要素が非アクティブになっているツリー上のパケットです。重複したトラフィックがレシーバに到達することはありません。

R2の各mLDPツリーの発信ラベルが同じであることに注意してください。そのため、R2のダウンストリームルータであるR6では、再ルーティング後にトラフィックが元の古い（上）パスを経由したか、新しい（下）パスを経由したかを区別できません。

60秒後、R2はトップパスからのトラフィックの転送を停止し、ボトムパスからのトラフィックを開始します。

RP/0/0/CPU0:R1 Jan  1 16:53:44.236 : mpls_ldp[1180]: %ROUTING-MLDP-5-BRANCH_DELETE : 0x00001 [ipv4 10.0.0.105 232.1.1.1] P2MP 10.0.0.5, Delete LDP 10.0.0.3:0 branch remote label 24009

R1にはダウンストリームクライアントR4が1つしかありません。

RP/0/0/CPU0:R1#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:25:21

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.5:0 [Active] [MBB] Uptime: 00:25:21

Local Label (D) : 24008

Downstream  client(s):

LDP 10.0.0.4:0     Uptime: 00:03:22

Next Hop         : 10.1.4.4

Interface        : GigabitEthernet0/0/0/1

Remote label (D) : 24009

RP/0/0/CPU0:R1#show mpls mldp forwarding

mLDP MPLS forwarding database

24008  LSM-ID: 0x00001 flags: None

24009, NH: 10.1.4.4, Intf: GigabitEthernet0/0/0/1 Role: M

R2にはアップストリームネイバーが1つしかありません。

RP/0/0/CPU0:R2#show mpls mldp database

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 00:29:54

FEC Root           : 10.0.0.5

Opaque decoded     : [ipv4 10.0.0.105 232.1.1.1]

Features           : MBB

Upstream neighbor(s) :

10.0.0.4:0 [Active] [MBB] Uptime: 00:03:31

Local Label (D) : 24009

Downstream  client(s):

LDP 10.0.0.6:0     Uptime: 00:29:54

Next Hop         : 10.2.6.6

Interface        : GigabitEthernet0/0/0/2

Remote label (D) : 24010

RP/0/0/CPU0:R2#show mpls mldp forwarding

mLDP MPLS forwarding database

24009  LSM-ID: 0x00001 flags: None

24010, NH: 10.2.6.6, Intf: GigabitEthernet0/0/0/2 Role: M

R2上のmLDPトレースは、MBBシグナリングが使用されていること、古いパスから新しいパスに切り替える前に60秒の遅延があり、古いパスを削除するための後続の0秒の遅延があることを示しています。その後、R2は古いパスのLabel WithdrawメッセージをR3に送信し、応答としてLabel ReleaseメッセージをR3から受信します。

RP/0/0/CPU0:R2#show mpls mldp trace

Jan  1 16:52:43.370 MLDP GLO 0/0/CPU0 t21 NBR  : New LDP peer 10.0.0.4:0 UP cap: f

Jan  1 16:52:43.370 MLDP GLO 0/0/CPU0 t21 NBR  : 10.0.0.4:0 LDP Adjacency addr: 10.2.4.4, Interface: GigabitEthernet0/0/0/1 Add

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.4:0 installed local label 24009

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label mappping MBB Request msg to 10.0.0.4:0 Success

Jan  1 16:52:43.660 MLDP LSP 0/0/CPU0 t21 FWD  : 0x00001 Label 24009 add path label 24010 intf GigabitEthernet0/0/0/2 nexthop 10.2.6.6 id 0x00001 Success

Jan  1 16:52:43.660 MLDP GLO 0/0/CPU0 t21 GEN  : Root 10.0.0.5 path 10.2.4.4 php nh 10.2.4.4 peer 134a338c:10.0.0.4:0

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP notification from 10.0.0.4:0 root 10.0.16.0 Opaque Len: 83886090 MBB Ack

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 Start MBB Notification timer 100 msec (MBB ack)

Jan  1 16:52:43.910 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL selection delayed for 60 seconds (MBB)

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 start delete pending timer at 0 sec

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.4:0 activate

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 update active ident from 10.0.0.3:0 to 10.0.0.4:0

Jan  1 16:53:44.156 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 deactivate

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 delete delay timer expired, delete pending TRUE

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 FWD  : 0x00001 Label 24008 delete, Success

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 binding list Local Delete

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 Released label 24008 to LSD

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label withdraw msg to 10.0.0.3:0 Success

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 ACEL 10.0.0.3:0 remove

Jan  1 16:53:44.256 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 P2MP label release from 10.0.0.3:0 label 24008 root 10.0.0.5 Opaque Len 11

Jan  1 16:53:44.356 MLDP LSP 0/0/CPU0 t21 DB   : 0x00001 MBB notification delay timer expired

保護のためのMBB

mLDP保護は、保護自体とMBB (Make-Before-Break)の2つの主要部分で構成されています。

保護

mLDPトラフィックの保護は、ユニキャストMPLSトラフィックの保護メカニズムに似ています。リンク障害が検出されるとすぐに、PLRルータはマルチキャストトラフィックをそのリンクを通過するツリーからバックアップパスに切り替えます。このバックアップパスは、フォワーディングプレーンにインストールされた事前に計算されたパスです。そのため、障害が発生するとすぐに、マルチキャストトラフィックをバックアップパスに即座に切り替えることができます。

保護はリンクダウン専用です。mLDPにはノード保護はありません。

リンクダウンイベントを非常に迅速に検出する必要があります。これは、BFD(Bidirectional Forwarding Detection)を使用する必要があることを意味します。

MBB

保護が開始された後、マルチキャストトラフィックはバックアップパス上に永続的に留まりません。トラフィックは、新しく計算されたネイティブのmLDPツリー/パスにスイッチオーバーする必要があります。この切り替えは、マルチキャストトラフィックが失われないように行う必要があります。このためにMBBが使用されるため、新しくシグナリングされたツリーが完全に設定されてトラフィックを転送している場合にのみ、トラフィックがスイッチオーバーされます。MPルータは、トラフィックを失うことなく、古いバックアップツリーから新しくシグナリングされたツリーに安全に転送を切り替えることができます。

mLDP保護理論

図6を参照してください。これは、Ti-LFAで保護されているリンクR1 - R2を持つネットワークを示しています。

図 6

mLDPトラフィックは、リンクR1 ～ R2経由で転送されます。FRRはR3経由のバックアップパスを計算してインストールします。

図7を参照してください。

図 7

図7は、保護がアクティブになっている状況を示しています。

リンクR1 - R2がダウンすると、そのリンクを経由するLDPセッションはLDPセッション保護によってアクティブに維持されます。TCPセッションであるLDPセッションは、R3経由で再ルーティングされます。これにより、R1とR2の間のLDPとmLDPのラベルバインディングが削除されます。このLDPセッションをR3経由でルーティングしてマルチホップにするには、ターゲットLDPセッションである必要があります。これは、LDPセッション保護が設定されると自動的に行われます。

リンクR1 ～ R2がダウンすると、mLDPトラフィックはR3を介して高速に再ルーティングされます。これが機能するには、R2のLDPルータIDへのルートに対する何らかの形式の保護がR1に存在する必要があります。これは、MPLSトラフィックエンジニアリング(TE)トンネル、LFA（ループフリー代替）、またはTi-LFA（トポロジ非依存LFA）を有効にすることによって実現されます。R1からR2へのマルチキャストトラフィックには1つのmLDPラベルがありました。リンクR1 - 2がダウンすると、マルチキャストトラフィックはR2に送信されるときに追加のラベルを取得します。Penultimate Hop Popping(PHP)があるため、トラフィックは1つのラベルでR2に転送されます。R2は、R1 - R2リンクがアップしたときと同じラベルを持つこのトラフィックを受信します。R2はこのマルチキャストトラフィックを転送し続けます。

この保護は高速です。mLDPトラフィックは保護されますが、R2はR3を経由してR1に向かう新しいネイティブパスのシグナリングを開始します。そのため、R2はmLDPラベルマッピングメッセージをR3に送信します。R3はR1に対しても同じことを実行します。これは、新しいmLDPパスを作成する場合の常と同じプロセス/シグナリングです。このシグナリングが有効な間、R2はバックアップmLDPパスからのトラフィックを転送し続けます。R2は、新しく作成されたネイティブパスからのトラフィックの転送をいつ開始しますか。トリガーには、時間遅延とシグナリングトリガーの2つがあります。時間遅延は何らかの方法で設定されます。シグナリングトリガーは、mLDPで導入され、RFC 6388で指定されているMake-Before-Break(MBB)動作です。R2はR1からの信号を受信すると、新しいネイティブmLDPパスの準備が整ったことを示すため、新しいmLDPパスからのトラフィックの転送を開始し、バックアップパスからのトラフィックの転送を停止できます。

R1はPLR(Point-of-Local-Repair)と呼ばれ、保護されたパスと新しくシグナリングされたネイティブパスが分岐するルータです。R2はMP（マージポイント）であり、保護されたパスと新しくシグナリングされたネイティブパスが再びマージされるルータです。

図8を参照してください。

図 8

図8は、R2からR3、およびR3からR1へのmLDPラベルマッピングメッセージがあることを示しています。このラベルマッピングメッセージにはMBB要求があります。

図9を参照してください。

図 9

R1はLDP通知でこのシグナリングに応答し、逆方向にMBB確認応答を伝送します。だから、ツリーを下る。このメッセージは、R1からR3、およびR3からR2に移動します。これは、新しいネイティブmLDPパスの準備が整ったことをMPルータであるR2に通知します。この時点で、R1はmLDPトラフィックを2回転送します。1回はバックアップパスに、1回は新しいネイティブパスに転送します

ここでは、MBBを使用して、MP(R2)のスイッチオーバーを（直前に作成した）ネイティブパスに戻します。MBBがシグナリング部分を終了すると、MPはバックアップパスから到着するmLDPトラフィックの転送を停止し、新しくシグナリングされたネイティブパスからのトラフィックの転送を開始します。MBBは、この新しくシグナリングされたパスがいつ準備できるかを示すために、ここで使用されます。もう1つの可能性は、遅延を設定することです。その場合、MPはバックアップパスから到着するmLDPトラフィックの転送を停止し、MBBがこの新しいネイティブパスの準備ができたことを通知した後、設定された遅延タイマーが経過した後に、新しく通知されたネイティブパスからのトラフィックの転送を開始します。

R2が新しいネイティブパスからのトラフィックの転送を開始すると、バックアップパスからのトラフィックの転送を停止し、ツリーに対するLDP Label Withdrawメッセージ（およびLDP Label Releaseメッセージ）を送信してバックアップパスのティアダウンを通知します。

プラットフォームでラインカードへのすべてのフォワーディングステートをプログラムできるように、古いツリーを削除するための追加のdelete遅延を追加できます。

この後、新しくシグナリングされたネイティブツリーのみが存在します。図10を参照して、この場合のmLDPトラフィックの転送を確認してください。

図 10

mLDPトラフィックの先頭にMPLSラベルが1つ表示されていることに注目してください。

必要な設定

mLDP FRR(Fast ReRoute)を機能させるには、次の3つの設定項目が必要です。

次のものが必要です。

- mLDPの再帰転送が有効

- LDPセッション保護が有効

- IGP下のLFA(Loop-free Alternate)またはTi-LFA(Topology Independent LFA)（Ti-LFAにはセグメントルーティングが必要）ポイントツーポイントトラフィックエンジニアリングも可能です。

これら3つのいずれかが欠けている場合、mLDPのFRR保護はありません。mLDPはリンク障害に対してのみ保護し、ノード障害に対しては保護しません。

設定例

mpls ldp

log

neighbor

nsr

graceful-restart

session-protection

!

igp sync delay on-session-up 25

mldp

logging notifications

address-family ipv4

make-before-break delay 600 60      <<<<<<

forwarding recursive                <<<<<<

!

!

router-id 10.79.196.14

neighbor

dual-stack transport-connection prefer ipv4

!

session protection for LDP-PEERS     <<<<<<

address-family ipv4

label

local

allocate for host-routes

!

!

!

make-before-breakコマンドはオプションです。

発信インターフェイスがLFAまたはTi-LFAで保護されていることを確認します。

router isis IGP

set-overload-bit on-startup 600

net 49.0010.0000.0000.0001.00

segment-routing global-block 100000 150000

nsf cisco

log adjacency changes

lsp-gen-interval maximum-wait 5000 initial-wait 1 secondary-wait 50

lsp-refresh-interval 1800

max-lsp-lifetime 1880

address-family ipv4 unicast

metric-style wide

fast-reroute per-prefix priority-limit critical

fast-reroute per-prefix tiebreaker lowest-backup-metric index 20

fast-reroute per-prefix tiebreaker node-protecting index 30

fast-reroute per-prefix tiebreaker srlg-disjoint index 10

mpls traffic-eng level-2-only

mpls traffic-eng router-id Loopback145

mpls traffic-eng multicast-intact

spf-interval maximum-wait 7000 initial-wait 1 secondary-wait 50

segment-routing mpls sr-prefer

segment-routing prefix-sid-map advertise-local

spf prefix-priority critical tag 17

mpls ldp auto-config

!

address-family ipv6 unicast

metric-style wide

fast-reroute per-prefix priority-limit critical

fast-reroute per-prefix tiebreaker lowest-backup-metric index 20

fast-reroute per-prefix tiebreaker node-protecting index 30

fast-reroute per-prefix tiebreaker srlg-disjoint index 10

spf-interval maximum-wait 7000 initial-wait 1 secondary-wait 50

segment-routing mpls sr-prefer

spf prefix-priority critical tag 17

!

interface Bundle-Ether10362

circuit-type level-2-only

point-to-point

address-family ipv4 unicast

fast-reroute per-prefix            <<<<<<

fast-reroute per-prefix ti-lfa     <<<<<<

metric 420 level 2

mpls ldp sync level 2

!

address-family ipv6 unicast

fast-reroute per-prefix

fast-reroute per-prefix ti-lfa

metric 420 level 2

!

新しいネイティブパス上のルータにMBBが設定されていない場合、マルチキャストトラフィックの保護には影響しません。この保護は、PLRでのLDPセッション保護、再帰フォワーディング、およびFRRの設定にのみ依存します。新しいネイティブパスルータのMBB設定は、トラフィックがバックアップパスから新しくシグナリングされたツリーに切り替わった場合にのみ影響します。mLDPルータがダウンストリームルータからMBB要求を含むラベルマッピングメッセージを受信し、アップストリームルータにラベルマッピングメッセージを送信する必要があるが、そのアップストリームルータでMBBが有効になっていない場合、mLDPルータは（MBB要求を除いて）ラベルマッピングメッセージをアップストリームルータに送信するとすぐに、LDP通知メッセージをこのダウンストリームルータに送信します。そのため、通常のmLDPツリーが結果として得られます。

FRRのMBBの例

トポロジの図11を参照してください。

図 11

R1とR2の間のリンクに障害が発生すると、R3を介した間のmLDPセッションがLDPターゲットセッションによって保護されます。そのため、R1とR2の間のmLDPセッションは、R1とR2の間のリンクがダウンしてもアップしたままになります。これにより、両者の間のmLDPラベルバインディングが保護され、保持されます。リンクR1-R2がダウンすると、フォワーディングプレーンがすぐに切り替わります。発信リンクR1-R2は、ポイントツーポイントMPLS TE、LFA、またはTi-LFAが設定されているため、リンクR1-R3に非常に高速に切り替わります。このP2P MPLS TE、LFA、またはTi-LFAは、mLDPの転送エントリを正しい方法で切り替えるために、R1でR2のLDPルータIDへのルートを保護する必要があります。最後に、mLDPセッションは直接接続されたセッションから、LDPルータIDが再帰的に解決されるリモートセッションに切り替わるため、再帰転送が必要です。

R1はPLR(Point-of-Local-Repair)と呼ばれ、保護されたパスと新しくシグナリングされたネイティブパスが分岐するルータです。R2はMP（マージポイント）であり、保護されたパスと新しくシグナリングされたネイティブパスが再びマージされるルータです。

次の3つの要件を確認します。

-LDP保護

Bundle-Ethernet10362を介して直接接続されたLDP(mLDP)ネイバーの場合は、対象となるhelloアドレスも存在する必要があります。

RP/0/RP0/CPU0:R1#show mpls ldp discovery 10.79.196.10

Local LDP Identifier: 10.79.196.14:0

Discovery Sources:

Interfaces:

Bundle-Ether10362 : xmit/recv

VRF: 'default' (0x60000000)

LDP Id: 10.79.196.10:0, Transport address: 10.79.196.10

Hold time: 15 sec (local:15 sec, peer:15 sec)

Established: Dec 28 10:23:16.144 (00:02:13 ao)

Targeted Hellos:

10.79.196.14 -> 10.79.196.10 (active), xmit/recv

LDP Id: 10.79.196.10:0

Hold time: 90 sec (local:90 sec, peer:90 sec)

Established: Dec 28 10:23:30.008 (00:01:59 ago)

IGP下の – LFAまたはTi-LFA

LDPネイバールータIDへのルートにバックアップパスがあることを確認します。RIB（Routing Information Base；ルーティング情報ベース）とFIB(Forwarding Information Base（CEF；転送情報ベース）)には、次のバックアップパスが必要です。

RP/0/RP0/CPU0:R1#show route 10.79.196.10

Routing entry for 10.79.196.10/32

Known via "isis IGP", distance 115, metric 420, labeled SR

Tag 17, type level-2

Installed Dec 28 10:23:42.659 for 00:07:58

Routing Descriptor Blocks

10.254.1.144, from 10.79.196.10, via Bundle-Ether10301, Backup (Local-LFA)

Route metric is 2000

10.254.3.37, from 10.79.196.10, via Bundle-Ether10362, Protected

Route metric is 420

No advertising protos.

RP/0/RP0/CPU0:R1#show cef 10.79.196.10

10.79.196.10/32, version 7364, labeled SR, internal 0x1000001 0x83 (ptr 0x788e1f78) [1], 0x0 (0x788ab5a8), 0xa28 (0x79dd1138)

Updated Oct 25 11:32:44.299

Prefix Len 32, traffic index 0, precedence n/a, priority 1

via 10.254.1.144/32, Bundle-Ether10301, 11 dependencies, weight 0, class 0, backup (Local-LFA) [flags 0x300]

path-idx 0 NHID 0x0 [0x78f4e9b0 0x0]

next hop 10.254.1.144/32

local adjacency

local label 100010      labels imposed {100010}

via 10.254.3.37/32, Bundle-Ether10362, 11 dependencies, weight 0, class 0, protected [flags 0x400]

path-idx 1 bkup-idx 0 NHID 0x0 [0x7905e510 0x7905e350]

next hop 10.254.3.37/32

local label 100010      labels imposed {ImplNull}

-mLDPの再帰フォワーディング

再帰フォワーディングが適用されている場合、mLDPデータベースエントリにはLFIBの発信インターフェイスがありません。

再帰フォワーディングなし：

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001   BE10362      10.254.3.37    7893474

再帰転送の場合：

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    2516786878

mLDP転送エントリの発信インターフェイスがなくなったことに注意してください。これにより、トラブルシューティングが少し難しくなります。

MPにはmLDPの次の設定があります。600秒と60秒のタイマーに注意してください。PLRには同じタイマーがあります。PLRは、トラフィックをバックアップパスとネイティブパスを介して600秒間転送します。600秒の遅延は、MPがバックアップパスからのトラフィックを600秒間転送し、ネイティブパスから到着するトラフィックをドロップすることを意味します。このタイマーでは600秒は長い時間です。これは、ラボ環境でshowコマンドを使用して出力をキャプチャするのに十分な時間を確保するために使用されました。60秒の遅延は、MPがネイティブパスから到着するトラフィックの転送を開始し、バックアップパスを介して到着するトラフィックをドロップした後、MBBパスの削除を60秒間待機することを意味します。これら2つの遅延の正しい値は、ネットワークによって異なります。特定のネットワーク、ソフトウェア、およびハードウェアのテストから得る必要があります。

mpls ldp

log

neighbor

nsr

graceful-restart

session-protection

!

igp sync delay on-session-up 25

mldp

logging notifications

address-family ipv4

make-before-break delay 600 60

forwarding recursive

!

!

router-id 10.79.196.10

neighbor

dual-stack transport-connection prefer ipv4

!

session protection for LDP-PEERS

address-family ipv4

label

local

allocate for LDP-PEERS

!

!

!

使用中のMBB

図12を見ると、mLDPが保護モードの間の転送が示されています。

図 12

発信インターフェイスがダウンする前のリモートLDPルータID(R2)のLFIBエントリを次に示します。

RP/0/RP0/CPU0:R1#show mpls forwarding labels 100010

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

100010 Pop         SR Pfx (idx 10)    BE10362      10.254.3.37    355616309429

100010      SR Pfx (idx 10)    BE10301      10.254.1.144   0            (!)

The (!) indicates a backup path.

これは、PLRのmLDPツリーデータベースエントリです。

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d03h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.10:0 Uptime: 02:09:09

Rec Next Hop     : 10.79.196.10

Remote label (D) : 24440

LDP MSG ID       : 254705

PIM MDT            Uptime: 3d03h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

これは、ツリーのmLDP転送エントリです。

RP/0/RP0/CPU0:R1#show mpls mldp forwarding label 25426

mLDP MPLS forwarding database

25426  LSM-ID: 0x00001 HLI: 0x00001 flags: In Pk

Lmdtvrfone, RPF-ID: 0, TIDv4: E0000014, TIDv6: E0800014

24440, NH: 10.79.196.10, Intf:  Role: H, Flags: 0x4      Local Label     : 25426 (internal)

次に、ツリーのLFIB(Label Forwarding Instance Base)転送エントリを示します。

RP/0/RP0/CPU0:R1#show mpls for labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    0

mLDP転送エントリは保護されます。転送エントリは、ラベル100010（リモートLDPルータIDのエントリ）によって保護されます。

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 10:23:42.669

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 1, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    0

Updated: Dec 28 10:23:42.670

My Nodeid:0x20

Interface Nodeids:

[ 0x8620 - - - - - - - - -  ]

Interface Handles:

[ 0xc0001c0 - - - - - - - - -  ]

Backup Interface Nodeids:

[ 0x8520 - - - - - - - - - ]

Backup Interface Handles:

[ 0xa000400 - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

これはハードウェアでの転送エントリです。これらのルータはASR9kルータです。

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail hardware ingress location 0/2/CPU0

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 10:23:42.674

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 1, local mpls paths: 0, protected mpls paths: 1

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    N/A

Updated: Dec 28 10:23:42.674

My Nodeid:0x8420

Interface Nodeids:

[ 0x8620 - - - - - - - - -  ]

Interface Handles:

[ 0xc0001c0 - - - - - - - - -  ]

Backup Interface Nodeids:

[ 0x8520 - - - - - - - - - ]

Backup Interface Handles:

[ 0xa000400 - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

LEAF - HAL pd context :

sub-type : MPLS_P2MP, ecd_marked:0, has_collapsed_ldi:0

collapse_bwalk_required:0, ecdv2_marked:0,

Leaf H/W Result

Leaf H/W Result on NP:0

09000014000000921806352100020900006000020a0000600000a00001010400

vpn_special                        =           0 (0x0)

vc_label_vpws                      =           0 (0x0)

vc_label_vpls                      =           0 (0x0)

pwhe                               =           0 (0x0)

p2mp                               =           1 (0x1)

tp                                 =           0 (0x0)

recursive                          =           0 (0x0)

non_recursive                      =           1 (0x1)

flow_label_dispose                 =           0 (0x0)

receive_entry_type                 =           0 (0x0)

control_word_enabled               =           0 (0x0)

imp_ttl_255                        =           0 (0x0)

collapsed                          =           0 (0x0)

recursive_lsp_stats                =           0 (0x0)

vpn_key                            =          20 (0x14)

Non-recursive:

rpf_id                           =           0 (0x0)

nrldi_ptr                        =      406817 (0x63521)

P2MP:

rpf_id                           =         146 (0x92)

nrldi_ptr                        =         146 (0x92)

mldp_egr_drop                    =           0 (0x0)

mldp_ing_drop                    =           0 (0x0)

mldp_signal                      =           0 (0x0)

mldp_peek                        =           1 (0x1)

mldp_tunnel                      =           1 (0x1)

p2mp_bud_node                    =           0 (0x0)

p2mp_ip_lookup                   =           0 (0x0)

per_lc_receivers                 =           0 (0x0)

igp_local_label: eos             =           1 (0x1)

igp_local_label: exp             =           0 (0x0)

igp_local_label: label           =       25426 (0x6352)

fab_info: fab_mgid               =         521 (0x209)

fab_info: fab_slotmask           =          96 (0x60)

fab_info: fab_fgid               =   150995040 (0x9000060)

backup_fab_info: backup_fab_mgid =         522 (0x20a)

backup_fab_info: backup_fab_slotmask=          96 (0x60)

backup_fab_info: backup_fab_fgid =   167772256 (0xa000060)

rep_node_ndx                     =       40960 (0xa000)

ecmp_size                        =           1 (0x1)

stats_ptr                        =       66560 (0x10400)

Leaf H/W Result on NP:1

09000014000000921806352100020900006000020a0000600000a00001010400

…

FGID(Fabric Group Index)とバックアップFGIDがあります。FGIDは、マルチキャストトラフィックを正しいラインカードに転送するためにスイッチファブリックによって使用されます。MGID（マルチキャストグループID）もあります。MGIDは、マルチキャストトラフィックをラインカード上の正しい複製要素に転送するために使用されます。

RP/0/RP0/CPU0:R1#show mrib encap-id

Encap ID Key    : 00000101000000600600020100000000000002

Encap ID Length : 19

Encap ID Value  : 262145

Platform Annotation:

Slotmask: Primary: 0x40, Backup: 0x60

MGID:     Primary: 64059,   Backup: 64060

Flags (Vrflite(v4/v6),Stale,v6): N/N, N, N

Oles:

[1] type: 0x5, len: 12

LSM-ID: 0x00001      MDT: 0x2000660   Turnaround: TRUE

Primary: 0/4/CPU0[1]

Backup: 0/3/CPU0[1]

TableId: 0xe0000014[1001]

Redist History:

client id 31 redist time: 02:01:27 redist flags 0x0

MGIDエントリを検索する方法を次に示します。

RP/0/RP0/CPU0:R1#show controllers mgidprgm mgidindex 521 location 0/2/CPU0

Device         MGID-Bits       Client-Last-Modified

=======================================================

XBAR-0         1               P2MP

XBAR-1         1               P2MP

FIA-0          1               P2MP

FIA-1          0               None

FIA-2          0               None

FIA-3          0               None

FIA-4          0               None

FIA-5          0               None

FIA-6          0               None

FIA-7          0               None

========================================================

Client         Mask

========================================================

MFIBV4         0x0

MFIBV6         0x0

L2FIB          0x0

sRP-pseudo-mc  0x0

UT             0x0

Prgm-Svr       0x0

P2MP           0x1

xbar           0x0

UT1            0x0

UT2            0x0

punt_lib       0x0

RP/0/RP0/CPU0:R1#show controllers mgidprgm mgidindex 522 location 0/2/CPU0

Device         MGID-Bits       Client-Last-Modified

=======================================================

XBAR-0         1               P2MP

XBAR-1         1               P2MP

FIA-0          1               P2MP

FIA-1          0               None

FIA-2          0               None

FIA-3          0               None

FIA-4          0               Non

FIA-5          0               None

FIA-6          0               None

FIA-7          0               None

========================================================

Client         Mask

========================================================

MFIBV4         0x0

MFIBV6         0x0

L2FIB          0x0

sRP-pseudo-mc  0x0

UT             0x0

Prgm-Svr       0x0

P2MP           0x1

xbar           0x0

UT1            0x0

UT2            0x0

punt_lib       0x0

発信インターフェイスがダウンし、MBBが使用中になります。

図13にシグナリングを示します。

図 13

R1には、このツリーの2つのフォワーディングエントリがあります。

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426  24440       mLDP/IR: 0x00001                10.79.196.10    1834250032

24033       mLDP/IR: 0x00001                10.79.196.13    1825230386

RP/0/RP0/CPU0:R1#show mpls forwarding labels 25426 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 13:07:03.417

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 2, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    2230150704

Updated: Dec 28 13:07:03.245

My Nodeid:0x20

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 21039158

24033       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.13    2221131058

Updated: Dec 28 13:07:03.417

My Nodeid:0x20

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100013, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 20954067

2つのダウンストリームmLDPクライアント（R2とR3）があります。

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d04h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.10:0 Uptime: 02:44:09

Rec Next Hop     : 10.79.196.10

Remote label (D) : 24440

LDP MSG ID       : 254705

LDP 10.79.196.13:0 Uptime: 00:00:48

Rec Next Hop     : 10.79.196.13

Remote label (D) : 24033

LDP MSG ID       : 98489

PIM MDT            Uptime: 3d04h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

Local Label     : 25426 (internal)

MP(R2)には2つのアップストリームネイバーがあり、1つはアクティブで、もう1つは非アクティブです。

P/0/RSP1/CPU0:R2#show mpls mldp database details

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:45:22

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

MBB nbr evaluate   : 00:08:18

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Inactive] [MBB] Uptime: 00:01:42

Local Label (D) : 24441

Is CSI accepting    : N

10.79.196.14:0 [Active] [Delete] [MBB] Uptime: 02:45:02

Local Label (D) : 24440

Downstream  client(s):

PIM MDT            Uptime: 03:45:22

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

バックアップインターフェイスがR1上に存在しません。

RP/0/RP0/CPU0:R1#show mpls for labels 25426 detail hardware ingress location 0/2/CPU0

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

------ ----------- ------------------ ------------ --------------- ------------

25426              mLDP/IR: 0x00001 (0x00001)

Updated Dec 28 13:07:03.418

mLDP/IR LSM-ID: 0x00001, MDT: 0x2000660, Head LSM-ID: 0x00001

IPv4 Tableid: 0xe0000014, IPv6 Tableid: 0xe0800014

Flags:IP Lookup:set, Expnullv4:not-set, Expnullv6:not-set

Payload Type v4:not-set, Payload Type v6:not-set, l2vpn:not-set

Head:set, Tail:not-set, Bud:not-set, Peek:set, inclusive:not-set

Ingress Drop:not-set, Egress Drop:not-set

RPF-ID:0, Encap-ID:0

Disp-Tun:[ifh:0x0, label:-]

Platform Data [64]:

{ 0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 0 96 0 0 0 96

0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0

0 0 2 9 0 0 2 10

0 0 0 1 0 0 0 1

}

mpls paths: 2, local mpls paths: 0, protected mpls paths:

24440       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.10    N/A

Updated: Dec 28 13:07:03.255

My Nodeid:0x8420

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100010, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

24033       mLDP/IR: 0x00001 (0x00001)   \

10.79.196.13    N/A

Updated: Dec 28 13:07:03.418

My Nodeid:0x8420

Interface Nodeids:

[ 0x8520 - - - - - - - - -  ]

Interface Handles:

[ 0xa000400 - - - - - - - - -  ]

Backup Interface Nodeids:

[ - - - - - - - - - - ]

Backup Interface Handles:

[ - - - - - - - - - - ]

via-label:100013, mpi-flags:0x0 tos_masks:[ primary:0x0 backup:0x0]

Packets Switched: 0

RP/0/RP0/CPU0:R1#show mrib encap-id

Encap ID Key    : 00000101000000600600020100000000000002

Encap ID Length : 19

Encap ID Value  : 262145

Platform Annotation:

Slotmask: Primary: 0x20, Backup: 0x20

MGID:     Primary: 64059,   Backup: 64060

Flags (Vrflite(v4/v6),Stale,v6): N/N, N, N

Oles:

[1] type: 0x5, len: 12

LSM-ID: 0x00001      MDT: 0x2000660   Turnaround: TRUE

Primary: 0/3/CPU0[1]

Backup:

TableId: 0xe0000014[1001]

Redist History:

client id 31 redist time: 00:01:22 redist flags 0x0

MPは新しくシグナリングされたネイティブツリーに切り替わり、古いツリーを削除する前に60秒以内になります。

RP/0/RSP1/CPU0:R2#show mpls mldp database details

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:53:56

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Active] [MBB] Uptime: 00:10:16

Local Label (D) : 24441

Is CSI accepting    : N

10.79.196.14:0 [Inactive] [Delete 00:00:44] [MBB] Uptime: 02:53:37

Local Label (D) : 24440

Downstream  client(s):

PIM MDT            Uptime: 03:53:56

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

古いツリーが削除された後の状態は次のとおりです。

RP/0/RSP1/CPU0:R2#show mpls mldp database details

mLDP database

LSM-ID: 0x00002  Type: P2MP  Uptime: 03:58:03

FEC Root           : 10.79.196.14

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

Is CSI accepting    : N

10.79.196.13:0 [Active] [MBB] Uptime: 00:14:23

Local Label (D) : 24441

Downstream  client(s):

PIM MDT            Uptime: 03:58:03

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000013 IPv6: 0xe0800013

RPF ID          : 3

Peek            : Yes

RD              : 3209:92722001

PLRには、ダウンストリームのmLDPクライアントが1つしかありません。

RP/0/RP0/CPU0:R1#show mpls mldp database details

mLDP database

LSM-ID: 0x00001  Type: P2MP  Uptime: 3d04h

FEC Root           : 10.79.196.14 (we are the root)

FEC Length         : 12 bytes

FEC Value internal : 02010004000000015C4FC40E

Opaque length      : 4 bytes

Opaque value       : 01 0004 00000001

Opaque decoded     : [global-id 1]

Features           : MBB RFWD Trace

Upstream neighbor(s) :

None

Downstream  client(s):

LDP 10.79.196.13:0 Uptime: 00:11:13

Rec Next Hop     : 10.79.196.13

Remote label (D) : 24033

LDP MSG ID       : 98489

PIM MDT            Uptime: 3d04h

Egress intf     : Lmdtvrfone

Table ID        : IPv4: 0xe0000014 IPv6: 0xe0800014

HLI             : 0x00001

Ingress         : Yes

Peek            : Yes

PPMP            : Yes

Local Label     : 25426 (internal)

mLDPトレース

mLDPトレースは、イベントをより詳細に表示します。

PLR上

インターフェイスBE10362がダウンします。

Dec 28 13:07:03.220 MLDP GLO 0/RP0/CPU0 t10704 RIB  : Read notification

Dec 28 13:07:03.225 MLDP GLO 0/RP0/CPU0 t10706 RIB  : Notify client 'Peer' for prefix: 10.79.196.10/32

Dec 28 13:07:03.225 MLDP GLO 0/RP0/CPU0 t10706 GEN  : Checkpoint save neighbor 10.79.196.10:0 canceled, no GR or NSR

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 delete adj 2000460/10.254.3.37

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 GEN  : Checkpoint delete neighbor adj 2000460/10.254.3.37 objid 0 version 0 Failed

Dec 28 13:07:03.227 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 LDP Adjacency addr: 10.254.3.37, Interface: Bundle-Ether10362 Delete

Dec 28 13:07:03.325 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 Check branches for path change

リンクは失われましたが、LDP隣接関係は失われず、ターゲットセッションとして保持されます。

次のエントリは、Pルータ(10.79.196.13)上の新しいブランチです。

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : P2MP Label mapping from 10.79.196.13:0 label 24033 root 10.79.196.14 Opaque Len 7

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add branch LDP 10.79.196.13:0 Label 24033

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Branch LDP 10.79.196.13:0 binding list Remote Add

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Changing branch LDP 10.79.196.13:0 from None/0.0.0.0 to None/10.79.196.13

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Notify client Add event: 6 root TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add update to PIM Root TRUE Upstream TRUE Ingress TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 add path label 24033 intf None nexthop 10.79.196.13 id 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 set HLI 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Notify client Add event: 6 root TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Add update to PIM Root TRUE Upstream TRUE Ingress TRUE

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 add path label 24033 intf None nexthop 10.79.196.13 id 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 set HLI 0x00001 Success

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10705 DB   : 0x00001 Add event from mLDP to PIM, ready TRUE root TRUE csc_rd 0:0 csc_umh 0.0.0.0, msg_len 50

Dec 28 13:07:03.401 MLDP LSP 0/RP0/CPU0 t10705 DB   : 0x00001 Add event from mLDP to PIM, ready TRUE root TRUE csc_rd 0:0 csc_umh 0.0.0.0, msg_len 50

Dec 28 13:07:05.296 MLDP GLO 0/RP0/CPU0 t10706 NBR  : 10.79.196.10:0 to address: 10.254.3.37 mapping deleted

残りはクリーンアップです。R3はLabel WithdrawメッセージとLabel ReleaseメッセージをR1に送信します。

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 P2MP label withdraw from 10.79.196.10:0 label 24440 root 10.79.196.14 Opaque Len 7

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 P2MP label release msg to 10.79.196.10:0 Success

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 FWD  : 0x00001 Label 25426 delete path label 24440 intf None nexthop 10.79.196.10 id 0x00001 Success

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Branch LDP 10.79.196.10:0 binding list Remote Delete

Dec 28 13:18:04.635 MLDP LSP 0/RP0/CPU0 t10706 DB   : 0x00001 Deleting branch entry LDP 10.79.196.10:0

MP上

MPへのインターフェイスがダウンします。リンク上で隣接関係が失われますが、LDP隣接関係は開始セッションとして保持されます。

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 delete adj 20003a0/10.254.3.36

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint delete neighbor adj 20003a0/10.254.3.36 objid 0 version 0 Failed

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 LDP Adjacency addr: 10.254.3.36, Interface: Bundle-Ether10362 Delete

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Start path timer for root: 10.79.196.14

Dec 28 13:05:27.134 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint save neighbor 10.79.196.14:0 canceled, no GR or NSR

Dec 28 13:05:27.152 MLDP GLO 0/RSP1/CPU0 t31488 RIB  : Read notification

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Root paths count 1

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 None 10.79.196.13

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 added (chkpt FALSE)

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 binding list Local Add

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 path changed from None:0.0.0.0 to None:10.79.196.13

Dec 28 13:05:27.152 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Request label type ACEL ident 10.79.196.13:0 LSD Success

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 RIB  : Notify client 'Root' for prefix: 10.79.196.14/32

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Root 10.79.196.14 path 10.254.1.184 php nh 10.254.1.184 peer 72d83798:10.79.196.13:0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : mldp_root_get_path: tid e0100000 ifh 0  php_nh 0.0.0.0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Failed to get intf type for ifh 0x0

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 RIB  : Notify client 'Peer' for prefix: 10.79.196.14/32

Dec 28 13:05:27.153 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checkpoint save neighbor 10.79.196.14:0 canceled, no GR or NSR

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Main Entry LSD label 24441 type ACEL ident 10.79.196.13:0 assigned

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 installed local label 24441

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Neighbor 10.79.196.13:0 not MBB capable or worse metric, ignore MBB code 0

MBBが作動：600秒はスイッチオーバー遅延として設定されています。

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Start MBB Notification timer 100 msec (MBB ack)

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label mappping  msg to 10.79.196.13:0 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

Pルータを経由する新しいパスが作成されます。

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 create, Flags: 5 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 add path lspvif Lmdtvrfone rpf-id 3 tid v4 0xe0000013 v6 0xe0800013 Success

Dec 28 13:05:27.153 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 id_val 0 id_type 0

Dec 28 13:05:27.154 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24441 label up 1048577

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Root paths count 1

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 None 10.79.196.13

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 found, retain TRUE, to front TRUE

Dec 28 13:05:27.233 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL selection delayed for 600 seconds (MBB)

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 Check branches for path change

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : Checking paths for root: 10.79.196.14

Dec 28 13:05:27.234 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : mldp_root_get_path: tid e0100000 ifh 0  php_nh 0.0.0.0

Dec 28 13:05:27.350 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 MBB notification delay timer expired

Dec 28 13:05:29.275 MLDP GLO 0/RSP1/CPU0 t31491 NBR  : 10.79.196.14:0 to address: 10.254.3.36 mapping deleted

600秒のタイマーが期限切れになる。

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Peer change delay timer expired

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL evaluate

エントリは、さらに60秒後に削除されます。

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 start delete pending timer at 60 sec

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.13:0 activate

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24441 create, Flags: 1 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 10.79.196.14:0 to 10.79.196.13:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 10.79.196.13:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 136 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 deactivate

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24440 create, Flags: 5 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 10.79.196.13:0 to 0.0.0.0:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 0.0.0.0:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 137 Success

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 update active ident from 0.0.0.0:0 to 10.79.196.13:0

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save Main Entry active 10.79.196.13:0 rec_nh 0.0.0.0 rec_rd 0:0 cont...

Dec 28 13:15:28.352 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Checkpoint save lbl no_label length: 88 obj 80002f60 version 138 Success

Dec 28 13:15:28.352 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24441 label up 1048577

Dec 28 13:15:28.352 MLDP GLO 0/RSP1/CPU0 t31491 GEN  : ACEL for local label 24440 label up 1048577

delete delayタイマーが時間切れになる。R3はLabel WtihdrawメッセージとLabel ReleaseメッセージをR1に送信します。

Dec 28 13:15:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 MBB notification delay timer expired

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 delete delay timer expired, delete pending TRUE

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 FWD  : 0x00002 Label 24440 delete, Success

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 binding list Local Delete

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 Released label 24440 to LSD

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label withdraw msg to 10.79.196.14:0 Success

Dec 28 13:16:28.552 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 ACEL 10.79.196.14:0 remove

Dec 28 13:16:28.557 MLDP LSP 0/RSP1/CPU0 t31491 DB   : 0x00002 P2MP label release from 10.79.196.14:0 label 24440 root 10.79.196.14 Opaque Len 7

スケールMLDP LSP用のFRRタイマーの設定

500を超えるLSPを持つスケールセットアップでは、FRRが発生したときに、mLDPラベルの更新に関して、ユニキャストInternet Gateway Protocol(IGP)がマルチキャスト更新（LMRIBからFIB）よりも速く収束する場合があります。その結果、FIBはFRRイベントの後2秒でFRRビットをマークオフできます。このイベントでは、バックアップパスをホストする出力ラインカード上でmLDPラベルハードウェアプログラミングが完了しません。FRRホールドタイムはデフォルトで2秒です。

スケール設定では、このFRRホールドタイムを増やすことを推奨します。

frr-holdtimeコマンドは、FRRホールドタイムをLSPのスケール数に比例するように設定します。推奨されるfrr-holdtime値は、MBB遅延タイマーと同じか、それよりも小さい値です。これにより、プライマリパスのダウンイベント後に、出力ラインカードが確実にFRR状態になります。設定されていない場合、デフォルトのfrr-holdtimer（秒単位）は2に設定されます。

このコマンドは5.3.2で導入されました。

RP/0/RSP1/CPU0:ASR-9906#conf t

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform ?

lsm  Label-switched-multicast parameters

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform lsm ?

frr-holdtime  Time to keep FRR slots programmed post FRR

RP/0/RSP1/CPU0:ASR-9906(config)#cef platform lsm frr-holdtime ?

<3-180>  Time in seconds

結論

MBBは、マルチキャストトラフィックをバックアップパスからネイティブパスに切り替える際に、ルーティングコンバージェンスの場合は再ルーティングのためのマルチキャストトラフィックの損失を防ぎ、リンクがダウンした場合はトラフィックを保護するように機能します。

MBBを有効にするには、MBBを設定する必要があります。すべてのルータで設定する必要があります。

mLDPツリーからのトラフィックを転送する前に、新しくシグナリングされたmLDPツリーをフォワーディングプレーンにインストールできるように、数秒のMBB転送遅延を設定する必要があります。