목차

소개

사전 요구 사항

요구 사항

사용되는 구성 요소

표기 규칙

네트워크 다이어그램

라우터 컨피그레이션

문제

LSP 장애 원인

솔루션

관련 정보

소개

이 문서에서는 기본 MPLS(Multiprotocol Label Switching) 개념을 사전 이해하고 있다고 가정합니다. MPLS 스위치드 패킷은 LFIB(Label Forwarding Information Base)에 포함된 정보를 기반으로 전달됩니다. 라우터를 레이블 전환 인터페이스 위에 두고 나가는 패킷은 LFIB에서 지정한 값으로 레이블을 수신합니다. 레이블은 FEC(Forwarding Equivalent Classes)에 따라 LFIB의 대상과 연결됩니다. FEC는 동일한 경로를 통과하여 동일한 전달 처리를 받는 IP 패킷의 그룹입니다. FEC의 가장 간단한 예는 모든 패킷이 특정 서브넷으로 이동하는 것입니다. 또 다른 예는 지정된 IP 우선 순위를 가진 모든 패킷이 BGP(Border Gateway Protocol) 경로 그룹과 연결된 IGP(Interior Gateway Protocol) next hop으로 이동할 수 있습니다.

LIB(Label Information Base)는 모든 LDP(Label Distribution Protocol) 또는 TDP(Tag Distribution Protocol) 인접 디바이스에서 수신한 레이블을 저장하는 구조입니다. Cisco 구현의 경우 지정된 라우터의 라우팅 테이블에 있는 모든 경로(BGP 경로 제외)에 대해 모든 LDP 또는 TDP 네이버로 레이블이 전송됩니다. 네이버에서 받은 모든 레이블은 사용 여부에 관계없이 LIB에 유지됩니다. FEC에 대해 다운스트림 네이버에서 레이블을 수신하는 경우 LIB에 저장된 레이블이 LFIB에서 패킷 전달에 사용됩니다. 즉, 전달에 사용되는 레이블은 라우터의 CEF(Cisco Express Forwarding) 및 라우팅 테이블에 따라 라우터의 다음 홉에서 목적지로 수신되는 레이블입니다.

라우터의 라우팅 및 CEF 테이블에 나타나지 않는 접두사(서브넷 마스크 포함)에 대해 다운스트림 네이버에서 레이블 바인딩을 수신하는 경우 이러한 바인딩은 사용되지 않습니다. 이와 마찬가지로 라우터가 서브넷/서브넷 마스크 쌍에 대한 레이블을 광고할 경우, 동일한 서브넷/서브넷 마스크 쌍에 대해 이 라우터가 광고하는 라우팅 업데이트에도 해당하지 않는 경우 이러한 레이블은 업스트림 네이버에서 사용되지 않으며 이러한 디바이스 간의 LSP(Label Switched Path)가 실패합니다.

이 문서에서는 이러한 종류의 LSP 장애 및 몇 가지 가능한 솔루션의 예를 제공합니다. 이 문서에서는 라우터에서 수신한 레이블 바인딩이 MPLS 스위치드 패킷을 전달하는 데 사용되지 않는 한 시나리오를 다룹니다. 그러나 이 문제를 진단하고 해결하는 데 사용되는 단계는 MPLS용으로 구성된 라우터의 LFIB 및 레이블 바인딩과 관련된 모든 문제에 적용됩니다.

사전 요구 사항

요구 사항

이 문서에 대한 특정 요건이 없습니다.

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 버전을 기반으로 합니다.

- Cisco IOS® 소프트웨어 릴리스 버전 12.0(21)ST2

표기 규칙

문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.

네트워크 다이어그램

라우터 컨피그레이션

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 next hop에 대한 경로가 없습니다.

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 next hop에 연결하기 위해 사용하는 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 next hop 레이블 및 PE2(32)에서 생성된 VPN 레이블이 두 개 전달됩니다. 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가 광고하는 바인딩이 또한 광고하는 경로와 일치하지 않기 때문에 패킷을 이 대상으로 전달하기 위한 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 마스크를 표시하며, 이는 라우터가 레이블 바인딩을 생성하는 데 사용합니다. 이 네트워크는 OSPF(Open Shortest Path First)를 사용하므로 라우터는 다음 예와 같이 이 인터페이스를 /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에 의해 생성된 레이블 바인딩이 광고된 경로 간의 불일치로 인해 발생했기 때문에 가장 간단한 방법은 루프백 마스크를 LOOPBACK 유형의 모든 네트워크에 대해 OSPF에서 광고하는 마스크에 맞게 변경하는 것입니다.

솔루션 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 next hop의 상위 레이블이 팝업되지만 패킷에는 여전히 두 번째 VPN 레이블이 있습니다(패킷은 더 이상 태그가 지정되지 않음).

태그 바인딩 테이블에는 PE2(tsr: /32 경로에 대한 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 네트워크 유형 변경

두 번째 솔루션은 루프백 인터페이스의 OSPF 네트워크 유형을 변경하는 것입니다. PE2의 루프백 인터페이스의 OSPF 네트워크 유형이 포인트 투 포인트로 변경되면 루프백 접두사가 더 이상 /32 마스크로 자동으로 광고되지 않습니다. 즉, 라우팅 테이블에서 직접 연결된 서브넷을 참조하는 경우(/24 서브넷 마스크 포함) PE2에서 생성된 레이블 바인딩이 PE2에서 수신한 P 라우터의 OSPF 경로와 일치함을 의미합니다(이 접두사에 대한 /24 서브넷 마스크 포함).

다음 예와 같이 ip ospf network point-to-point 명령을 사용하여 PE2 루프백 인터페이스의 네트워크 유형을 변경할 수 있습니다.

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 next hop에 대한 항목이 포함되어 있습니다. 이는 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 라우터의 태그 전달 항목은 Solution 1과 같이 발신 태그를 팝업 태그로 표시합니다. 다시 한 번, 패킷이 이 라우터를 통과할 때 BGP next hop의 상위 레이블이 팝업되지만 두 번째 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