内容

概要

前提条件

要件

使用するコンポーネント

表記法

ネットワーク図

ルータの設定

問題

LSP 障害の原因

解決方法

関連情報

概要

このドキュメントは、マルチプロトコル ラベル スイッチング（MPLS）の基本的な概念について理解していることを前提としています。MPLS によってスイッチされたパケットは、Label Forwarding Information Base（LFIB; ラベル転送情報ベース）にある情報に基づいて転送されます。ルータのラベルスイッチド インターフェイスから発信されるパケットは、LFIB によって指定された値のラベルを受け取ります。ラベルは Forwarding Equivalence Class（FEC; 転送等価クラス）に従って LFIB 内の宛先と関連付けられます。FEC は IP パケットをグループ化したもので、同一経路で転送され、同一の転送処理が行われます。FEC の最も簡単な例は、あるサブネットへ転送されるすべてのパケットです。もう 1 つの例としては、ある IP 優先順位が与えられ、Border Gateway Protocol（BGP; ボーダー ゲートウェイ プロトコル）ルートのグループに関連付けられた Interior Gateway Protocol（IGP; 内部ゲートウェイ プロトコル）ネクストホップに送られるすべてのパケットが挙げられます。

Label Information Base（LIB; ラベル情報ベース）とは、すべての Label Distribution Protocol（LDP; ラベル配布プロトコル）近接ルータや Tag Distribution Protocol（TDP; タグ配布プロトコル）近接ルータから受け取ったラベルを保存する構造体です。シスコの実装では、ラベルはあるルータのルーティング テーブルにあるすべてのルートを対象に送られ（BGP ルートは除く）、すべての LDP 近隣ルータまたは TDP 近隣ルータに送られます。近接ルータから受け取ったすべてのラベルは、使用するしないにかかわらず、LIB に保存されます。ラベルが FEC 上での下流近接ルータから得られたものの場合は、LIB に保存されたラベルが LFIB によるパケット転送に使用されます。転送に使用されるラベルは、ルータの Cisco Express Forwarding（CEF; Cisco エクスプレス転送）とルーティング テーブルに従って、ルータのネクストホップから宛先向けに得られたものです。

ラベルのバインディングがプレフィクス（サブネット マスクを含む）上の下流近接ルータから得られたもので、ルータのルーティング テーブルや CEF テーブルにない場合は、これらのバインディングは使用されません。同様に、ルータからサブネットまたはサブネット マスクのペアに対するラベルがアドバタイズされており、これがこのルータから同じサブネットまたはサブネット マスクのペアに対して同様にアドバタイズされているルーティング更新に対応していない場合は、これらのラベルは上流近接ルータでは使用されず、これらのデバイス間の Label Switched Path（LSP; ラベル スイッチド パス）には障害が発生します。

この文書では、この種類の LSP 障害と、適用可能な解決方法をいくつか説明します。この文書では、MPLS によってスイッチされるパケットの転送に、ルータにより得られたラベル バインディングが使用されないというシナリオを取り上げます。ただし、この問題の診断と修正に使用する手順は、ラベルのバインディングや MPLS 用に設定されたルータでの LFIB が関係するあらゆる問題に適用できます。

前提条件

要件

このドキュメントに特有の要件はありません。

使用するコンポーネント

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

- Cisco IOS®ソフトウェアリリース12.0(21)ST2

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

ネットワーク図

ルータの設定

PE1 ルータの設定

ip vrf aqua

rd 100:1

route-target export 1:1

route-target import 1:1

!

interface Loopback0

ip address 10.2.2.2 255.255.255.255

no ip directed-broadcast

!

interface Ethernet2/0/1

ip vrf forwarding aqua

ip address 10.1.1.2 255.255.255.0

no ip directed-broadcast

ip route-cache distributed

!--- The VPN Routing and Forwarding (VRF) interface !--- toward the customer edge (CE) router.

interface Ethernet2/0/2

ip address 10.7.7.2 255.255.255.0

no ip directed-broadcast

ip route-cache distributed

tag-switching ip

!

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.5.5.5 remote-as 1

neighbor 10.5.5.5 update-source Loopback0

no auto-summary

!

address-family vpnv4

neighbor 10.5.5.5 activate

neighbor 10.5.5.5 send-community extended

exit-address-family

!

address-family ipv4

neighbor 10.5.5.5 activate

no auto-summary

no synchronization

exit-address-family

!

address-family ipv4 vrf aqua

redistribute connected

no auto-summary

no synchronization

exit-address-family

P ルータの設定

interface Loopback0

ip address 10.7.7.7 255.255.255.255

no ip directed-broadcast

!

interface Ethernet2/0

ip address 10.8.8.7 255.255.255.0

no ip directed-broadcast

tag-switching ip

!

interface Ethernet2/1

ip address 10.7.7.7 255.255.255.0

no ip directed-broadcast

tag-switching ip

!

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!--- BGP is not run on this router.

PE2 ルータの設定

ip vrf aqua

rd 100:1

route-target export 1:1

route-target import 1:1

!

interface Loopback0

ip address 10.5.5.5 255.255.255.0

no ip directed-broadcast

!

interface Ethernet0/0

ip vrf forwarding aqua

ip address 10.10.10.5 255.255.255.0

no ip directed-broadcast

!--- The VRF interface toward the CE router.

!

interface Ethernet0/3

ip address 10.8.8.5 255.255.255.0

no ip directed-broadcast

tag-switching ip

!

router ospf 1

log-adjacency-changes

network 0.0.0.0 255.255.255.255 area 0

!

router rip

version 2

!

address-family ipv4 vrf aqua

version 2

network 10.0.0.0

no auto-summary

exit-address-family

!

router bgp 1

bgp log-neighbor-changes

neighbor 10.2.2.2 remote-as 1

neighbor 10.2.2.2 update-source Loopback0

no auto-summary

!

address-family vpnv4

neighbor 10.2.2.2 activate

neighbor 10.2.2.2 send-community extended

exit-address-family

!

address-family ipv4

neighbor 10.2.2.2 activate

no auto-summary

no synchronization

exit-address-family

!

address-family ipv4 vrf aqua

redistribute connected

redistribute rip

no auto-summary

no synchronization

exit-address-family

CE2 ルータの設定

interface Loopback0

ip address 192.168.1.196 255.255.255.192

no ip directed-broadcast

!

interface Ethernet1

ip address 10.10.10.6 255.255.255.0

no ip directed-broadcast

!

router rip

version 2

network 10.0.0.0

network 192.168.1.0

no auto-summary

!--- Routing Information Protocol (RIP) is used for the advertisement !--- of routes between the CE and the provider edge (PE) router.

!

ip route 0.0.0.0 0.0.0.0 10.10.10.5

注：CE1の設定は省略されています。設定に含まれているものは、イーサネット インターフェイスの IP アドレスの割り当てと、10.2.2.2 への スタティックなデフォルト ルートだけです。

問題

次の例に示すように、CE1 と CE2 のループバック インターフェイスとの間の接続が消失しています。

CE1#ping 192.168.1.196

Type escape sequence to abort.

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

.....

Success rate is 0 percent (0/5)

ただし、次の例に示すように、CE1 にはこの宛先に対する有効なルーティング エントリがあります。

CE1#show ip route 0.0.0.0

Routing entry for 0.0.0.0/0, supernet

Known via "static", distance 1, metric 0, candidate default path

Redistributing via ospf 100

Routing Descriptor Blocks:

* 10.1.1.2

Route metric is 0, traffic share count is 1

PE1（CE1 が接続されている PE ルータ）では、MPLS VPN 固有の情報をチェックできます。次の例では、宛先に対する有効なルートが、この VPN 用の VRF テーブルに存在しています。

PE1#show ip route vrf aqua 192.168.1.196

Routing entry for 192.168.1.192/26

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

Last update from 10.5.5.5 00:09:52 ago

Routing Descriptor Blocks:

* 10.5.5.5 (Default-IP-Routing-Table), from 10.5.5.5, 00:09:52 ago

Route metric is 1, traffic share count is 1

AS Hops 0, BGP network version 0

PE1#show tag-switching forwarding-table vrf aqua 192.168.1.196 detail

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

None   16          192.168.1.192/26  0          Et2/0/2    10.7.7.7

MAC/Encaps=14/22, MTU=1496, Tag Stack{16 32}

00603E2B02410060835887428847 0001000000020000

No output feature configured

PE1#show ip bgp vpnv4 vrf aqua 192.168.1.192

BGP routing table entry for 100:1:192.168.1.192/26, version 43

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

Not advertised to any peer

Local

10.5.5.5 (metric 21) from 10.5.5.5 (10.5.5.5)

Origin incomplete, metric 1, localpref 100, valid, internal, best

Extended Community: RT:1:1

PE1#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

18     16          10.5.5.5/32       0          Et2/0/2    10.7.7.7

MAC/Encaps=14/18, MTU=1500, Tag Stack{16}

00603E2B02410060835887428847 00010000

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

この例で示されるように、PE1 には正しいマスクが設定された BGP ネクストホップへのルートがありません。

PE1#

PE1#show ip route 10.5.5.5 255.255.255.0

% Subnet not in table

PE1#show ip route 10.5.5.5 255.255.255.255

Routing entry for 10.5.5.5/32

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

Last update from 10.7.7.7 on Ethernet2/0/2, 00:38:55 ago

Routing Descriptor Blocks:

* 10.7.7.7, from 10.5.5.5, 00:38:55 ago, via Ethernet2/0/2

Route metric is 21, traffic share count is 1

PE1 によってこの BGP ネクストホップに到達するために使用される IGP ルーティング情報は、P ルータから取得されています。次の例で示すように、このルータでは PE2 ループバックに対する誤ったマスクが表示されており、正しいマスクを持つこのプレフィクスへのルートがありません。

P#show ip route 10.5.5.5

Routing entry for 10.5.5.5/32

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

Last update from 10.8.8.5 on Ethernet2/0, 00:47:48 ago

Routing Descriptor Blocks:

* 10.8.8.5, from 10.5.5.5, 00:47:48 ago, via Ethernet2/0

Route metric is 11, traffic share count is 1

P#show ip route 10.5.5.5 255.255.255.0

% Subnet not in table

LSP 障害の原因

PルータのLFIBとタグバインディングは、このルータとPE2の間のLSP障害の原因を示しています。10.5.5.5の発信ラベルはありません。パケットがPE1から送信された場合、Pルータ(16)によって生成されたBGPネクストホップラベル(32)。 P ルータでのこのエントリは、この宛先に対するタグなしのラベル スイッチド パケットであるため、ラベルなしで送信されます。VPN ラベル 32 は失われているため、PE2 で受信されることはなく、また PE2 ではこのパケットを正しい VPN 宛先に転送するための情報が得られません。

P#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

16     Untagged    10.5.5.5/32       5339       Et2/0      10.8.8.5

MAC/Encaps=0/0, MTU=1504, Tag Stack{}

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

次の例に示すように、Pルータのラベルバインディングテーブルには、PE2(tsr:10.8.8.5:0)は、/24マスクを持つ10.5.5.5のバインディングのみをアドバタイズします。/32ルートのラベルは、PルータとPE1(tsr:10.2.2.2:0)。ただし、PE2はアドバタイズされません。PE2によってアドバタイズされたバインディングが、アドバタイズされたルートとも一致しないため、この宛先にパケットを転送するためのラベルはPルータのLFIBには存在しません。

P#show tag-switching tdp bindings detail

tib entry: 10.5.5.0/24, rev 67(no route)

remote binding: tsr: 10.8.8.5:0, tag: imp-null

tib entry: 10.5.5.5/32, rev 62

local binding:  tag: 16

Advertised to:

10.2.2.2:0             10.8.8.5:0

remote binding: tsr: 10.2.2.2:0, tag: 18

PE2 によるルーティング更新とアドバタイズされたラベル バインディングの矛盾の原因は、このルータのルーティング テーブルとタグ バインディング テーブルで見ることができます。直接接続されたループバックは正しい /24 のマスクを示していますが、これはルータによってラベル バインディングの生成に使用されています。このネットワークでは、Open Shortest Path First（OSPF）が使用されているため、次の例に示すように、ルータはこのインターフェイスを /32 のマスクでアドバタイズします。

PE2#show ip route 10.5.5.5

Routing entry for 10.5.5.0/24

Known via "connected", distance 0, metric 0 (connected, via interface)

Routing Descriptor Blocks:

* directly connected, via Loopback0

Route metric is 0, traffic share count is 1

PE2#show tag-switching tdp bindings detail

tib entry: 10.5.5.0/24, rev 142

local binding:  tag: imp-null

Advertised to:

10.7.7.7:0

tib entry: 10.5.5.5/32, rev 148

remote binding: tsr: 10.7.7.7:0, tag: 16

PE2#show ip ospf interface loopback 0

Loopback0 is up, line protocol is up

Internet Address 10.5.5.5/24, Area 0

Process ID 1, Router ID 10.5.5.5, Network Type LOOPBACK, Cost: 1

Loopback interface is treated as a stub Host

!--- OSPF advertises all interfaces of Network Type LOOPBACK as host !--- routes (/32).

解決方法

P ルータと PE1 ルータとの間の LSP 障害は、ループバック用にアドバタイズされていたルートと PE1 によって生成されていたラベル バインディングとの不一致によるものであったので、最も簡単な解決策はループバックのマスクを変更して、OSPF から LOOPBACK タイプのすべてのネットワークに対してアドバタイズされているマスクに適合するようにすることです。

解決策 1：PE2 のサブネット マスクの変更

PE2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

PE2(config)#int lo 0

PE2(config-if)#ip add 10.5.5.5 255.255.255.255

PE2(config-if)#end

PE2#

PE1 の情報には、LSP 障害が発生するこのシナリオと同じものが示されています。次に例を示します。

PE1#show tag-switching forwarding-table vrf aqua 192.168.1.196 detail

Local  Outgoing    Prefix                 Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id           switched   interface

None   16               192.168.1.192/26  0          Et2/0/2    10.7.7.7

MAC/Encaps=14/22, MTU=1496, Tag      Stack{16 32}

00603E2B02410060835887428847 0001000000020000

No output feature configured

PE1#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix                 Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id           switched   interface

18     16               10.5.5.5/32       0          Et2/0/2    10.7.7.7

MAC/Encaps=14/18, MTU=1500, Tag      Stack{16}

00603E2B02410060835887428847 00010000

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10      11 12 13 14 15

P ルータは、LSP 障害を起こしていた状態が解消されていることを示しています。出ラベルは現在はポップ タグになっています。このことは、BGP ネクストホップのトップ ラベルが、パケットがルータを通過するときにポップされることを意味していますが、パケットには依然として二次 VPN ラベルが付けられています（パケットはタグなしで送信されることはありません）。

タグバインディングテーブルは、PE2(tsr:10.8.8.5:0)。

P#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix               Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id         switched   interface

16     Pop tag     10.5.5.5/32          3493       Et2/0         10.8.8.5

MAC/Encaps=14/14, MTU=1504, Tag Stack{}

006009E08B0300603E2B02408847

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11    12 13 14 15

P#show tag-switching tdp bindings detail

tib entry: 10.5.5.5/32, rev 71

local binding:  tag: 16

Advertised to:

10.2.2.2:0                  10.8.8.5:0

remote binding: tsr: 10.2.2.2:0,      tag: 18

remote binding: tsr: 10.8.8.5:0,      tag: imp-null

解決策 2：OSPF ネットワーク タイプの変更

2 つ目の解決方法は、ループバック インターフェイスの OSPF ネットワーク タイプを変更することです。PE2 のループバック インターフェイスの OSPF ネットワーク タイプがポイントツーポイントに変更されると、ループバック プレフィクスは /32 のマスクでは自動的にはアドバタイズされなくなります。これは、PE2 によって生成されるラベル バインディングが、ルーティング テーブルで直接接続されているサブネット（/24 のサブネット マスクを含む）を参照するときに、PE2 から受け取った P ルータでの OSPF ルート（このプレフィクス用の /24 のサブネットを含む）に一致することを意味しています。

PE2 のループバック インターフェイスのネットワーク タイプの変更には、ip ospf network point-to-point コマンドを使用できます。次に例を示します。

PE2#configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

PE2(config)#interface loopback 0

PE2(config-if)#ip ospf network point-to-point

PE2(config-if)#

次に示すように、PE1のタグ転送テーブルにはBGPネクストホップのエントリが含まれており、これはPE2のループバックインターフェイスの実際のマスクと一致しています。ルーティングテーブルには、この転送エントリに関連付けられたOSPFルートも正しいことが示されています。

PE1#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

22     17          10.5.5.0/24       0          Et2/0/2    10.7.7.7

MAC/Encaps=14/18, MTU=1500, Tag Stack{17}

00603E2B02410060835887428847 00011000

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

PE1#show ip route 10.5.5.5

Routing entry for 10.5.5.0/24

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

Last update from 10.7.7.7 on Ethernet2/0/2, 00:36:53 ago

Routing Descriptor Blocks:

* 10.7.7.7, from 10.5.5.5, 00:36:53 ago, via Ethernet2/0/2

Route metric is 21, traffic share count is 1

次の例では、P ルータのタグ転送エントリによって、発信タグがポップ タグとして示されています。これは「解決方法 1」と同様です。再び、BGP ネクストホップのトップ ラベルが、パケットがこのルータを通過したときにポップされますが、二次 VPN ラベルは維持されて、LSP に障害は発生しません。正しいサブネット マスクを示しているバインディングも存在しています。

P#show tag-switching forwarding-table 10.5.5.5 detail

Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop

tag    tag or VC   or Tunnel Id      switched   interface

17     Pop tag     10.5.5.0/24       4261       Et2/0      10.8.8.5

MAC/Encaps=14/14, MTU=1504, Tag Stack{}

006009E08B0300603E2B02408847

No output feature configured

Per-packet load-sharing, slots: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

P#show tag-switching tdp bindings detail

tib entry: 10.5.5.0/24, rev 68

local binding:  tag: 17

Advertised to:

10.2.2.2:0             10.8.8.5:0

remote binding: tsr: 10.8.8.5:0, tag: imp-null

remote binding: tsr: 10.2.2.2:0, tag: 22

次に示すように、このコマンドの出力では、ネットワーク タイプがポイントツーポイントに変更されたことが示されています。CE1 から CE2 のループバック インターフェイスへの完全な接続も行われています。

PE2#show ip ospf interface loopback 0

Loopback0 is up, line protocol is up

Internet Address 10.5.5.5/24, Area 0

Process ID 1, Router ID 10.5.5.5, Network Type POINT_TO_POINT, Cost: 1

Transmit Delay is 1 sec, State POINT_TO_POINT,

Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

Index 3/3, flood queue length 0

Next 0x0(0)/0x0(0)

Last flood scan length is 0, maximum is 0

Last flood scan time is 0 msec, maximum is 0 msec

Neighbor Count is 0, Adjacent neighbor count is 0

Suppress hello for 0 neighbor(s)

CE1#ping 192.168.1.196

Type escape sequence to abort.

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

!!!!!

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

CE1.

関連情報

- IP ルーティング テクノロジーに関するサポート ページ

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

- MPLS テクノロジーに関するサポート

- テクニカル サポートとドキュメント – Cisco Systems