内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

表記法

トポロジ

トラブルシューティング

初期情報

検証

Cisco IOS XE検証コマンド

Cisco IOS XRの検証コマンド

関連情報

はじめに

このドキュメントでは、MPLSレイヤ3 VPNコアネットワーク全体のエンドツーエンド接続を確認するプロセスについて説明します。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- IPルーティングの基礎知識

- Cisco IOS® XEおよびCisco IOS® XRコマンドラインの知識

使用するコンポーネント

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。

- Cisco IOS XRソフトウェアが稼働するルータ

- Cisco IOS XEソフトウェア搭載のルータ

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

背景説明

このドキュメントの目的は、MPLSレイヤ3 VPNコアネットワークによってBGP（ボーダーゲートウェイプロトコル）で相互接続されている2台のCE（カスタマーエッジ）ルータ間の接続と転送を確認し、PE（プロバイダーエッジ）ルータおよびP（プロバイダー）ルータとして機能するCisco IOS XEルータとCisco IOS XRルータを組み合わせて検証する基本的な検証とトラブルシューティングの手順を示すことです。

表記法

表記法の詳細については、『シスコ テクニカル ティップスの表記法』を参照してください。

トポロジ

MPLSトポロジ図

トラブルシューティング

初期情報

送信元ネットワーク：192.168.1.0/24

送信元CEルータ：CE-EAST

宛先ネットワーク：172.16.1.0/24

宛先CEルータ：CE-WEST

最初の情報とトポロジに基づいて、到達可能性は、ルータCE-EASTのLoopback1で表される送信元アドレス192.168.1.10と、ルータCE-WESTのLoopback1で表される宛先アドレス172.16.1.10の間で成功する必要があります。

CE-EAST#show run interface loopback1

Building configuration...

Current configuration : 66 bytes

!

interface Loopback1

ip address 192.168.1.10 255.255.255.0

end

CE-WEST#show run interface loopback 1

Building configuration...

Current configuration : 65 bytes

!

interface Loopback1

ip address 172.16.1.10 255.255.255.0

end

ICMP到達可能性とtracerouteは、これらの送信元アドレスと宛先アドレス間の接続チェックを開始するために使用されましたが、次の出力からは、これが成功しなかったことがわかります。

CE-EAST#ping 172.16.1.10 source loopback1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.1.10, timeout is 2 seconds:

Packet sent with a source address of 192.168.1.10

.....

Success rate is 0 percent (0/5)

CE-EAST#traceroute 172.16.1.10 source loop1 probe 1 numeric

Type escape sequence to abort.

Tracing the route to 172.16.1.10

VRF info: (vrf in name/id, vrf out name/id)

1 10.11.0.2 2 msec

2  *

3 10.10.0.2 [MPLS: Label 16 Exp 0] 9 msec

4  *

5  *

6  *

7  *

8  *

9  *

10  *

11  *

12  *

13  *

14  *

15  *

16  *

17  *

18  *

19  *

20  *

21  *

22  *

23  *

24  *

25  *

26  *

27  *

28  *

29  *

30  *

CE-EAST#

注：トラブルシューティングの際にMPLSネットワークに接続されたtracerouteを使用すると、一部のサービスプロバイダーはコア内のすべてのLSR（ラベルスイッチルータ）を非表示にするために、Cisco IOS XEのno mpls ip propagate-ttl forwardコマンドまたはCisco IOS XRのmpls ip-ttl-propagate disable forwardedコマンドを設定する傾向があるため、効果が低くなる場合があります（ただし、入力および出力PEルータをををを除除除を除除除除除く）。

送信元CEルータのステータスを確認する際に、このルータはVRF(Virtual Route Forwarding)を持たず、MPLSに対応していないため、RIB(Routing Information Base)、CEF(Cisco Express Forwarding)、およびBGPを確認する必要があります。次の出力では、BGPを介して宛先サブネット172.16.1.0/24に既知のルーティングエントリがあり、インターフェイスGigabitEthernet0/0を介して到達可能であることが確認できます。

CE-EAST#show ip route 172.16.1.10

Routing entry for 172.16.1.0/24

Known via "bgp 65001", distance 20, metric 0          <<<<<

Tag 65500, type external

Last update from 10.11.0.2 3d01h ago

Routing Descriptor Blocks:

* 10.11.0.2, from 10.11.0.2, 3d01h ago

Route metric is 0, traffic share count is 1

AS Hops 2

Route tag 65500

MPLS label: none

CE-EAST#show ip cef 172.16.1.10

172.16.1.0/24

nexthop 10.11.0.2 GigabitEthernet0/0          <<<<<

CE-EAST#

送信元のCE-EASTルータにはRIBにインストールされた宛先へのルートがあるため、トポロジに示すように、プロバイダーエッジ(PE)ルータPE4（入力PE）を調べる時間です。この時点で、次の出力に示すように、VRFとルート識別子、およびルートターゲットのインポートとエクスポートが設定されます。

RP/0/0/CPU0:PE4#show run vrf EAST

Mon Sep 11 20:01:54.454 UTC

vrf EAST

address-family ipv4 unicast

import route-target 65000:1 65001:1 65001:2 ! export route-target 65001:1

!

!

!

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

Mon Sep 11 20:06:48.164 UTC

router bgp 65500

address-family ipv4 unicast

!

address-family vpnv4 unicast

!

neighbor 10.10.10.6

remote-as 65500

update-source Loopback0

address-family vpnv4 unicast

!

!

vrf EAST

rd 65001:1

address-family ipv4 unicast

!

neighbor 10.11.0.1

remote-as 65001

address-family ipv4 unicast

route-policy PASS in

route-policy PASS out

!

!

!

!

RP/0/0/CPU0:PE4#

前の出力から、VRF名「EAST」が65000:1のルートターゲットインポートで定義されていることがわかります。ここでVRFルーティングテーブルをチェックでき、これはPE4に宛先IPアドレス172.16.1.10へのルートがあるかどうかを判断するのに役立ちます。

RP/0/0/CPU0:PE4#show route vrf EAST 172.16.1.10

Mon Sep 11 19:58:28.128 UTC

Routing entry for 172.16.1.0/24

Known via "bgp 65500", distance 200, metric 0

Tag 65000, type internal

Installed Sep  8 18:28:46.303 for 3d01h

Routing Descriptor Blocks

10.10.10.1, from 10.10.10.6

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

Route metric is 0

No advertising protos.

RP/0/0/CPU0:PE4#

このPEはCisco IOS XRデバイスであるため、show route vrf <name>コマンドの最後に「detail」キーワードを使用して、MP-BGP（マルチプロトコルBGP）によって付加されるVPNv4ラベルや、プレフィックスからのソースRD（ルート識別子）などの追加情報を確認できます。

RP/0/0/CPU0:PE4#show route vrf EAST 172.16.1.10 detail

Mon Sep 11 20:21:48.492 UTC

Routing entry for 172.16.1.0/24

Known via "bgp 65500", distance 200, metric 0

Tag 65000, type internal

Installed Sep  8 18:28:46.303 for 3d01h

Routing Descriptor Blocks

10.10.10.1, from 10.10.10.6

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

Route metric is 0

Label: 0x10 (16)          <<<<<

Tunnel ID: None

Binding Label: None

Extended communities count: 0

Source RD attributes: 0x0000:65000:1          <<<<<

NHID:0x0(Ref:0)

Route version is 0x5 (5)

No local label

IP Precedence: Not Set

QoS Group ID: Not Set

Flow-tag: Not Set

Fwd-class: Not Set

Route Priority: RIB_PRIORITY_RECURSIVE (12) SVD Type RIB_SVD_TYPE_REMOTE

Download Priority 3, Download Version 36

No advertising protos.

RP/0/0/CPU0:PE4#

次に、VRFにインポートされたBGP VPNv4プレフィックスを見てみましょう。これは前の出力と同じラベル16であり、拡張コミュニティ65000:1もあることを確認してください。また、10.10.10.1は、PE4がルート再帰を実行するために必要なネクストホップであり、次のアドレス「10.10.10.6から」は、PE4がこのプレフィクスを学習するために使用したBGPピアです（このシナリオでは、ルートリフレクタP6です）。

RP/0/0/CPU0:PE4#show bgp vpnv4 unicast vrf EAST 172.16.1.10

Mon Sep 11 22:42:28.114 UTC

BGP routing table entry for 172.16.1.0/24, Route Distinguisher: 65001:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 48          48

Last Modified: Sep  8 18:28:46.314 for 3d04h

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

65000

10.10.10.1 (metric 20) from 10.10.10.6 (10.10.10.1)         <<<<<

Received Label 16

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

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

Extended community: RT:65000:1         <<<<<

Originator: 10.10.10.1, Cluster list: 10.10.10.6

Source AFI: VPNv4 Unicast, Source VRF: default, Source Route Distinguisher: 65000:1  <<<<<

CEFを調べるときに、VRFレベルでexact-routeキーワードを指定すると、パケットの出力インターフェイスを把握できます。このコマンドは、プレフィクスに付加された2つのラベル24001と16を示すため、重要な詳細を提供する場合もあります。その理由は、ラベル16がBGP VPNv4から来ており、ラベル24001(LDP)がLDP（ラベル配布プロトコル）から来ているためです。

RP/0/0/CPU0:PE4#show cef vrf EAST exact-route 192.168.1.10 172.16.1.10

Mon Sep 11 22:48:15.241 UTC

172.16.1.0/24, version 36, internal 0x5000001 0x0 (ptr 0xa12dc74c) [1], 0x0 (0x0), 0x208 (0xa155b1b8)

Updated Sep  8 18:28:46.323

local adjacency 10.0.0.16

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

via GigabitEthernet0/0/0/4

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

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

recursion-via-/32

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

next hop 10.10.10.1/32 via 24010/0/21

next hop 10.0.0.16/32 Gi0/0/0/4 labels imposed {24001 16}         <<<<<

次の手順として、show bgp vpnv4 unicastコマンドを使用して、このPEによって学習されているVPNv4ルートをチェックします。次の出力は、VPNv4プレフィクスがVRFにインポートされる前の情報を示しています。設定されているRT（ルートターゲット）が(この例では、インポートされたRTが65000:1、65001:1、65001:2である)のは、どのルートをどのVRFにインポートするかを示しています。

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

Fri Sep 15 02:15:15.463 UTC

BGP router identifier 10.10.10.4, local AS number 65500

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 85

BGP NSR Initial initsync version 1 (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: 65000:1

*>i172.16.1.0/24 10.10.10.1 0 100 0 65000 i         <<<<<

*>i172.16.2.0/24      10.10.10.1               0    100      0 65000 i

Route Distinguisher: 65001:1 (default for vrf EAST)

* i0.0.0.0/0          10.10.10.3               0    100      0 65001 i

*>                    10.11.0.1                0             0 65001 i

*>i172.16.1.0/24      10.10.10.1               0    100      0 65000 i

*>i172.16.2.0/24      10.10.10.1               0    100      0 65000 i

*> 192.168.1.0/24     10.11.0.1                0             0 65001 i

*>i192.168.2.0/24     10.10.10.3               0    100      0 65001 i

*> 192.168.3.0/24     10.11.0.1                0             0 65001 i

Route Distinguisher: 65001:2

*>i0.0.0.0/0          10.10.10.3               0    100      0 65001 i

*>i192.168.2.0/24     10.10.10.3               0    100      0 65001 i

Processed 10 prefixes, 11 paths

この例では、VPNv4テーブルが小さい場合がありますが、実稼働環境では、すべてのVPNv4プレフィクスを調べる代わりに、次のコマンドを使用して、確認を特定のRDとプレフィクスに絞り込むことができます。

RP/0/0/CPU0:PE4#show bgp vpnv4 unicast rd 65000:1 172.16.1.10

Mon Sep 11 22:54:04.967 UTC

BGP routing table entry for 172.16.1.0/24, Route Distinguisher: 65000:1

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 46          46

Last Modified: Sep  8 18:28:46.314 for 3d04h

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

65000

10.10.10.1 (metric 20) from 10.10.10.6 (10.10.10.1)

Received Label 16

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, import-candidate, not-in-vrf

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

Extended community: RT:65000:1

Originator: 10.10.10.1, Cluster list: 10.10.10.6

この時点で、MP-BGPコントロールプレーンには、それぞれ宛先プレフィックスとLDPおよびVPNv4ラベル{24001 16}があり、このトラフィックの出口インターフェイスはGi0/0/0/4であると思われ、トラフィックを転送する必要があるネクストホップは10.10.10.1です。ただし、優先される出口インターフェイスを確認する別のオプションはありますか。次に、MPLS転送テーブルまたはLFIB（Label Forwarding Information Base；ラベル転送情報ベース）を調べます。show mpls forwardingコマンドを使用すると、10.10.10.1の宛先（PE1からのループバック0）に向けて2つのエントリが表示されます。一方のパスはGi0/0/0/4の発信インターフェイス(Outgoing Label)が24001でネクストホップ10.0.0.16（ルータP5）を持ち、もう一方のパスはGi0/0/0/0/3を通り、ネクストホップ110.0.0.0.13（ルータ6）を23の発信発信ラベル

RP/0/0/CPU0:PE4#show mpls forwarding

Mon Sep 11 23:28:33.425 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24000  Unlabelled  192.168.1.0/24[V]  Gi0/0/0/0    10.11.0.1       1096

24001  Unlabelled  192.168.3.0/24[V]  Gi0/0/0/0    10.11.0.1       56056

24002  Unlabelled  0.0.0.0/0[V]       Gi0/0/0/0    10.11.0.1       0

24003  Pop         10.10.10.6/32      Gi0/0/0/3    10.0.0.13       7778512

24004  Pop         10.0.0.4/31        Gi0/0/0/3    10.0.0.13       0

24005  Pop         10.0.0.8/31        Gi0/0/0/3    10.0.0.13       0

24006  Pop         10.10.10.5/32      Gi0/0/0/4    10.0.0.16       3542574

24007  Pop         10.0.0.10/31       Gi0/0/0/3    10.0.0.13       0

Pop         10.0.0.10/31       Gi0/0/0/4    10.0.0.16       0

24008  Pop         10.0.0.6/31        Gi0/0/0/4    10.0.0.16       0

24009  Pop         10.0.0.0/31        Gi0/0/0/4    10.0.0.16       0

24010 23 10.10.10.1/32 Gi0/0/0/3 10.0.0.13 22316         <<<<<

24001 10.10.10.1/32 Gi0/0/0/4 10.0.0.16 42308        <<<<<

24011  18          10.10.10.2/32      Gi0/0/0/3    10.0.0.13       0

24003       10.10.10.2/32      Gi0/0/0/4    10.0.0.16       0

24012  17          10.0.0.2/31        Gi0/0/0/3    10.0.0.13       0

24005       10.0.0.2/31        Gi0/0/0/4    10.0.0.16       0

24013  Pop         10.10.10.3/32      Gi0/0/0/1    10.0.0.20       3553900

24014  Pop         10.0.0.14/31       Gi0/0/0/1    10.0.0.20       0

Pop         10.0.0.14/31       Gi0/0/0/4    10.0.0.16       0

24015  Pop         10.0.0.18/31       Gi0/0/0/1    10.0.0.20       0

Pop         10.0.0.18/31       Gi0/0/0/3    10.0.0.13       0

RP/0/0/CPU0:PE4#show mpls forwarding prefix 10.10.10.1/32

Mon Sep 11 23:30:54.685 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24010  23          10.10.10.1/32      Gi0/0/0/3    10.0.0.13       3188

24001       10.10.10.1/32      Gi0/0/0/4    10.0.0.16       6044

RP/0/0/CPU0:PE4#show mpls forwarding prefix 10.10.10.1/32 detail hardware egress

Mon Sep 11 23:36:06.504 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24010  23          10.10.10.1/32      Gi0/0/0/3    10.0.0.13       N/A

Updated: Sep  8 20:27:26.596

Version: 39, Priority: 3

Label Stack (Top -> Bottom): { 23 }

NHID: 0x0, Encap-ID: N/A, Path idx: 0, Backup path idx: 0, Weight: 0

MAC/Encaps: 14/18, MTU: 1500

Outgoing Interface: GigabitEthernet0/0/0/3 (ifhandle 0x000000a0)

Packets Switched: 0

24001       10.10.10.1/32      Gi0/0/0/4    10.0.0.16       N/A

Updated: Sep  8 20:27:26.596

Version: 39, Priority: 3

Label Stack (Top -> Bottom): { 24001 }

NHID: 0x0, Encap-ID: N/A, Path idx: 1, Backup path idx: 0, Weight: 0

MAC/Encaps: 14/18, MTU: 1500

Outgoing Interface: GigabitEthernet0/0/0/4 (ifhandle 0x000000c0)

Packets Switched: 0

上記の出力から、トラフィックのロードバランシングが可能なパスオプションが2つあることは明らかですが、どちらが優先パスであるかを判断する方法がいくつかあります。その1つの方法は、show cef exact-route <source IP> <destination IP>コマンドを使用して、送信元PEからのLoopback0と宛先PEからのLoopback0を追加することです。次の出力に示すように、優先パスはGi0/0/0/4を通過します。

RP/0/0/CPU0:PE4#show cef exact-route 10.10.10.4 10.10.10.1

Mon Sep 11 23:49:44.558 UTC

10.10.10.1/32, version 39, internal 0x1000001 0x0 (ptr 0xa12dbdbc) [1], 0x0 (0xa12c18c0), 0xa28 (0xa185307c)

Updated Sep  8 20:27:26.596

local adjacency 10.0.0.16

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

via GigabitEthernet0/0/0/4

via 10.0.0.16/32, GigabitEthernet0/0/0/4, 9 dependencies, weight 0, class 0 [flags 0x0]         <<<<<

path-idx 1 NHID 0x0 [0xa16765bc 0x0]

next hop 10.0.0.16/32

local adjacency

local label 24010      labels imposed {24001}

もう1つのオプションは、最初にLIB（ラベル情報ベース）を確認し、コマンドshow mpls ldp bindings <prefix/mask>を使用して宛先Loopback0（出力PEに属する10.10.10.1）のLDPバインディングを取得し、その出力からローカルバインディングラベルが見つかったら、コマンドshow mpls forwarding exact-route label <label> ipv4 <source IP> <destination IP> detail でそのラベル値ををを使用して優先パスを取得します。

RP/0/0/CPU0:PE4#show mpls ldp bindings 10.10.10.1/32

Wed Sep 13 17:18:43.007 UTC

10.10.10.1/32, rev 29

Local binding: label: 24010         <<<<<

Remote bindings: (3 peers)

Peer                Label

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

10.10.10.3:0        24

10.10.10.5:0        24001

10.10.10.6:0        23

RP/0/0/CPU0:PE4#show mpls forwarding exact-route label 24010 ipv4 10.10.10.4 10.10.10.1 detail

Wed Sep 13 17:20:06.342 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24010 24001 10.10.10.1/32 Gi0/0/0/4 10.0.0.16 N/A                  <<<<<

Updated: Sep 12 14:15:37.009

Version: 198, Priority: 3

Label Stack (Top -> Bottom): { 24001 }

NHID: 0x0, Encap-ID: N/A, Path idx: 1, Backup path idx: 0, Weight: 0

Hash idx: 1

MAC/Encaps: 14/18, MTU: 1500

Outgoing Interface: GigabitEthernet0/0/0/4 (ifhandle 0x000000c0)

Packets Switched: 0

Via: Gi0/0/0/4, Next Hop: 10.0.0.16

Label Stack (Top -> Bottom): { 24001 }

NHID: 0x0, Encap-ID: N/A, Path idx: 1, Backup path idx: 0, Weight: 0

Hash idx: 1

MAC/Encaps: 14/18, MTU: 1500

Outgoing Interface: GigabitEthernet0/0/0/4 (ifhandle 0x000000c0)

次に、データプレーンにあるネクストホップルータを確認することが重要です。この例では、確認すべきルータはP5（インターフェイス10.0.0.16）です。最初にMPLS転送テーブルを調べます。ここでは、プレフィクス10.10.10.1のローカルラベルを24001にする必要があります。

RP/0/0/CPU0:P5#show mpls forwarding

Thu Sep 14 20:07:16.455 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24000  Pop         10.10.10.6/32      Gi0/0/0/2    10.0.0.11       361906

24001 Pop 10.10.10.1/32 Gi0/0/0/1 10.0.0.0 361002               <<<<<

24002  Pop         10.0.0.4/31        Gi0/0/0/1    10.0.0.0        0

Pop         10.0.0.4/31        Gi0/0/0/2    10.0.0.11       0

24003  Pop         10.10.10.2/32      Gi0/0/0/0    10.0.0.6        360940

24004  Pop         10.0.0.8/31        Gi0/0/0/0    10.0.0.6        0

Pop         10.0.0.8/31        Gi0/0/0/2    10.0.0.11       0

24005  Pop         10.0.0.2/31        Gi0/0/0/0    10.0.0.6        0

Pop         10.0.0.2/31        Gi0/0/0/1    10.0.0.0        0

24006  Pop         10.10.10.4/32      Gi0/0/0/4    10.0.0.17       361230

24007  Pop         10.0.0.12/31       Gi0/0/0/2    10.0.0.11       0

Pop         10.0.0.12/31       Gi0/0/0/4    10.0.0.17       0

24008  Pop         10.10.10.3/32      Gi0/0/0/3    10.0.0.15       361346

24009  Pop         10.0.0.20/31       Gi0/0/0/3    10.0.0.15       0

Pop         10.0.0.20/31       Gi0/0/0/4    10.0.0.17       0

24010  Pop         10.0.0.18/31       Gi0/0/0/2    10.0.0.11       0

Pop         10.0.0.18/31       Gi0/0/0/3    10.0.0.15       0

RP/0/0/CPU0:P5#show mpls forwarding labels 24001

Thu Sep 14 20:07:42.584 UTC

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24001 Pop 10.10.10.1/32 Gi0/0/0/1 10.0.0.0 361060

RP/0/0/CPU0:P5#

上記の出力から、プレフィックス10.10.10.1/32のLFIBエントリでは、発信ラベルとして「Pop」が表示されていることがわかります。これは、このルータがPenultimate Hop Popping(PHP)であることを意味します。また、トラフィックはLFIB情報に基づいてGi0/0/0/1経由で送信される必要があることも示しています。これはCEFを調べる際にも確認できます。次のCEF exact-route出力は、付加されたラベルとして暗黙的ヌルラベルを示しています。これは、Gi0/0/0/1に接続されたネクストホップがラベルスイッチパスの最後のルータであり、宛先サイト(CE-WEST)に面するPEでもあるため、やはり同じです。これは、ルータP5がパケットから別のラベルを削除し、強制しない理由でもあります。このプロセスのおかげで、出力ルータPE1はLDPラベルのないパケットを受信することになります。

RP/0/0/CPU0:P5#show cef exact-route 10.10.10.4 10.10.10.1

Thu Sep 14 20:25:57.269 UTC

10.10.10.1/32, version 192, internal 0x1000001 0x0 (ptr 0xa1246394) [1], 0x0 (0xa122b638), 0xa20 (0xa155b550)

Updated Sep 12 14:15:38.009

local adjacency 10.0.0.0

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

via GigabitEthernet0/0/0/1

via 10.0.0.0/32, GigabitEthernet0/0/0/1, 9 dependencies, weight 0, class 0 [flags 0x0]

path-idx 0 NHID 0x0 [0xa166e280 0xa166e674]

next hop 10.0.0.0/32

local adjacency

local label 24001 labels imposed {ImplNull}         <<<<<

ラベルスイッチパスを確認する最後のポイントはPE1です。MPLS転送テーブルを見ると、LFIBにプレフィクス10.10.10.1/32のエントリがないことがわかります。

PE1#show mpls forwarding-table

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

16         No Label   172.16.1.0/24[V] 12938         Gi3        10.10.0.1

17         No Label   172.16.2.0/24[V] 0             Gi3        10.10.0.1

18         Pop Label  10.0.0.6/31      0             Gi1        10.0.0.1

Pop Label  10.0.0.6/31      0             Gi2        10.0.0.3

19         Pop Label  10.0.0.8/31      0             Gi2        10.0.0.3

Pop Label  10.0.0.8/31      0             Gi4        10.0.0.5

20         Pop Label  10.0.0.10/31     0             Gi1        10.0.0.1

Pop Label  10.0.0.10/31     0             Gi4        10.0.0.5

21         Pop Label  10.0.0.12/31     0             Gi4        10.0.0.5

22         Pop Label  10.0.0.14/31     0             Gi1        10.0.0.1

23         Pop Label  10.0.0.16/31     0             Gi1        10.0.0.1

24         Pop Label  10.0.0.18/31     0             Gi4        10.0.0.5

25         24009      10.0.0.20/31     0             Gi1        10.0.0.1

22         10.0.0.20/31     0             Gi4        10.0.0.5

26         Pop Label  10.10.10.2/32    0             Gi2        10.0.0.3

27         24008      10.10.10.3/32    0             Gi1        10.0.0.1

24         10.10.10.3/32    0             Gi4        10.0.0.5

28         24006      10.10.10.4/32    0             Gi1        10.0.0.1

25         10.10.10.4/32    0             Gi4        10.0.0.5

29         Pop Label  10.10.10.5/32    0             Gi1        10.0.0.1

Local      Outgoing   Prefix           Bytes Label   Outgoing   Next Hop

Label      Label      or Tunnel Id     Switched      interface

30         Pop Label  10.10.10.6/32    0             Gi4        10.0.0.5

31    [T]  Pop Label  1/1[TE-Bind]     0             drop

[T]     Forwarding through a LSP tunnel.

View additional labelling info with the 'detail' option

すでに説明したように、この動作の理由は、プレフィックス(10.10.10.1/32)がPE1に属しており、ルータもこの接続されたプレフィックスに暗黙的なヌルラベルを割り当てているためです。これは、show mpls ldp bindingsコマンドを使用して確認できます。

PE1#show run interface loopback 0

Building configuration...

Current configuration : 66 bytes

!

interface Loopback0

ip address 10.10.10.1 255.255.255.255

end

PE1#show mpls ldp bindings 10.10.10.1 32

lib entry: 10.10.10.1/32, rev 24

local binding: label: imp-null

remote binding: lsr: 10.10.10.6:0, label: 23

remote binding: lsr: 10.10.10.5:0, label: 24001

remote binding: lsr: 10.10.10.2:0, label: 24000

PE1はCisco IOS XEルータであるため、コマンドshow bgp vpnv4 unicast allまたはshow bgp vpnv4 unicast rd <value> <destination IP>を使用すると、宛先プレフィックス172.16.1.0/24がMP-BGPを介して正しく学習されていることを識別および確認するのに役立ちます。次のコマンドの出力は、エクスポート後のプレフィックスを示しています。

PE1#show bgp vpnv4 unicast all

BGP table version is 61, local router ID is 10.10.10.1

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

t secondary path, L long-lived-stale,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 65000:1 (default for vrf WEST)

*>i  0.0.0.0          10.10.10.3               0    100      0 65001 i

*bi                   10.10.10.4               0    100      0 65001 i

*> 172.16.1.0/24 10.10.0.1 0 0 65000 i         <<<<<

*>   172.16.2.0/24    10.10.0.1                0             0 65000 i

*>i  192.168.1.0      10.10.10.4               0    100      0 65001 i

*>i  192.168.2.0      10.10.10.3               0    100      0 65001 i

*>i  192.168.3.0      10.10.10.4               0    100      0 65001 i

Route Distinguisher: 65001:1

*>i  0.0.0.0          10.10.10.4               0    100      0 65001 i

*>i  192.168.1.0      10.10.10.4               0    100      0 65001 i

*>i  192.168.3.0      10.10.10.4               0    100      0 65001 i

Route Distinguisher: 65001:2

Network          Next Hop            Metric LocPrf Weight Path

*>i  0.0.0.0          10.10.10.3               0    100      0 65001 i

*>i  192.168.2.0      10.10.10.3               0    100      0 65001 i

PE1#show bgp vpnv4 unicast rd 65000:1 172.16.1.10

BGP routing table entry for 65000:1:172.16.1.0/24, version 2

Paths: (1 available, best #1, table WEST)

Additional-path-install

Advertised to update-groups:

6

Refresh Epoch 2

65000

10.10.0.1 (via vrf WEST) from 10.10.0.1 (172.16.2.10)         <<<<<

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

Extended Community: RT:65000:1 , recursive-via-connected         <<<<<

mpls labels in/out 16/nolabel

rx pathid: 0, tx pathid: 0x0

Updated on Sep 15 2023 18:27:23 UTC

同様に、show bgp vpnv4 unicast vrf <name> <prefix>コマンドを使用して、CE-WESTが受信したプレフィクスであるVRFのBGP VPNv4プレフィクスを調べると、出力は、入力PE4まで運ばれたMP-BGPラベル16と、設定されたRTエクスポート65000:1を示しています。

PE1#show bgp vpnv4 unicast vrf WEST 172.16.1.10

BGP routing table entry for 65000:1:172.16.1.0/24, version 2

Paths: (1 available, best #1, table WEST)

Additional-path-install

Advertised to update-groups:

6

Refresh Epoch 2

65000

10.10.0.1 (via vrf WEST) from 10.10.0.1 (172.16.2.10)

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

Extended Community: RT:65000:1 , recursive-via-connected         <<<<<

mpls labels in/out 16/nolabel         <<<<<

rx pathid: 0, tx pathid: 0x0

Updated on Sep 15 2023 18:27:23 UTC

PE1#show run vrf WEST

Building configuration...

Current configuration : 478 bytes

vrf definition WEST

rd 65000:1

route-target export 65000:1         <<<<<

route-target import 65000:1

route-target import 65001:1

route-target import 65001:2

!

address-family ipv4

exit-address-family

!

!

interface GigabitEthernet3

vrf forwarding WEST

ip address 10.10.0.2 255.255.255.252

negotiation auto

no mop enabled

no mop sysid

!

router bgp 65500

!

address-family ipv4 vrf WEST

neighbor 10.10.0.1 remote-as 65000

neighbor 10.10.0.1 activate

exit-address-family

!

end

このPEで最後にチェックする情報は、PE4ではプレフィックス172.16.1.0/24のRIBにラベルがないことがわかっているのに対して、宛先IPへのVRFレベルのRIBおよびCEFエントリです。これは、これがCEから着信するルートであり、このプレフィックスがVPNv4にエクスポートされる前に、eBGPを介して学習され、VRFルーティングテーブルに挿入されているためです。これは、次に示すshow ip route vrf <name> <prefix>コマンドとshow ip cef vrf <name> <prefix>コマンドを使用して確認できます。

PE1#show ip route vrf WEST 172.16.1.10

Routing Table: WEST

Routing entry for 172.16.1.0/24

Known via "bgp 65500", distance 20, metric 0

Tag 65000, type external

Last update from 10.10.0.1 1w0d ago

Routing Descriptor Blocks:

* 10.10.0.1, from 10.10.0.1, 1w0d ago, recursive-via-conn

opaque_ptr 0x7F8B4E3E1D50

Route metric is 0, traffic share count is 1

AS Hops 1

Route tag 65000

MPLS label: none

PE1#show ip cef vrf WEST 172.16.1.10

172.16.1.0/24

nexthop 10.10.0.1 GigabitEthernet3

この時点で、宛先プレフィックス172.16.1.0/24がトラフィックCE(CE-EAST)の送信元によって正しく学習され、MP-BGPを介して正しく伝播されたこと、およびPEおよびPsループバックからのラベルがラベルスイッチパスを介して学習されたことが確認されました。ただし、発信元と宛先間の到達可能性は成功せず、CE-WESTを確認する最後のルータがまだ1つあります。このルータで最初に確認するのはルーティングテーブルです。ここで送信元IPプレフィクス192.168.1.0/24が表示されることが想定されています。

CE-WEST#show ip route 192.168.1.10

% Network not in table CE-WEST#

「Network not in table」が問題であることは明らかです。BGPテーブルも確認できますが、プレフィクスを検索した後は存在しません。

CE-WEST#show ip bgp

BGP table version is 41, local router ID is 172.16.2.10

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

t secondary path,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

*>   172.16.1.0/24    0.0.0.0                  0         32768 i

*>   172.16.2.0/24    0.0.0.0                  0         32768 i

CE-WEST#

一歩戻ると、このプロバイダーエッジルータ(PE1)がプレフィックスをeBGPネイバーCE-WESTにアドバタイズしているかどうかを確認できます。これを行うには、次に示すshow bgp vpnv4 unicast vrf <name> neighbors <neighbor IP> advertised-routesコマンドを使用します。

PE1#show bgp vpnv4 unicast vrf WEST neighbors 10.10.0.1 advertised-routes

BGP table version is 61, local router ID is 10.10.10.1

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

t secondary path, L long-lived-stale,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 65000:1 (default for vrf WEST)

*>i  0.0.0.0          10.10.10.3               0    100      0 65001 i

*>i 192.168.1.0 10.10.10.4 0 100 0 65001 i         <<<<<

*>i  192.168.2.0      10.10.10.3               0    100      0 65001 i

*>i  192.168.3.0      10.10.10.4               0    100      0 65001 i

Total number of prefixes 4

前の手順に基づいて、PE1ルータがプレフィックスをCE-WESTに正しくアドバタイズしていることを確認できます。次に、CE側のBGPネイバーを確認します。

CE-WEST#show ip bgp neighbors

BGP neighbor is 10.10.0.2,  remote AS 65500, external link

BGP version 4, remote router ID 10.10.10.1

BGP state = Established, up for 1w4d

Last read 00:00:40, last write 00:00:43, hold time is 180, keepalive interval is 60 seconds

Neighbor sessions:

1 active, is not multisession capable (disabled)

Neighbor capabilities:

Route refresh: advertised and received(new)

Four-octets ASN Capability: advertised and received

Address family IPv4 Unicast: advertised and received

Enhanced Refresh Capability: advertised and received

Multisession Capability:

Stateful switchover support enabled: NO for session 1

Message statistics:

InQ depth is 0

OutQ depth is 0

Sent       Rcvd

Opens:                  1          1

Notifications:          0          0

Updates:                3         17

Keepalives:         19021      18997

Route Refresh:          2          0

Total:              19029      19019

Do log neighbor state changes (via global configuration)

Default minimum time between advertisement runs is 30 seconds

For address family: IPv4 Unicast

Session: 10.10.0.2

BGP table version 41, neighbor version 41/0

Output queue size : 0

Index 3, Advertise bit 0

3 update-group member

Inbound path policy configured

Route map for incoming advertisements is FILTER         <<<<<

Slow-peer detection is disabled

Slow-peer split-update-group dynamic is disabled

Sent       Rcvd

Prefix activity:               ----       ----

Prefixes Current:               2          0

Prefixes Total:                 4         23

Implicit Withdraw:              2         13

Explicit Withdraw:              0         10

Used as bestpath:             n/a          0

Used as multipath:            n/a          0

Used as secondary:            n/a          0

Outbound    Inbound

Local Policy Denied Prefixes:    --------    -------

route-map:                            0          4

Bestpath from this peer:             18        n/a

Total:                               18          4

Number of NLRIs in the update sent: max 2, min 0

Last detected as dynamic slow peer: never

Dynamic slow peer recovered: never

Refresh Epoch: 3

Last Sent Refresh Start-of-rib: 4d23h

Last Sent Refresh End-of-rib: 4d23h

Refresh-Out took 0 seconds

Last Received Refresh Start-of-rib: 4d23h

Last Received Refresh End-of-rib: 4d23h

Refresh-In took 0 seconds

Sent       Rcvd

Refresh activity:              ----       ----

Refresh Start-of-RIB          1          2

Refresh End-of-RIB            1          2

Address tracking is enabled, the RIB does have a route to 10.10.0.2

Route to peer address reachability Up: 1; Down: 0

Last notification 1w5d

Connections established 3; dropped 2

Last reset 1w4d, due to Peer closed the session of session 1

External BGP neighbor configured for connected checks (single-hop no-disable-connected-check)

Interface associated: GigabitEthernet0/3 (peering address in same link)

Transport(tcp) path-mtu-discovery is enabled

Graceful-Restart is disabled

SSO is disabled

Connection state is ESTAB, I/O status: 1, unread input bytes: 0

Connection is ECN Disabled, Mininum incoming TTL 0, Outgoing TTL 1

Local host: 10.10.0.1, Local port: 179

Foreign host: 10.10.0.2, Foreign port: 39410

Connection tableid (VRF): 0

Maximum output segment queue size: 50

Enqueued packets for retransmit: 0, input: 0  mis-ordered: 0 (0 bytes)

Event Timers (current time is 0x4D15FD56):

Timer          Starts    Wakeups            Next

Retrans         19027          1             0x0

TimeWait            0          0             0x0

AckHold         19012      18693             0x0

SendWnd             0          0             0x0

KeepAlive           0          0             0x0

GiveUp              0          0             0x0

PmtuAger            0          0             0x0

DeadWait            0          0             0x0

Linger              0          0             0x0

ProcessQ            0          0             0x0

iss: 1676751051  snduna: 1677112739  sndnxt: 1677112739

irs: 2109012892  rcvnxt: 2109374776

sndwnd:  16061  scale:      0  maxrcvwnd:  16384

rcvwnd:  15890  scale:      0  delrcvwnd:    494

SRTT: 1000 ms, RTTO: 1003 ms, RTV: 3 ms, KRTT: 0 ms

minRTT: 0 ms, maxRTT: 1000 ms, ACK hold: 200 ms

uptime: 1036662542 ms, Sent idletime: 40725 ms, Receive idletime: 40925 ms

Status Flags: passive open, gen tcbs

Option Flags: nagle, path mtu capable

IP Precedence value : 6

Datagrams (max data segment is 1460 bytes):

Rcvd: 37957 (out of order: 0), with data: 19014, total data bytes: 361883

Sent: 37971 (retransmit: 1, fastretransmit: 0, partialack: 0, Second Congestion: 0), with data: 19027, total data bytes: 361687

Packets received in fast path: 0, fast processed: 0, slow path: 0

fast lock acquisition failures: 0, slow path: 0

TCP Semaphore      0x0F3194AC  FREE

上記の出力から、「FILTER」という名前の着信アドバタイズメントに対してルートマップが適用されていることがわかります。ルートマップ設定を確認すると、192.168.0.0/16のpermit文があるプレフィックスリストを指すmatch句が表示されています。ただし、プレフィックスリストはその特定のプレフィクスのみを許可し、この範囲に含めることができるすべてのプレフィクスを許可するわけではないため、これは正しくありません。

CE-WEST#show route-map FILTER

route-map FILTER, permit, sequence 10

Match clauses:

ip address prefix-lists: FILTER

Set clauses:

Policy routing matches: 0 packets, 0 bytes

CE-WEST#show ip prefix-list FILTER

ip prefix-list FILTER: 1 entries

seq 5 permit 192.168.0.0/16         <<<<<

CE-WEST#show run | i ip prefix-list

ip prefix-list FILTER seq 5 permit 192.168.0.0/16

プレフィックスリストの設定を少し変更すると、192.168.1.10へのルートがRIBにインストールされます。

CE-WEST#show run | i ip prefix-list

ip prefix-list FILTER seq 5 permit 192.168.0.0/16 le 32         <<<<<

CE-WEST#show ip bgp

BGP table version is 44, local router ID is 172.16.2.10

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

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

t secondary path,

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

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

*>   172.16.1.0/24    0.0.0.0                  0         32768 i

*>   172.16.2.0/24    0.0.0.0                  0         32768 i

*> 192.168.1.0 10.10.0.2 0 65500 65001 i         <<<<<

*>   192.168.2.0      10.10.0.2                              0 65500 65001 i

*>   192.168.3.0      10.10.0.2                              0 65500 65001 i

CE-WEST#show ip route 192.168.1.10

Routing entry for 192.168.1.0/24         <<<<<

Known via "bgp 65000", distance 20, metric 0

Tag 65500, type external

Last update from 10.10.0.2 00:00:37 ago

Routing Descriptor Blocks:

* 10.10.0.2, from 10.10.0.2, 00:00:37 ago

Route metric is 0, traffic share count is 1

AS Hops 2

Route tag 65500

MPLS label: none

検証

ここで、送信元と宛先間の到達可能性が成功し、tracerouteがMPLSネットワーク全体で追跡されたのと同じラベルスイッチパスを通過することを確認できます。

転送パス

CE-EAST#ping 172.16.1.10 source loopback 1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 172.16.1.10, timeout is 2 seconds:

Packet sent with a source address of 192.168.1.10

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 7/7/9 ms         <<<<<

CE-EAST#traceroute 172.16.1.10 source loop1 probe 1 numeric

Type escape sequence to abort.

Tracing the route to 172.16.1.10

VRF info: (vrf in name/id, vrf out name/id)

1 10.11.0.2 2 msec

2 10.0.0.16 [MPLS: Labels 24001/16 Exp 0] 9 msec

3 10.10.0.2 [MPLS: Label 16 Exp 0] 8 msec

4 10.10.0.1 9 msec

RP/0/0/CPU0:P5#show ipv4 interface brief

Wed Sep 20 18:23:47.158 UTC

Interface                      IP-Address      Status          Protocol Vrf-Name

Loopback0                      10.10.10.5      Up              Up       default

MgmtEth0/0/CPU0/0              unassigned      Shutdown        Down     default

GigabitEthernet0/0/0/0         10.0.0.7        Up              Up       default

GigabitEthernet0/0/0/1 10.0.0.1 Up Up default         <<<<<

GigabitEthernet0/0/0/2         10.0.0.10       Up              Up       default

GigabitEthernet0/0/0/3         10.0.0.14       Up              Up       default

GigabitEthernet0/0/0/4 10.0.0.16 Up Up default         <<<<<

RP/0/0/CPU0:P5#

Cisco IOS XE検証コマンド

MPLS/LDP

show mpls interfaces

show mpls forwarding-table

show mpls ldp bindings [destination prefix]

show mpls ldp neighbor [neighbor address]

clear mpls ldp neighbor [neighbor address|*]

RIB and CEF show ip vrf [detail]

show run vrf

show ip route [destination prefix]

show ip route vrf <name> [destination prefix]

show ip cef vrf <name> [destination prefix]

show ip cef exact-route <source IP> <destination IP>

show ip cef vrf <name> exact-route <source IP> <destination IP>

BGP/VPNv4 show ip bgp [neighbors] <neighbor address>

show bgp vpnv4 unicast all [summary|destination prefix]

show bgp vpnv4 unicast all neighbor <neighbor address> advertised-routes

show bgp vpnv4 unicast vrf <name> neighbors <neighbor IP> advertised-routes

show bgp vpnv4 unicast vrf <name> <prefix>

show bgp vpnv4 unicast rd <value> <destination IP>

Cisco IOS XRの検証コマンド

MPLS/LDP show mpls interfaces

show mpls forwarding

show mpls ldp bindings [destination prefix/mask]

show mpls ldp neighbor [neighbor address]

show mpls forwarding prefix [destination prefix/mask]

show mpls forwarding prefix [destination prefix/mask] detail hardware egress

clear mpls ldp neighbor [neighbor address]

RIB and CEF show vrf [name|all]

show run vrf [name]

show route [destination prefix]

show route vrf <name> [destination prefix]

show cef vrf <name> [destination prefix]

show cef exact-route <source IP> <destination IP>

show cef vrf <name> exact-route <source IP> <destination IP>

BGP/VPNv4 show bgp vpnv4 unicast [summary|destination prefix/mask]

show bgp vpnv4 unicast neighbors <neighbor address> advertised-routes

show bgp vpnv4 unicast vrf <name> [prefix]

show bgp vrf <name> neighbors <neighbor IP> advertised-routes

show bgp vpnv4 unicast rd [value|all] [destination IP]

関連情報

- MPLSの基本MPLSコンフィギュレーションガイド

- 基本的な MPLS VPN ネットワークの設定

- MPLS VPN のトラブルシューティング方法

- セグメントルーティングSP全体でのエンドツーエンド接続の確認