목차

소개

1. AS 간 MPLS VPN 옵션 B & C에 고정 경로가 필요합니다.

2. AS 간 옵션 B에 대해 ASBR에서 경로 대상을 유지합니다.

3. ASBR에서 IPv4 레이블 유니캐스트 주소를 광고하지 않음

4. eBGP-eBGP(back-to-back eBGP) Vpnv4에 더미 iBGP 인접 디바이스가 필요합니다.

5. AS 간 옵션 C - LDP 레이블보다 BGP 레이블이 우선합니다.

6. AS 간 옵션 B - BGP 레이블이 LDP 레이블보다 우선합니다.

7. VPN(또는 6PE 또는 EVPN)을 통한 다중 hop BGP 세션 언더레이

8. BGP의 LDP로의 재분배

9. MPLS Activate Interface 명령

예 1. IGP, LDP 없음

예 2. 연합

소개

이 문서에서는 Cisco IOS®-XR에서 MPLS(Multiprotocol Label Switching) 및 BGP(Border Gateway Protocol)의 조합에 대한 특수 동작과 컨피그레이션을 가진 몇 가지 시나리오에 대해 설명합니다.

1. AS 간 MPLS VPN 옵션 B & C에 고정 경로가 필요합니다.

이 그림에서는 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에서 고정 경로가 필요합니다.

2. AS 간 옵션 B에 대해 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

!

3. ASBR에서 IPv4 레이블 유니캐스트 주소를 광고하지 않음

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

간단히 말해,

- 모든 ASBR 및 PE 라우터에서 레이블 할당을 구성해야 합니다.

- BGP 인접 디바이스에 대해 주소군 ipv4 레이블 유니캐스트를 구성해야 합니다.

4. eBGP-eBGP(back-to-back eBGP) Vpnv4에 더미 iBGP 인접 디바이스가 필요합니다.

이미지 3을 보십시오.

이미지 3.

세 개의 ASBR이 연속으로 있습니다.ASBR3은 ASBR1 및 ASBR2에 대해 eBGP vpnv4 유니캐스트를 실행합니다.

참고:ASBR3에서도 고정 경로를 구성해야 합니다.

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

BGP router identifier 10.100.1.7, local AS number 3

BGP generic scan interval 60 secs

Non-stop routing is enabled

BGP table state: Active

Table ID: 0x0   RD version: 0

BGP main routing table version 3

BGP NSR Initial initsync version 2 (Reached)

BGP NSR/ISSU Sync-Group versions 0/0

BGP scan interval 60 secs

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

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

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

Network            Next Hop            Metric LocPrf Weight Path

Route Distinguisher: 1:1

*> 10.200.1.1/32      10.4.1.3                               0 1 ?

Route Distinguisher: 2:2

*> 10.200.1.2/32      10.4.2.4                               0 2 ?

Processed 2 prefixes, 2 paths

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

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

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  2           2

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

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

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

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

Extended community: RT:1:1

ASBR3에서 vpnv4 경로를 광고하는 데 문제가 있습니다.ASBR3은 외부 vpnv4 경로를 외부로 알리지 않습니다.

이 솔루션은 ASBR3에서 더미 iBGP 인접 디바이스를 구성하고 next-hop-self를 활성화하는 것입니다.더미 iBGP 인접 디바이스가 가동될 필요가 없습니다.

router bgp 3

address-family vpnv4 unicast

retain route-target all

!

neighbor 10.4.1.3

remote-as 1  address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.4.2.4

remote-as 2

address-family vpnv4 unicast

route-policy PASS in

route-policy PASS out

!

!

neighbor 10.99.99.99

remote-as 3

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

update-source Loopback0

address-family vpnv4 unicast

next-hop-self

!

!

!

이제 vpnv4 경로가 광고됩니다.

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

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

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 12          12

Local Label: 24002

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

Paths: (1 available, best #1)

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

0.2

Path #1: Received by speaker 0

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

0.2

1

10.4.1.3 from 10.4.1.3 (10.100.1.3)

Received Label 24009

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

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

Extended community: RT:1:1

5. AS 간 옵션 C - LDP 레이블보다 BGP 레이블이 우선합니다.

두 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 - BGP 레이블이 LDP 레이블보다 우선합니다.

이미지 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에서 다시 할당되지 않도록 하려면 이 검사가 수행됩니다.이 확인은 접두사 레이블에 대해서만 적용됩니다.

이 메시지는 증상이며 이 문서의 문제가 아닙니다.

7. VPN(또는 6PE 또는 EVPN)을 통한 다중 hop BGP 세션 언더레이

eBGP 다중 hop 세션이 있는 경우 라우터에 Cisco IOS®-XR 6.3.2 이상 릴리스가 없으면 vpnv4/6 또는 6PE(IPv6 over MPLS) 또는 이더넷 EVPN(Virtual Private Network) 경로를 통해 next-hop 주소에 대한 경로를 알 수 없습니다.이 이미지를 참조하십시오.

이미지 8.

가능한 실패 시나리오:

1. PE1(VRF 내부)에서 PE2(VRF 내부)로의 eBGP 다중 hop 세션

2. PE1(VRF 내부)에서 CE2로의 eBGP 다중 hop 세션

이는 다음과 같습니다.

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 이후에 지원됩니다.

8. BGP의 LDP로의 재분배

이것이 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

9. MPLS Activate Interface 명령

예 1. IGP, LDP 없음

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

예 2. 연합

이 예에서는 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}