内容

概要

1. Inter-AS MPLS VPNオプションB & Cにスタティックルートが必要

2. Inter-ASオプションBのASBRでのルートターゲットの保持

3. IPv4ラベルユニキャストアドレスがASBRによってアドバタイズされない

4. eBGP-eBGP（バックツーバックeBGP）Vpnv4にダミーiBGPネイバーが必要

5. AS間オプションC - BGPラベルがLDPラベルよりも優先される

6. AS間オプションB - BGPラベルがLDPラベルよりも優先される

7. VPN（または6PEまたはEVPN）上のマルチホップBGPセッションのアンダーレイ

8. BGPのLDPへの再配布

9. MPLS Activateインターフェイスコマンド

例1:IGPがLDPを使用しない

例2.コンフェデレーション

概要

このドキュメントでは、Multiprotocol Label Switching(MPLS)とBorder Gateway Protocol(BGP)をCisco IOS®-XRで組み合わせた場合の特別な動作と設定を持つシナリオをいくつか説明します。

1. Inter-AS MPLS VPNオプションB & Cにスタティックルートが必要

次の図は、Inter-AS Option Bの設定を示しています。

画像 1.

プロバイダーエッジ(PE)ルータPE1にはVRFプレフィックス10.200.1.2/32のルートがありますが、これは未解決です。

RP/0/0/CPU0:PE1#show cef vrf one 10.200.1.2

10.200.1.2/32, version 3, internal 0x5000001 0x0 (ptr 0xa140be74) [1], 0x0 (0x0), 0x208 (0xa14a7118)

Updated Apr  7 14:36:45.628

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

via 10.3.1.4/32, 0 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

unresolved

labels imposed {24004}

PE1には10.3.1.4/32のルートがありません。10.3.1.0/24のルートがあります。

RP/0/0/CPU0:PE1#show route 10.3.1.4

Routing entry for 10.3.1.0/24

Known via "ospf 1", distance 110, metric 3, type intra area

Installed Apr  7 14:07:01.140 for 00:32:48

Routing Descriptor Blocks

10.1.1.2, from 10.100.1.3, via GigabitEthernet0/0/0/0

Route metric is 3

No advertising protos.

ネクストホップには、自律システム境界ルート(ASBR)にスタティックルートが必要です。各ASBRでこのスタティックルートを設定し、それをInterior Gateway Protocol(IGP)に再配布する必要があります。

router static

address-family ipv4 unicast

10.3.1.4/32 GigabitEthernet0/0/0/1

!

!

router ospf 1

redistribute static

これで、ルートが解決されました。

RP/0/0/CPU0:PE1#show cef vrf one 10.200.1.2

10.200.1.2/32, version 3, internal 0x5000001 0x0 (ptr 0xa140be74) [1], 0x0 (0x0), 0x208 (0xa14a7118)

Updated Apr  7 14:36:45.628

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

via 10.3.1.4/32, 3 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop VRF - 'default', table - 0xe0000000

next hop 10.3.1.4/32 via 24005/0/21

next hop 10.1.1.2/32 Gi0/0/0/0    labels imposed {24003 24004}

ASBR1は、VPNv4/6プレフィクスに対してASBR2へのPOPの発信ラベルをインストールします。

RP/0/0/CPU0:ASBR1#show mpls forwarding prefix 10.3.1.4/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24005  Pop         10.3.1.4/32        Gi0/0/0/1    10.3.1.4        2506

iBGPネイバーに向かうASBRでnext-hop-selfを使用している場合でも、スタティックルートがASBRで設定されていない場合、ASBR間のラベル転送は中断されます。

ASBR1でPE1に向かうnext-hop-selfを使用し、スタティックルートがない場合：

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24006 detail

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24006  24004       2:2:10.200.1.2/32               10.3.1.4        0

Updated: Apr  7 14:49:58.190

Path Flags: 0x6000 [  ]

Label Stack (Top -> Bottom): { }

MAC/Encaps: 0/0, MTU: 0

Packets Switched: 0

[発信インターフェイス(Outgoing Interface)]列に発信インターフェイスがないことに注意してください。Inter-ASオプションBおよびCのASBRでは、スタティックルートが必要です。

2. Inter-ASオプションBのASBRでのルートターゲットの保持

ASBRがvpnv4/6ルートを確実に保存/保持し、アドバタイズするには、コマンドが必要です。このコマンドを使用しない場合、ASBRにルートのルートターゲットをインポートするローカルVRFが設定されていない場合、またはアドレスファミリvpnv4/6のルートリフレクタ(RR)でない場合、ASBRはルートを保存しません。

router bgp 1

address-family ipv4 unicast

!

address-family vpnv4 unicast

retain route-target all

!

3. IPv4ラベルユニキャストアドレスがASBRによってアドバタイズされない

IPv4ラベルユニキャストは、Inter-AS Option C(IAC)またはシームレスMPLS（ユニファイドMPLS）ネットワークで必要です。これは、vpnv4/6プレフィクスがデフォルトでラベル付けされているためです。ただし、これはIPv4(IPv6)ユニキャストの場合ではありません。そうでない場合は、ラベルスイッチドパス(LSP)のエンドツーエンドが中断され、トラフィックフローのエンドツーエンドが失敗します。

図2に、Inter-AS Option Cの設定を示します。

画像 2.

P1ルータとP2ルータは、vpnv4の自律システム(AS)のルートリフレクタでもあります。

ラベル付きユニキャスト(LU)は、ループバックプレフィックスを1つのASから別のASに転送するために使用されます。

ASBR1にはこのアドレスファミリが設定されていますが、ルートがありません。

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast

RP/0/0/CPU0:ASBR1#

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast summary

BGP router identifier 10.100.1.3, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 41

BGP main routing table version 41

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

BGP is operating in STANDALONE mode.

Process       RcvTblVer   bRIB/RIB   LabelVer  ImportVer  SendTblVer  StandbyVer

Speaker              41         41         41         41          41           0

Neighbor        Spk    AS MsgRcvd MsgSent   TblVer  InQ OutQ  Up/Down  St/PfxRcd

10.3.1.4          0     2     150     151       41    0    0 00:06:29          0

10.100.1.2        0     1      52      52       41    0    0 00:06:42          0

これは、ASBRが各ルートにMulti-Protocol Label Switching（MPLS；マルチプロトコルラベルスイッチング）ラベルを割り当て、ルートをアドバタイズできるように、次のコマンドが必要であるためです。

RP/0/0/CPU0:ASBR1#show run router bgp

router bgp 1

address-family ipv4 unicast

redistribute ospf 1

allocate-label all

!

注：ルートポリシーが指定されている場合、コマンドは特定のプレフィクスにラベルを割り当てることができます。

このコマンドの結果は次のようになります。

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast

BGP router identifier 10.100.1.3, local AS number 1

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0xe0000000   RD version: 52

BGP main routing table version 52

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network            Next Hop            Metric LocPrf Weight Path

*> 10.1.1.0/24        10.1.2.2                 2         32768 ?

*> 10.1.2.0/24        0.0.0.0                  0         32768 ?

*> 10.2.1.0/24        10.3.1.4                 0             0 2 ?

*> 10.2.2.0/24        10.3.1.4                 2             0 2 ?

*> 10.3.1.0/24        0.0.0.0                  0         32768 ?

*                     10.3.1.4                 0             0 2 ?

*> 10.100.1.1/32      10.1.2.2                 3         32768 ?

*> 10.100.1.2/32      10.1.2.2                 2         32768 ?

*> 10.100.1.3/32      0.0.0.0                  0         32768 ?

*> 10.100.1.4/32      10.3.1.4                 0             0 2 ?

*> 10.100.1.5/32      10.3.1.4                 2             0 2 ?

*> 10.100.1.6/32      10.3.1.4                 3             0 2 ?

Processed 11 prefixes, 12 paths

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.6/32

BGP routing table entry for 10.100.1.6/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 48          48

Local Label: 24008

Last Modified: Apr  7 16:20:04.509 for 00:00:49

Paths: (1 available, best #1)

Advertised to peers (in unique update groups):

10.100.1.2

Path #1: Received by speaker 0

Advertised to peers (in unique update groups):

10.100.1.2

2

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 24002

Origin incomplete, metric 3, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 48

Origin-AS validity: not-found

つまり、

- ラベル割り当てを設定する必要があります（すべてのASBRおよびPEルータ）

- BGPネイバーに対してアドレスファミリipv4 labeled-unicastを設定する必要がある

4. eBGP-eBGP（バックツーバックeBGP）Vpnv4にダミーiBGPネイバーが必要

図3を見てください。

画像 3.

3つのASBRが続きます。ASBR3は、ASBR1とASBR2に対してeBGP vpnv4ユニキャストを実行します。

注：ASBR3にもスタティックルートを設定する必要があります。

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast

BGP router identifier 10.100.1.7, local AS number 3

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 0

BGP main routing table version 3

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

Status codes: s suppressed, d damped, h history, * valid, > best

i - internal, r RIB-failure, S stale, N Nexthop-discard

Origin codes: i - IGP, e - EGP, ? - incomplete

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:1

*> 10.200.1.1/32      10.4.1.3                               0 1 ?

Route Distinguisher: 2:2

*> 10.200.1.2/32      10.4.2.4                               0 2 ?

Processed 2 prefixes, 2 paths

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast rd 1:1 10.200.1.1/32

BGP routing table entry for 10.200.1.1/32, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  2           2

Last Modified: Apr  7 18:45:21.510 for 00:03:30

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

Origin incomplete, localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf

Received Path ID 0, Local Path ID 1, version 2

Extended community: RT:1:1

ASBR3からのvpnv4ルートのアドバタイズに問題があります。ASBR3は外部vpnv4ルートをアドバタイズしません。

解決策は、ASBR3でダミーのiBGPネイバーを設定し、next-hop-selfを有効にすることです。ダミーのiBGPネイバーはアップである必要はありません。

router bgp 3

address-family vpnv4 unicast

retain route-target all

!

neighbor 10.4.1.3

remote-as 1  address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.4.2.4

remote-as 2

address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.99.99.99

remote-as 3

description dummy-iBGP neighbor for back-to-back eBGP vpnv4

update-source Loopback0

address-family vpnv4 unicast

next-hop-self

!

!

!

その結果、vpnv4ルートがアドバタイズされます。

RP/0/0/CPU0:ASBR3#show bgp vpnv4 unicast rd 1:1 10.200.1.1/32

BGP routing table entry for 10.200.1.1/32, Route Distinguisher: 1:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 12          12

Local Label: 24002

Last Modified: Apr  7 18:58:04.510 for 00:01:46

Paths: (1 available, best #1)

Advertised to update-groups (with more than one peer):

0.2

Path #1: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.2

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

Origin incomplete, localpref 100, valid, external, best, group-best, import-candidate, not-in-vrf

Received Path ID 0, Local Path ID 1, version 12

Extended community: RT:1:1

5. AS間オプションC - BGPラベルがLDPラベルよりも優先される

2つのASBRが複数のリンクで接続されている設定を確認するには、次の図を参照してください。これを機能させるには、ASBR間にパラレルリンクがあるため、ASBR間のeBGP ipv4 LUセッションがマルチホップである必要があります。

図 4.

これはInter-ASオプションCです。ルータP1とP2もvpnv4のルートリフレクタです。

PEルータとASBRの間には、IPv4ラベルのユニキャストがあります。ASBRは複数のリンク上で直接接続されています。

ASBRに次のように表示されます。

router bgp 1

…

neighbor 10.100.1.4

remote-as 2

ebgp-multihop 2

update-source Loopback0

address-family ipv4 labeled-unicast

route-policy PASS in

route-policy PASS out

ASBR間にラベル配布プロトコル(LDP)は必要ありません。BGPは、ASBR間のリンク上のMPLS転送を処理します。

RP/0/0/CPU0:ASBR1#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

GigabitEthernet0/0/0/1     No       No       No       Yes

GigabitEthernet0/0/0/2     No       No       No       Yes

GigabitEthernet0/0/0/3     No       No       No       Yes

GigabitEthernet0/0/0/4     No       No       No       Yes

ここまでは良かった。問題は、次の図に示すシナリオにあります。

図 5.

これはInter-ASオプションCです。ルータP1とP2もvpnv4のルートリフレクタです。

PEルータとASBRの間には、IPv4ラベルのユニキャストがあります。ASBR1とASBR2は直接接続されていません。IGPとLDPを実行するネットワークを介して、マルチホップ接続されます。図5では、この中間ネットワークはルータASBR3で表されます。ルータASBR3は、ASBR1とASBR2でIGPとLDPを実行します。

ASBR上のeBGPマルチホップに問題があります。各AS内のRR間のBGPセッションが起動しません。

RP/0/0/CPU0:P1#show cef 10.100.1.5

10.100.1.5/32, version 263, internal 0x1000001 0x0 (ptr 0xa13bde74) [1], 0x0 (0xa1389560), 0xa28 (0xa14a72a8)

Updated Apr  8 09:38:02.551

local adjacency 10.1.2.3

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

via 10.1.2.3/32, GigabitEthernet0/0/0/1, 5 dependencies, weight 0, class 0 [flags 0x0]

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

next hop 10.1.2.3/32

local adjacency

local label 24004      labels imposed {24007}

P1からAS 1のRRからP2に、AS 2のRRでは発信ラベルが24007です。ASBR1では、このラベルはラベル24000とスワップされます。

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24007

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24007  24000       10.100.1.5/32                   10.100.1.4      1404

RP/0/0/CPU0:ASBR1#show cef 10.100.1.5

10.100.1.5/32, version 155, internal 0x5000001 0x0 (ptr 0xa13be174) [1], 0x0 (0xa138965c), 0xa08 (0xa14a72d0)

Updated Apr  8 10:02:38.101

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

via 10.100.1.4/32, 5 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.100.1.4/32 via 24004/0/21

local label 24007

next hop 10.4.1.7/32 Gi0/0/0/4    labels imposed {ImplNull 24000}

ラベル24000は、ASBR2からBGP LUによってASBR1で受信されたラベルです。

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.5

BGP routing table entry for 10.100.1.5/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 76          76

Local Label: 24007

Last Modified: Apr  8 09:37:57.509 for 00:04:05

Paths: (1 available, best #1)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.1      10.100.1.2

Path #1: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.1      10.100.1.2

2

10.100.1.4 from 10.100.1.4 (10.100.1.4)

Received Label 24000

Origin incomplete, metric 2, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 76

Origin-AS validity: not-found

ただし、ASBRルータはBGPを実行しないため、ラベル24000を割り当てていないため、このラベルで受信したパケットを転送できません。10.100.1.5へのパケットの取得に使用するラベルは、LDPから取得したラベルです。

RP/0/0/CPU0:ASBR1#show route 10.100.1.5/32

Routing entry for 10.100.1.5/32

Known via "bgp 1", distance 20, metric 2, [ei]-bgp, labeled unicast (3107)

Tag 2, type external

Installed Apr  8 10:02:38.082 for 01:24:37

Routing Descriptor Blocks

10.100.1.4, from 10.100.1.4, BGP external

Route metric is 2

No advertising protos.

これは、ネクストホップ10.100.1.4（ASBR2のループバック）に繰り返されます。

LDPがASBR3から受信したラベルを使用する必要がありますが、使用しません。

追加されたラベルスタックは、{24002 24000}ではなく{ImplNull 24000}です。

RP/0/0/CPU0:ASBR1#show mpls ldp bindings 10.100.1.4/32

10.100.1.4/32, rev 146

Local binding: label: 24004

Remote bindings: (2 peers)

Peer                Label

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

10.100.1.2:0        24003

10.100.1.7:0        24002

ASBR1は、ASBR3ルータから受信したLDPラベル24002を要求する必要があります。BGP MPLS転送を無効にするには、mplsキーワードをeBGPマルチホップコマンドに追加します。

ASBR1:

router bgp 1

…

neighbor 10.100.1.4

remote-as 2

ebgp-multihop 2 mpls

update-source Loopback0

address-family ipv4 labeled-unicast

route-policy PASS in

route-policy PASS out

!

ASBR1に正しいラベル書き換えが行われました。

RP/0/0/CPU0:ASBR1#show cef 10.100.1.5

10.100.1.5/32, version 155, internal 0x5000001 0x0 (ptr 0xa13be174) [1], 0x0 (0xa138965c), 0xa08 (0xa14a72d0)

Updated Apr  8 10:02:38.102

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

via 10.100.1.4/32, 5 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.100.1.4/32 via 24004/0/21

local label 24007

next hop 10.4.1.7/32 Gi0/0/0/4    labels imposed {24002 24000}

コマンドリファレンスから：

ebgp-multihopコマンドでmplsオプションを使用すると、BGPはピアリングインターフェイスでMPLSを有効にすることができず、ピアから学習したネクストホップアドレスに対して暗黙的NULLリライトラベルが割り当てられることを防止できます。これは、BGPラベル付きユニキャストまたはLDPを介してnextopsへのMPLS転送ラベルが既に学習されている場合に役立ちます。

つまり、IOS-XRでは、BGPがLFIBにラベルを割り当てることを提供する場合、LDPよりも優先されます。ASBRルータ間に複数のホップがあるInter-ASオプションCのシナリオは、このようなシナリオです。

6. AS間オプションB - BGPラベルがLDPラベルよりも優先される

図 6.

これはInter-ASオプションBです。ただし、2つのASBR間には複数のパラレルリンクがあります。IGPとLDPを使用する代わりに、ASBR間にRFC3107（IPv4ルートとMPLSラベルの交換）があります。

ASBR1とASBR2のループバックインターフェイス間のeBGPマルチホップセッションを起動するには、2つのASBR間にeBGP LUが必要です。ASBR間には2つのリンクがあるため、2つのeBGP LUセッションが必要です。アドレスファミリIPv4には、コマンドallocate-labelが必要です。

router bgp 65001

address-family ipv4 unicast

network 10.100.1.3/32

allocate-label all

!

neighbor 10.3.1.4

remote-as 65002

address-family ipv4 labeled-unicast

route-policy pass in

route-policy pass out

!

!

neighbor 10.3.2.4

remote-as 65002

address-family ipv4 labeled-unicast

route-policy pass in

route-policy pass out

!

!

セクション1からのスタティックルートが必要です。

router static

address-family ipv4 unicast

10.3.1.4/32 GigabitEthernet0/0/0/1

10.3.2.4/32 GigabitEthernet0/0/0/2

!

!

ASBR間のeBGP vpnv4セッション：

router bgp 65001

address-family ipv4 unicast

network 10.100.1.3/32

allocate-label all

!

address-family vpnv4 unicast

retain route-target all

!

neighbor 10.100.1.4

remote-as 65002

ebgp-multihop 255

update-source Loopback0

address-family vpnv4 unicast

route-policy pass in

route-policy pass out

!

!

セクション5で示すように、mplsキーワードが必要ないことに注意してください。また、next-hop-selfがiBGP vpnv4セッション用に設定されている場合、PEとASBR間のiBGP LUセッションは必要ありません。10.100.1.4/32に対してASBR2によってアドバタイズされるラベルはラベル3です。

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.4/32

Fri Jun  2 11:50:16.178 UTC

BGP routing table entry for 10.100.1.4/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  8           8

Local Label: 24005

Last Modified: Jun  2 11:48:39.920 for 00:01:36

Paths: (4 available, best #1)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

Path #1: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

65002

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 8

Origin-AS validity: not-found

Path #2: Received by speaker 0

Not advertised to any peer

65002

10.3.2.4 from 10.3.2.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #3: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.3.9 from 10.3.3.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external, group-best

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #4: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.4.9 from 10.3.4.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 11:51:06.994 UTC

10.100.1.4/32, version 254, internal 0x1000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13896ec), 0xa20 (0xa14a70f0)

Updated Jun  2 11:48:39.634

local adjacency 10.3.1.4

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

via 10.3.1.4/32, GigabitEthernet0/0/0/1, 5 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa0e8b1fc 0xa0e8b34c]

next hop 10.3.1.4/32

local adjacency

local label 24005      labels imposed {ImplNull}

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24005

Fri Jun  2 11:51:20.204 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24005  Pop         10.100.1.4/32      Gi0/0/0/1    10.3.1.4        610

ASBR間に別のパスがあり、そのパスがIGP + LDPまたはMPLS TEを使用する場合、eBGPマルチホップコマンドにはmplsキーワードが必要です。

図 7.

ASBR1からP3へのBGPルートポリシーを使用して、P3からのプレフィックスがASBR2からのプレフィックスよりも直接優先されるように重みを非常に高く設定します。

RP/0/0/CPU0:ASBR1#show bgp ipv4 labeled-unicast 10.100.1.4/32

Fri Jun  2 11:57:23.789 UTC

BGP routing table entry for 10.100.1.4/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  9           9

Local Label: 24005

Last Modified: Jun  2 11:51:58.920 for 00:05:24

Paths: (4 available, best #3)

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

Path #1: Received by speaker 0

Not advertised to any peer

65002

10.3.1.4 from 10.3.1.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external, group-best

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #2: Received by speaker 0

Not advertised to any peer

65002

10.3.2.4 from 10.3.2.4 (10.100.1.4)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

Path #3: Received by speaker 0

Advertised to update-groups (with more than one peer):

0.3

Advertised to peers (in unique update groups):

10.100.1.7

65003 65002

10.3.3.9 from 10.3.3.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, weight 65535, valid, external, best, group-best

Received Path ID 0, Local Path ID 1, version 9

Origin-AS validity: not-found

Path #4: Received by speaker 0

Not advertised to any peer

65003 65002

10.3.4.9 from 10.3.4.9 (10.100.1.9)

Received Label 24001

Origin IGP, localpref 100, valid, external

Received Path ID 0, Local Path ID 0, version 0

Origin-AS validity: not-found

ASBR1は、10.100.1.4/32の発信ラベルとしてラベル24001を使用します。次の操作は行いません。

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 11:59:46.519 UTC

10.100.1.4/32, version 255, internal 0x1000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13896ec), 0xa20 (0xa14a7140)

Updated Jun  2 11:51:58.741

local adjacency 10.3.3.9

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

via 10.3.3.9/32, GigabitEthernet0/0/0/3, 7 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa0e8b544 0xa0e8b5ec]

next hop 10.3.3.9/32

local adjacency

local label 24005      labels imposed {ImplNull}

このソリューションは、セクション5と同じです。eBGPマルチホップコマンドにはmplsキーワードを使用します。

RP/0/0/CPU0:ASBR1# conf t

Fri Jun  2 13:56:45.618 UTC

RP/0/0/CPU0:ASBR1(config)#router bgp 65001

RP/0/0/CPU0:ASBR1(config-bgp)# neighbor 10.100.1.4

RP/0/0/CPU0:ASBR1(config-bgp-nbr)#ebgp-multihop 255 mpls

RP/0/0/CPU0:ASBR1(config-bgp-nbr)#commit

ASBR1は、10.100.1.4/32の発信ラベルとしてラベル24001を使用するようになりました。

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Fri Jun  2 13:58:13.402 UTC

10.100.1.4/32, version 200, internal 0x5000001 0x0 (ptr 0xa13be474) [1], 0x0 (0xa13895cc), 0xa08 (0xa14a71b8)

Updated Jun  2 13:56:59.378

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

via 10.3.3.9/32, 3 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.3.3.9/32 via 24014/0/21

local label 24005

next hop 10.3.3.9/32 Gi0/0/0/3    labels imposed {ImplNull 24001}

ASBR1はこの追加ラベルをプッシュします。PE1からPE2へのVirtual Routing and Forwarding(VRF)のtracerouteには、プッシュされる追加のラベルが表示されます。

RP/0/0/CPU0:PE1#trace vrf one 10.99.1.2

Fri Jun  2 13:49:38.959 UTC

Type escape sequence to abort.

Tracing the route to 10.99.1.2

1  10.1.1.5 [MPLS: Labels 24002/24012 Exp 0] 29 msec  39 msec  39 msec

2  10.1.2.3 [MPLS: Label 24012 Exp 0] 29 msec  29 msec  39 msec

3  10.3.1.4 [MPLS: Label 24007 Exp 0] 39 msec  39 msec  39 msec

4  10.2.1.6 [MPLS: Labels 24001/24005 Exp 0] 39 msec  39 msec  29 msec

5  10.2.2.2 39 msec  *  239 msec

IGPとLDPはASBR1とP3の間で使用され、ASBR2とP3の間で使用されました。これらのルータ間でMPLSトラフィックエンジニアリング(TE)を使用する場合も、同じ問題と解決策があります。

ASBR1からP3へのLDPはありませんが、MPLS TEがあります。

eBGPマルチホップコマンドにmplsキーワードを指定しないと、同じ問題が再発します。

10.100.1.4に転送されたパケットには、BGP LUラベル24000がプッシュされません。

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Tue Jun  6 10:36:56.528 UTC

10.100.1.4/32, version 50, internal 0x1000001 0x0 (ptr 0xa12cc1fc) [1], 0x0 (0xa12b18c0), 0xa20 (0xa14a7258)

Updated Jun  6 10:36:32.930

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

via 10.3.3.9/32, tunnel-te1, 7 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa15d58f8 0xa15d5840]

next hop 10.3.3.9/32

local adjacency

local label 24012      labels imposed {ImplNull}

mplsキーワードを使用すると、ラベル24000が存在します。

RP/0/0/CPU0:ASBR1#show cef 10.100.1.4

Tue Jun  6 10:36:03.241 UTC

10.100.1.4/32, version 34, internal 0x5000001 0x0 (ptr 0xa12cc1fc) [1], 0x0 (0xa12b15a8), 0xa08 (0xa14a70f0)

Updated Jun  6 09:39:24.56

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

Extensions: context-label:24012

via 10.3.3.9/32, 3 dependencies, recursive, bgp-ext [flags 0x6020]

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

recursion-via-/32

next hop 10.3.3.9/32 via 24011/0/21

local label 24012

next hop 10.3.3.9/32 tt1          labels imposed {ImplNull 24000}

mplsキーワードを使用すると、書き換えは次のようになります。

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24012

Tue Jun  6 10:43:50.559 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24012  24000       10.100.1.4/32      tt1          10.3.3.9        0

mplsキーワードがない場合、書き換えは次のようになります。

RP/0/0/CPU0:ASBR1#show mpls forwarding labels 24012

Tue Jun  6 10:45:08.734 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24012  Pop         10.100.1.4/32      tt1          10.3.3.9        0

このラベル14012は、VRFからVRF、またはPEからPEへのトラフィックには使用されませんが、検出された場合は、Label Forwarding Instance Base（LFIB；ラベル転送インスタンスベース）エントリが正しいか、間違っている可能性があります。

RP/0/0/CPU0:PE1# trace vrf one 10.99.1.2

Type escape sequence to abort.

Tracing the route to 10.99.1.2

1  10.1.1.5 [MPLS: Labels 24001/24015 Exp 0] 129 msec  229 msec  129 msec

2  10.1.2.3 [MPLS: Label 24015 Exp 0] 219 msec  439 msec  349 msec

3  10.3.3.9 [MPLS: Labels 24000/24011 Exp 0] 169 msec  249 msec  139 msec

4  10.3.5.4 [MPLS: Label 24011 Exp 0] 89 msec  129 msec  109 msec

5  10.2.1.6 [MPLS: Labels 24004/24008 Exp 0] 139 msec  99 msec  139 msec

6  10.2.2.2 129 msec  *  219 msec

eBGPマルチホップコマンドでキーワードmplsを切り替えると、BGPラベルコリジョンのsyslogメッセージが発生する可能性があります。

bgp[1051]: %ROUTING-BGP-4-LABEL_COLLISION : Label 24012 collision: prev: [T: 3 RD:0:0:0 PFX/NHID:10.100.1.4/32] curr: [T: 13 RD:0:0:0 PFX/NHID:10.100.1.4/32]

このメッセージは、ローカルラベル24012用です。

このチェックは、BGPが所有するアクティブラベルがBGPによって再度割り当てられないことを確認するために行われます。このチェックは、プレフィックスごとのラベルに対してのみ行われます。

このメッセージは症状であり、この記事の問題の原因ではありません。

7. VPN（または6PEまたはEVPN）上のマルチホップBGPセッションのアンダーレイ

eBGPマルチホップセッションがある場合、ルータにCisco IOS®-XR 6.3.2以降のリリースがない限り、ネクストホップアドレスのルートはvpnv4/6または6PE(IPv6 over MPLS)またはEthernet Virtual Private Network(EVPN)ルートを経由でででできません。次の図を参照してください。

図 8.

考えられる障害シナリオ：

1. PE1（VRF内）からPE2（VRF内）へのeBGPマルチホップセッション

2. PE1（VRF内）からCE2へのeBGPマルチホップセッション

次の内容が適用されます。

eBGPマルチホップセッションは、PEルータのルータBGPの下のVRFセクションで設定されます。

PE1（VRF内部）からPE2（VRF内部）へのeBGPマルチホップセッション、またはeBGPマルチホップセッションは、Cisco IOS®-XR 6.3.2以降でのみサポートされます。

eBGPピアアドレスは、いずれかのvnpv4で構成されるアンダーレイを介して到達可能です。vpnv6、6PE、またはEVPN。

6.3.2より前のCisco IOS®リリースでは、eBGPセッションはアイドル状態になります。

たとえば、VRF 1のeBGPマルチホップセッションPE1からPE2が設定されます。

PE1からPE1のPE2へのeBGPマルチホップセッションに関連する設定は次のとおりです。

interface Loopback100

vrf one

ipv4 address 10.2.100.1 255.255.255.255

router bgp 1

address-family vpnv4 unicast

!

neighbor 10.100.1.2

remote-as 1

update-source Loopback0

address-family vpnv4 unicast

!

!

vrf one

rd 1:1

address-family ipv4 unicast

redistribute connected

!

neighbor 10.2.100.2

remote-as 65002

ebgp-multihop 255

local-as 65001

update-source Loopback100

address-family ipv4 unicast

route-policy pass in

route-policy pass out

!

!

!

!

eBGPセッションはアイドル状態のままになります。

RP/0/0/CPU0:PE1#show bgp vrf one neighbors

BGP neighbor is 10.2.100.2, vrf one

Remote AS 65002, local AS 65001, external link

Remote router ID 0.0.0.0

BGP state = Idle (No route to multi-hop neighbor)

eBGPピアアドレスのルートがVRF oneルーティングテーブルに存在します。

RP/0/0/CPU0:PE1# show route vrf one

Codes: C - connected, S - static, R - RIP, B - BGP, (>) - Diversion path

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP

i - ISIS, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, su - IS-IS summary null, * - candidate default

U - per-user static route, o - ODR, L - local, G - DAGR

A - access/subscriber, a - Application route, (!) - FRR Backup path

Gateway of last resort is not set

L 10.2.100.1/32 is directly connected, 00:23:25, Loopback100

B 10.2.100.2/32 [200/0] via 10.100.1.2 (nexthop in vrf default), 00:19:28

RP/0/0/CPU0:PE1# show route vrf one 10.2.100.2/32

Routing entry for 10.2.100.2/32

Known via "bgp 1", distance 200, metric 0, type internal

Installed May 29 09:07:53.368 for 00:19:36

Routing Descriptor Blocks

10.100.1.2, from 10.100.1.2

Nexthop in Vrf: "default", Table: "default", IPv4 Unicast, Table Id: 0xe0000000

Route metric is 0

No advertising protos.

この問題の根本的な原因は、ピアリングアドレスのルートがインポートされたルートであることです。

RP/0/0/CPU0:PE1# show bgp vpnv4 unicast vrf one 10.2.100.2/32

BGP routing table entry for 10.2.100.2/32, Route Distinguisher: 1:1

Versions:

Process bRIB/RIB SendTblVer

Speaker 7 7

Last Modified: May 29 09:07:53.524 for 00:21:20

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

Local

10.100.1.2 (metric 2) from 10.100.1.2 (10.100.1.2)

Received Label 16001

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, imported

Received Path ID 0, Local Path ID 1, version 7

Extended community: RT:1:1

Source VRF: one, Source Route Distinguisher: 1:1

これは、Cisco IOS®-XR 6.3.2以降でサポートされます。

8. BGPのLDPへの再配布

これは、ユニファイドまたはシームレスMPLSの概要と、IOS-XRでの設定方法です。Unified MPLS with IOS-XR

通常のUnified MPLSでは、図に示すように、すべてのPEルータとABRルータの間にBGP LUがあります。

図 9.

図 10.

この例では、BGP LUのないIGPエリア/レベルがあります。左側のアグリゲーションエリアは、実際にはOpen Shortest Path First(OSPF)プロセス1であり、コアにOSPFプロセス2との再配布はありません。OSPF 1を使用するネットワークの一部では、PEルータとArea Border Router（ABR；エリア境界ルータ）ルータの間にBGP LUはありません。

図 11.

図に示すように、BGP LUプレフィックスがABR1のIGP OSPF 1に再配布されます。

図 12.

受信したiBGP LUプレフィックスのラベルを割り当てるには、BGPが必要です。ただし、このラベルは、再配布されたプレフィックスのラベルバインディングでLDPによって自動的にアドバタイズされることはありません。IOS(-XE)は、デフォルトでこれを実行します。

ABRは内部BGPルートを左側のIGPに再配布していることに注意してください。これは、bgp redistribute-internalコマンドがrouter bgpの下で必要であることを意味します。

router bgp 1

bgp redistribute-internal

router ospf 1

router-id 10.100.1.3

redistribute bgp 1 metric 10 route-policy select-to-allocate

area 0

interface Loopback0

!

interface GigabitEthernet0/0/0/0

network point-to-point

!

!

!

route-policy select-to-allocate

if destination in (10.100.1.7/32) then

pass

else

drop

endif

end-policy

ローカルラベル割り当てが有効な場合、ABRは受信したiBGP LUルートにローカルラベルを割り当てます。

router bgp 1

bgp redistribute-internal

ibgp policy out enforce-modifications

address-family ipv4 unicast

redistribute ospf 1 metric 10 route-policy ospf-1-loopbacks-PE

allocate-label route-policy select-to-allocate

route-policy select-to-allocateを使用して、ローカルラベルに割り当てられる受信BGP LUプレフィックスを指定できます。

route-policy select-to-allocate

if destination in (10.100.1.7/32) then

pass

else

drop

endif

end-policy

!

PE2のループバックプレフィックスは、ローカルラベルを持つABR1で表示されますが、LDPはこのローカルラベルを表示しません。

RP/0/0/CPU0:ABR1#show bgp ipv4 labeled-unicast 10.100.1.7/32

BGP routing table entry for 10.100.1.7/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  6           6

Local Label: 24006

Last Modified: Sep  5 06:55:47.368 for 06:40:23

Paths: (1 available, best #1)

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.2

Path #1: Received by speaker 0

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.2

Local, (Received from a RR-client)

10.100.1.5 (metric 20) from 10.100.1.5 (10.100.1.7)

Received Label 24003

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 1, version 6

Originator: 10.100.1.7, Cluster list: 10.100.1.5

RP/0/0/CPU0:ABR1#show mpls ldp bindings 10.100.1.7/32

10.100.1.7/32, rev 0 (no route)

No local binding

Remote bindings: (1 peers)

Peer                Label

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

10.100.1.2:0        18

これは、PE1からPE2へのLSPが中断されることを意味します。

RP/0/0/CPU0:PE1#traceroute 10.100.1.7 source 10.100.1.1

Type escape sequence to abort.

Tracing the route to 10.100.1.7

1  10.1.1.2 [MPLS: Label 18 Exp 0] 9 msec  0 msec  0 msec

2  10.1.2.3 0 msec  0 msec  0 msec <<< no MPLS labels

3  10.1.3.4 [MPLS: Labels 16/24003 Exp 0] 29 msec  19 msec  29 msec

4  10.1.4.5 [MPLS: Label 24003 Exp 0] 9 msec  9 msec  9 msec

5   *  *  *

6  10.1.6.7 9 msec  *  19 msec

LSPは、ABR1からLDP経由でリモートラベルを取得しなかったため、P2で中断されます。ABR1には、LDPのプレフィックス10.100.1.7/32にローカルに割り当てられたラベルがありません。

BGPルートがIGPに再配布されるルータ上のLDPにBGPを再配布するには、ABRに設定が必要です。

ABR1は、プレフィックス10.100.1.7/32のLDPラベルバインディングをP2ルータにアドバタイズしません。

ABR1が再配布されたiBGPプレフィックスのLDPラベルバインディングをアドバタイズするには、ABR1に次の設定が必要です（AS番号を設定する必要があります）。

mpls ldp

mldp

address-family ipv4

!

!

router-id 10.100.1.3

address-family ipv4

redistribute

bgp

as 1

!

!

!

LDPでアドバタイズメントをフィルタできます。たとえば、次のようなフィルタを設定できます。

mpls ldp

mldp

address-family ipv4

!

!

router-id 10.100.1.3

address-family ipv4

redistribute

bgp

as 1

advertise-to 1

!

ipv4 access-list 1

10 permit ipv4 host 10.100.1.2 any

アクセスリストでLDPルータIDを指定します。

この例では、10.100.1.2がP2のLDPルータIDであるため、ABRは再配布されたiBGPルートのLDPバインディングのみをLDPネイバーP2にアドバタイズします（P1にはアドバタイズしません）。

PE1からPE2へのLSPは中断されません。

RP/0/0/CPU0:PE1#traceroute 10.100.1.7 source 10.100.1.1

Type escape sequence to abort.

Tracing the route to 10.100.1.7

1  10.1.1.2 [MPLS: Label 20 Exp 0] 39 msec  49 msec  29 msec

2  10.1.2.3 [MPLS: Label 24006 Exp 0] 29 msec  49 msec  39 msec

3  10.1.3.4 [MPLS: Labels 16/24003 Exp 0] 29 msec  19 msec  29 msec

4  10.1.4.5 [MPLS: Label 24003 Exp 0] 29 msec  19 msec  29 msec

5   *  *  *

6  10.1.6.7 19 msec  *  19 msec

図 13.

LDPによって左側の集約エリアにアドバタイズされたBGP割り当てラベル(24006)が、PE1からPE2へのトラフィックに使用されるようになりました。

左側のアグリゲーションエリアで使用されるMPLSラベルは1つだけです。通常のUnified MPLSの場合は、2つのラベルが使用されます。

この時点で、LDPに再配布されたLU iBGPルートのうち、ローカルラベルを受け取ったルートと受け取っていないルートをフィルタリングすることはできません。iBGP LUルートのLDPへの再配布が有効になると、すぐにローカルラベルが取得されます。

PE2は、BGP LUでプレフィクス10.100.1.99/32もアドバタイズします。このプレフィックスはABR1によってOSPF 1に再配布されません。ただし、iBGP LUルートのLDPへの再配布がオンになると、プレフィックス10.100.1.99/32にもローカルラベルが付きます。

RP/0/0/CPU0:ABR1#show mpls ldp bindings 10.100.1.99/32

10.100.1.99/32, rev 24

Local binding: label: 24007

No remote bindings

9. MPLS Activateインターフェイスコマンド

例1:IGPがLDPを使用しない

内部ルーティングを処理するIGPがあっても、ラベルバインディングをアドバタイズするLDPがない場合は、mpls activateコマンドが必要です。各ホップでBGPが実行されている場合、BGP LUを使用してプレフィックスとラベルをアドバタイズできます。リンク上でiBGPの場合、mpls activateコマンドを使用して、そのリンクをルータBGPで有効にする必要があります。次の図を参照してください。

図 14.

R1とR2は、それらの間でIGPとiBGP LUを実行します。R1とR2は直接接続されています。R2にはR3へのeBGP LUセッションがあります。

R3は、eBGP LUセッションを介してプレフィクス10.100.100.3/2をR2にアドバタイズします。R2は、iBGP LUセッションを介してこのプレフィクスをR1にアドバタイズします。

目標は、R1からR3への中断のないLSPを持つことです。そこにありますか。

RP/0/0/CPU0:R1#trace 10.100.100.3 so 10.100.100.1

Type escape sequence to abort.

Tracing the route to 10.100.100.3

1 100.1.1 !N *  !N

このプレフィックスのラベルはファーストホップにありません。

RP/0/0/CPU0:R1#traceroute mpls ipv4 10.100.100.3/32 ttl 5

Tracing MPLS Label Switched Path to 10.100.100.3/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 0.0.0.0 MRU 0 [No Label]

Q 1 *

ラベルはありません。R2へのインターフェイスでMPLSが有効になっていないため、これは驚くべきことではありません。

RP/0/0/CPU0:R1#show mpls interfaces

RP/0/0/CPU0:R1#

ただし、R3によってアドバタイズされたLUプレフィックスはR1に存在します。

RP/0/0/CPU0:R1#show bgp ipv4 labeled-unicast 10.100.100.3/32

BGP routing table entry for 10.100.100.3/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  7           7

Local Label: 24001

Last Modified: Sep 13 14:27:17.510 for 00:11:39

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

65001

10.100.1.2 (metric 2) from 10.100.1.2 (10.100.1.2)

Received Label 24002

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 1, version 7

R1でmpls activeコマンドを設定し、R2へのインターフェイスを設定します。

router bgp 65000

mpls activate

interface GigabitEthernet0/0/0/0

!

address-family ipv4 unicast

network 10.100.100.1/32

allocate-label all

!

neighbor 10.100.1.2

remote-as 65000

update-source Loopback0

address-family ipv4 labeled-unicast

!

!

!

発信インターフェイスでMPLSが有効になりました。

RP/0/0/CPU0:R1#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     No       No       No       Yes

tracerouteは、LSPが中断されていないことを示します。

RP/0/0/CPU0:R1#trace 10.100.100.3 so 10.100.100.1

Type escape sequence to abort.

Tracing the route to 10.100.100.3

1  10.1.2.2 [MPLS: Label 24002 Exp 0] 39 msec  9 msec  9 msec

2  10.2.3.3 19 msec *  9 msec

RP/0/0/CPU0:R1#traceroute mpls ipv4 10.100.100.3/32 ttl 5 source 10.100.100.1

Tracing MPLS Label Switched Path to 10.100.100.3/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx labl,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24002 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: implicit-null/implicit-null Exp: 0/0] 0 ms

! 2 10.2.3.3 10 ms

例2.コンフェデレーション

この例は、BGP LU(RFC 3107)を使用していて、LDPを使用していない場合に、eBGP(inter-AS)コンフェデレーションリンクでmpls activateコマンドが必要であることを示しています。

この図のネットワークは、サブ自律システム65501、65502、65503、および65504を持つコンフェデレーション65000です。

図 15.

この概念は、両方の自律システムでBGP LUを使用して、R1からR8へのMPLS LSP(10.0.0.8/32はBGP LUでR8によってアドバタイズされます)を設定することです。

R7とR8の間には通常のeBGP LUがあります。R2とR4の間およびR5とR6の間にiBGPが設定されています。R1とR2の間、R4とR5の間にはeBGPが設定されていますセッション。

コンフェデレーション内のサブ自律システム間にeBGPが存在するため、eBGPピアのネクストホップ（AS間BGPセッションでは通常）へのスタティックルートが必要です。

これは、R1とR8の間の接続に十分ですか。これは、R1からR8へのLSPが中断されないことを目的としています。

これを確認します。

RP/0/0/CPU0:R1#traceroute 10.0.0.8

Type escape sequence to abort.

Tracing the route to 10.0.0.8

1   *  *  *

2   *  *  *

3   *  *  *

4   *  *  *

5   *  *  *

tracerouteはホップ/ラベルを返さず、コマンドにTTL制限が指定されていない場合は続行します。ルータはtracerouteに応答する可能性がありますが、パケットがR1に戻らない可能性があります。より安全なルートであるmpls tracerouteを実行してください。

注：MPLS tracerouteは、パス上のすべてのルータでMPLS OAMが有効になっている場合にのみ機能します。

RP/0/0/CPU0:R1#trace mpls ipv4 10.0.0.8/32

Tracing MPLS Label Switched Path to 10.0.0.8/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label,

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24015 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: 24003/24014 Exp: 0/0] 10 ms

L 2 10.2.3.3 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

N 3 10.3.4.4 MRU 0 [No Label] 10 ms

R4に問題があることが分かります。発信インターフェイスがLFIB:

RP/0/0/CPU0:R4#show mpls forwarding prefix 10.0.0.8/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24014  24014       10.0.0.8/32                     10.4.5.5        5140

CEFのエントリは解決されません。

RP/0/0/CPU0:R4#show cef 10.0.0.8/32

10.0.0.8/32, version 109, drop adjacency, internal 0x5000001 0x0 (ptr 0xa14160e4) [1], 0x0 (0xa13f83c8), 0xa08 (0xa16cd370)

Updated Sep 13 12:43:30.252

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

via 10.4.5.5/32, 0 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

unresolved

local label 24014

labels imposed {24014}

MPLSがGE0/0/0/1インターフェイスで有効になっていない。

RP/0/0/CPU0:R4#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

この問題は、R4とR5の間のリンク上でBGPのMPLSをアクティブにするコマンドで解決されます。R4とR5には、このリンク上でeBGPコンフェデレーションセッションがあります。実際には、これはコンフェデレーション65000内のiBGPセッションです。その結果、R4のプレフィックスをネクストホップR5に解決するには、MPLSをアクティブにするコマンドが必要になります。他の通常のネットワークでは、LDPが処理されます。コンフェデレーション内のBGPセッション。

R4のインターフェイスge 0/0/0/1にmpls activateコマンドを追加します。

router bgp 65502

bgp confederation peers

65501

65503

65504

!

bgp confederation identifier 65000

mpls activate

interface GigabitEthernet0/0/0/1

!

…

RP/0/0/CPU0:R4#show mpls interfaces

Interface                  LDP      Tunnel   Static   Enabled

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

GigabitEthernet0/0/0/0     Yes      No       No       Yes

GigabitEthernet0/0/0/1     No       No       No       Yes

tracerouteは、R1からR8への中断のないLSPを示します。

RP/0/0/CPU0:R1#trace mpls ipv4 10.0.0.8/32

Tracing MPLS Label Switched Path to 10.0.0.8/32, timeout is 2 seconds

Codes: '!' - success, 'Q' - request not sent, '.' - timeout,

'L' - labeled output interface, 'B' - unlabeled output interface,

'D' - DS Map mismatch, 'F' - no FEC mapping, 'f' - FEC mismatch,

'M' - malformed request, 'm' - unsupported tlvs, 'N' - no rx label

'P' - no rx intf label prot, 'p' - premature termination of LSP,

'R' - transit router, 'I' - unknown upstream index,

'X' - unknown return code, 'x' - return code 0

Type escape sequence to abort.

0 10.1.2.1 MRU 1500 [Labels: implicit-null/24015 Exp: 0/0]

L 1 10.1.2.2 MRU 1500 [Labels: 24003/24014 Exp: 0/0] 10 ms

L 2 10.2.3.3 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

L 3 10.3.4.4 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 10 ms

L 4 10.4.5.5 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 20 ms

L 5 10.5.6.6 MRU 1500 [Labels: implicit-null/24014 Exp: 0/0] 30 ms

L 6 10.6.7.7 MRU 1500 [Labels: implicit-null/implicit-null Exp: 0/0] 30 ms

! 7 10.7.8.8 30 ms

RP/0/0/CPU0:R1#traceroute 10.0.0.8

Type escape sequence to abort.

Tracing the route to 10.0.0.8

1  10.1.2.2 [MPLS: Label 24015 Exp 0] 69 msec  29 msec  29 msec

2  10.2.3.3 [MPLS: Labels 24003/24014 Exp 0] 49 msec  29 msec  29 msec

3  10.3.4.4 [MPLS: Label 24014 Exp 0] 19 msec  19 msec  19 msec

4  10.4.5.5 [MPLS: Label 24014 Exp 0] 49 msec  19 msec  29 msec

5  10.5.6.6 [MPLS: Label 24014 Exp 0] 19 msec  19 msec  29 msec

6  10.6.7.7 [MPLS: Label 24014 Exp 0] 29 msec  29 msec  29 msec

7  10.7.8.8 29 msec  *  29 msec

このエントリのLFIBに発信インターフェイスが存在します。

RP/0/0/CPU0:R4#show mpls forwarding prefix 10.0.0.8/32

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24014  24014       10.0.0.8/32        Gi0/0/0/1    10.4.5.5        2890

プレフィックスの発信ラベルがR4に存在し、CEFはそのプレフィックスを解決済みと表示します。

RP/0/0/CPU0:R4#show cef 10.0.0.8/32

Updated Sep 13 12:43:30.252

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

via 10.4.5.5/32, 3 dependencies, recursive [flags 0x6000]

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

recursion-via-/32

next hop 10.4.5.5/32 via 24016/0/21

local label 24014

next hop 10.4.5.5/32 Gi0/0/0/1    labels imposed {ImplNull 24014}