본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 Cisco IOS®-XR에서 MPLS(Multiprotocol Label Switching) 및 BGP(Border Gateway Protocol)의 조합에 대한 특수 동작과 컨피그레이션을 가진 몇 가지 시나리오에 대해 설명합니다.
이 그림에서는 AS 간 옵션 B 설정을 보여 줍니다.
이미지 1.
PE(Provider Edge) 라우터 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.
next-hop에 대한 ASBR(Autonomous System Border Route)에 고정 경로가 있어야 합니다.각 ASBR에서 이 고정 경로를 구성하고 IGP(Interior Gateway Protocol)로 재배포해야 합니다.
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
ASBR에서 iBGP 네이버를 향하는 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 열에 없습니다.AS 간 옵션 B 및 C의 경우 ASBR에서 고정 경로가 필요합니다.
ASBR에서 vpnv4/6 경로를 저장/유지한 다음 광고하려면 명령이 필요합니다.이 명령을 사용하지 않으면 경로의 경로 대상을 가져오는 로컬 VRF가 ASBR에 구성되지 않았거나 주소군 vpnv4/6의 경로 리플렉터(RR)가 아닌 경우 ASBR은 경로를 저장하지 않습니다.
router bgp 1
address-family ipv4 unicast
!
address-family vpnv4 unicast
retain route-target all
!
IPv4 레이블 지정 유니캐스트는 Inter-AS Option C 또는 Unified MPLS(Implicate MPLS) 네트워크에 필요합니다.이는 vpnv4/6 접두사는 기본적으로 레이블이 지정되지만 IPv4(IPv6) 유니캐스트의 경우에는 그렇지 않기 때문입니다.그렇지 않으면 LSP(Label Switched Path)가 중단되고 트래픽 흐름 엔드 투 엔드(end-to-end)이 실패합니다.
이미지 2를 보면 AS 간 옵션 C 설정이 표시됩니다.
이미지 2.
P1 및 P2 라우터는 vpnv4의 AS(Autonomous System)에 있는 경로 리플렉터이기도 합니다.
LU(Labeled Unicast)는 한 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이 각 경로에 대해 MPLS(Multi-Protocol Label Switching) 레이블을 할당한 다음 경로를 알릴 수 있도록 다음 명령이 있어야 하기 때문입니다.
RP/0/0/CPU0:ASBR1#show run router bgp
router bgp 1
address-family ipv4 unicast
redistribute ospf 1
allocate-label all
!
참고:route-policy가 지정된 경우 이 명령은 특정 접두사에 레이블을 할당할 수 있습니다.
이 명령의 결과는 다음과 같습니다.
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
간단히 말해,
이미지 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
두 ASBR이 여러 링크로 연결된 설정을 보려면 이 이미지를 참조하십시오.이 작업을 수행하려면 ASBR 간에 병렬 링크가 있으므로 ASBR 간의 eBGP ipv4 LU 세션이 멀티홉이어야 합니다.
이미지 4.
이는 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(Label Distribution Protocol)가 필요하지 않습니다.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.
이는 AS 간 옵션 C. 라우터 P1 및 P2는 vpnv4의 경로 리플렉터입니다.
PE 라우터와 ASBR 간에는 IPv4 레이블이 유니캐스트입니다.ASBR1 및 ASBR2는 직접 연결되지 않습니다.IGP 및 LDP를 실행하는 네트워크를 통해 멀티홉에 연결됩니다.이미지 5에서 이 중간 네트워크는 ASBR1 및 ASBR2로 IGP 및 LDP를 실행하는 라우터 ASBR3으로 표시됩니다.
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.
이는 ASBR2의 루프백인 next-hop 10.100.1.4으로 재귀됩니다.
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 multi-hop 명령에 추가합니다.
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를 활성화하지 못하게 하고 피어에서 학습한 next-hop 주소에 대해 Implicit-NULL 재작성 레이블을 할당할 수도 없습니다.이는 BGP 레이블 유니캐스트 또는 LDP를 통해 다음 홉에 레이블을 전달하는 MPLS가 이미 학습된 경우에 유용합니다.
즉, IOS-XR에서 LFIB에 레이블을 할당하도록 BGP가 제안하는 경우 LDP보다 우선합니다.ASBR 라우터 간에 여러 홉이 있는 AS 간 옵션 C의 시나리오는 그러한 시나리오입니다.
이미지 6.
AS 간 옵션 B입니다. 그러나 두 ASBR 간에는 여러 개의 병렬 링크가 있습니다.IGP와 LDP를 사용하는 대신 ASBR 간에는 RFC3107(IPv4 경로와 MPLS 레이블 교환)이 있습니다.
ASBR1과 ASBR2의 루프백 인터페이스 간에 eBGP 멀티호프 세션을 표시하려면 두 ASBR 간에 eBGP LU가 필요합니다.ASBR 간에는 두 개의 링크가 있으므로 두 개의 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 키워드는 여기에서 필요하지 않습니다. 또한 iBGP vpnv4 세션에 대해 next-hop-self가 구성된 경우 PE와 ASBR 간의 iBGP LU 세션이 필요하지 않습니다.ASBR2에서 10.100.1.4/32에 대해 광고한 레이블은 레이블 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 multihop 명령에 mpls 키워드가 필요합니다.
이미지 7.
P3의 접두사가 ASBR2의 접두사보다 직접 선호되도록 ASBR1에서 P3로 향하는 BGP 경로 정책을 사용하여 가중치를 매우 높게 설정합니다.
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은 레이블 24001을 10.100.1.4/32에 대한 발신 레이블로 사용해야 합니다. 다음 사항이 아닙니다.
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 multihop 명령에 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은 레이블 24001을 10.100.1.4/32의 발신 레이블로 사용합니다.
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로 VRF(Virtual Routing and Forwarding)의 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(Traffic Engineering)를 사용하는 경우에도 동일한 문제와 해결 방법이 있습니다.
ASBR1에서 P3까지의 LDP는 없지만 MPLS TE가 있습니다.
eBGP multihop 명령에서 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로 이동하는 트래픽에 사용되지 않지만 문제가 발생한 경우 LFIB(Label Forwarding Instance Base) 항목이 잘못되었거나 잘못되었음을 나타낼 수 있습니다.
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 multihop 명령에서 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에서 다시 할당되지 않도록 하려면 이 검사가 수행됩니다.이 확인은 접두사 레이블에 대해서만 적용됩니다.
이 메시지는 증상이며 이 문서의 문제가 아닙니다.
eBGP 다중 hop 세션이 있는 경우 라우터에 Cisco IOS®-XR 6.3.2 이상 릴리스가 없으면 vpnv4/6 또는 6PE(IPv6 over MPLS) 또는 이더넷 EVPN(Virtual Private Network) 경로를 통해 next-hop 주소에 대한 경로를 알 수 없습니다.이 이미지를 참조하십시오.
이미지 8.
가능한 실패 시나리오:
이는 다음과 같습니다.
eBGP 다중 hop 세션은 PE 라우터의 라우터 BGP 아래의 VRF 섹션에 구성됩니다.
PE1(VRF 내부)에서 PE2(VRF 내부)로 eBGP 다중 hop 세션 또는 eBGP 다중 hop 세션이 PE1(VRF 내부)에서 CE2로 연결되는 경우 Cisco IOS®-XR 6.3.2부터 만 지원됩니다.
eBGP 피어 주소는 vnpv4 중 하나로 구성된 언더레이를 통해 연결할 수 있습니다.vpnv6, 6PE 또는 EVPN.
6.3.2 이전 Cisco IOS® 릴리스에서는 eBGP 세션이 유휴 상태가 됩니다.
예를 들어, VRF one의 eBGP 다중 hop 세션 PE1에서 PE2로 구성됩니다.
PE1의 eBGP 다중 hop 세션에 대한 관련 컨피그레이션 PE1의 PE2:
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 이후에 지원됩니다.
이것이 Unified 또는 Impls MPLS의 특징이며 IOS-XR: Unified MPLS with IOS-XR로 어떻게 구성되었는지 보여줍니다.
일반 Unified MPLS에서는 이미지에 표시된 대로 모든 PE와 ABR 라우터 간에 BGP LU가 있습니다.
이미지 9.
이미지 10.
이 예에서는 BGP LU가 없는 IGP 영역/레벨이 있습니다.왼쪽에서는 어그리게이션 영역이 실제로 OSPF(Open Shortest Path First) 프로세스 1이며, 코어에 OSPF 프로세스 2가 포함된 재배포가 없습니다.OSPF 1을 사용하는 네트워크의 일부에는 PE와 ABR(Area Border Router) 라우터 간에 BGP LU가 없습니다.
이미지 11.
BGP LU 접두사는 이미지에 표시된 대로 ABR1의 IGP OSPF 1에 재배포됩니다.
이미지 12.
수신된 iBGP LU 접두사에 대한 레이블을 할당하려면 BGP가 필요합니다.그러나 이 레이블은 재배포된 접두사에 대한 레이블 바인딩에서 LDP에 의해 자동으로 광고되지 않습니다.IOS(-XE)는 기본적으로 이를 수행합니다.
ABR은 내부 BGP 경로를 왼쪽 영역의 IGP로 재배포합니다.즉, bgp redistribute-internal 명령이 라우터 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 레이블만 사용됩니다.일반 Unified MPLS인 경우 두 개의 레이블이 사용됩니다.
이때 재배포된 LU iBGP 경로 중 어떤 경로를 LDP로 필터링하거나 로컬 레이블을 받을 수 없으며, 그렇지 않습니다.iBGP LU 경로를 LDP로 재배포할 수 있게 되면 모든 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
IGP가 내부 라우팅을 처리하는 경우 mpls activate 명령이 필요하지만 레이블 바인딩을 광고할 LDP가 없습니다.모든 홉이 BGP를 실행할 경우 BGP LU를 사용하여 접두사와 레이블을 알릴 수 있습니다.링크에서 iBGP인 경우 mpls activate 명령을 사용하여 라우터 BGP에서 해당 링크를 활성화해야 합니다. 이 이미지를 참조하십시오.
이미지 14.
R1과 R2는 IGP와 iBGP LU를 둘 사이에서 실행합니다.R1과 R2가 직접 연결됩니다.R2에는 R3에 대한 eBGP LU 세션이 있습니다.
R3는 접두사 10.100.100.3/2을 eBGP LU 세션을 통해 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 *
그래서, 라벨이 없습니다.MPLS는 R2에 대한 인터페이스에서 활성화되지 않으므로 이는 놀라운 일이 아닙니다.
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
인터페이스를 R2로 R1에서 mpls active 명령을 구성합니다.
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
이 예에서는 BGP LU(RFC 3107)를 사용하고 LDP를 사용하지 않는 경우 eBGP(inter-AS) 연합 링크에 mpls activate 명령이 필요하다는 것을 보여 줍니다.
이 이미지의 네트워크는 하위 자율 시스템 65501, 65502, 65503 및 65504가 포함된 컨피그레이션 65000입니다.
이미지 15.
두 자동 시스템에서 모두 BGP LU를 사용하여 R1에서 R8(BGP LU의 R8에서 광고하는 10.0.0.8/32)까지 MPLS LSP를 사용하는 것이 좋습니다.
R7과 R8 사이에는 정기적인 eBGP LU가 있습니다. R2와 R4 간에 그리고 R5와 R6 사이에 iBGP가 구성됩니다. R1과 R2, R4와 R5 사이에, R6과 R7 사이에는 eBGP가 구성됩니다. 모든 eBGP 세션에는 next-hop-self가 있습니다.
eBGP 피어의 next-hop에 대한 고정 경로(일반적으로 inter-AS BGP 세션의 경우)는 컨피그레이션 내부의 하위 자율 시스템 간에 eBGP가 있으므로 필요합니다.
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는 hops/labels를 반환하지 않으며 명령에 TTL 제한이 없는 경우 계속 진행됩니다.라우터가 traceroute에 응답할 가능성이 높지만 패킷이 R1로 돌아가지 않을 수 있습니다. 더 안전한 베팅인 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가 이를 처리하지만 R4와 R5 사이에는 eBGP 세션이므로 LDP가 없습니다.
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}