목차

사전 요구 사항

요구 사항

사용되는 구성 요소

소개

기능 교환

IOS-XR 구현 세부 사항

U 또는 LU 구성

BGP 테이블

로컬 레이블 할당 활성화

IOS-XR의 새로운 구현

업데이트 그룹

경로 전파

로컬 레이블 할당

레이블이 지정되지 않은 경로에 레이블 할당

최상의 경로 계산

BGP에서 동작 확인

iBGP 및 next-hop-self - Unified MPLS

해결 방법

IOS-XR의 컨피그레이션 예

이 문서에서는 Cisco IOS® XR의 한 BGP 세션을 통해 레이블이 지정되지 않고 레이블이 지정된 경로를 수신하고 광고하는 동작에 대해 설명합니다.

사전 요구 사항

요구 사항

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

사용되는 구성 요소

이 문서는 Cisco IOS® XR에 한정되어 있지만 특정 소프트웨어 릴리스 또는 하드웨어로 제한되지 않습니다.

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.

소개

AFI(Address Family Identifier)는 BGP 경로의 종류를 나타냅니다.예로는 IPv4의 경우 1과 IPv6의 경우 2가 있습니다.

후속 SAFI(Address Family Identifier)는 라우트 종류의 추가 표시입니다.예는 레이블이 지정되지 않은 경로의 경우 1이고 레이블이 지정된 경로의 경우 4입니다.

IPv4의 레이블이 지정되지 않은 유니캐스트는 AFI 1과 SAFI 1입니다.

IPv4용 유니캐스트로 레이블이 AFI 1과 SAFI 4입니다.

IPv6의 레이블이 지정되지 않은 유니캐스트는 AFI 2 및 SAFI 1입니다.

IPv6용 유니캐스트는 AFI 2 및 SAFI 4입니다.

레이블이 지정된 유니캐스트(LU)는 RFC 3107 "BGP-4에서 레이블 정보 전달"이라고 합니다.

이후 U는 레이블이 지정되지 않은 유니캐스트를 의미하므로 SAFI 1 및 LU는 레이블이 지정된 유니캐스트를 의미하므로 SAFI 4입니다.

Cisco IOS® XR에는 "allocate-label all| route-policy ..."가 필요하거나 경로가 시작되지 않거나 다음 BGP 스피커에 SAFI 4로 전파되지 않습니다.

하나의 BGP 세션에서 IPv4/v6 유니캐스트와 레이블 유니캐스트는 모두 Cisco IOS® XR에서 지원되지 않았습니다.

Cisco IOS® XR에서 한 BGP 세션에서 레이블이 지정되지 않고 레이블이 지정되도록 지원하는 작업은 6.2.1에서 수행되었습니다.

한 세션에서 둘 다 실행할 수 없는 경우, 마지막으로 받은 업데이트/철회 작업이 다른 SAFI에서 수신되었더라도 이전 세션을 재정의하므로 문제가 됩니다.

IOS-XR 6.2.1 전에 IOS-XR 코드를 실행하는 라우터에서 동일한 BGP 세션에서 SAFI 1과 4를 모두 구성하면 라우터가 다음 경고를 표시합니다.

bgp[1051]: %ROUTING-BGP-4-INCOMPATIBLE_AFI : IPv4 Unicast and IPv4 Labeled-unicast Address families together are not supported under the same neighbor.

이 경고 메시지는 IOS-XR 5.3.0 및 IOS-XR 5.2.2에 소개되었습니다.

기능 교환

BGP 피어 간에 교환되는 기능은 일치해야 합니다.그렇지 않으면 BGP 세션이 나타나지 않습니다.

BGP Open 메시지에서 AFI 1/SAFI 1 및 AFI 1/SAFI 4에 대해 교환되는 기능의 Wireshark 캡처입니다.

이미지 1

다음은 U로만 구성된 IOS에 대한 세션에서만 LU로 구성된 IOS-XR의 예입니다.

IOS-XR:

RP/0/0/CPU0:R4#show bgp neighbor 10.100.1.8

BGP neighbor is 10.100.1.8

Remote AS 65003, local AS 65003, internal link

Remote router ID 0.0.0.0

BGP state = Idle

…

Connections established 0; dropped 0

Local host: 10.100.1.4, Local port: 179, IF Handle: 0x00000000

Foreign host: 10.100.1.8, Foreign port: 33396

Last reset 00:00:14, due to BGP Notification sent: unsupported/disjoint capability

Time since last notification sent to neighbor: 00:00:14

Error Code: unsupported/disjoint capability

Notification data sent:

None

IOS 라우터는 이 컨피그레이션 오류에 대한 syslog 메시지를 인쇄합니다.

*Aug  8 12:40:44.719: %BGP-3-NOTIFICATION: received from neighbor 10.100.1.4 active 2/7 (unsupported/disjoint capability) 0 by

IOS-XR 구현 세부 사항

U 또는 LU 구성

BGP 인접 디바이스 명령 아래에 "address-family ipv4 unicast"를 구성하여 BGP 세션에 대해 ipv4 유니캐스트를 활성화합니다.

BGP 인접 디바이스 명령 아래에 "address-family ipv6 unicast"를 구성하여 BGP 세션에 대해 ipv6 유니캐스트를 활성화합니다.

BGP 인접 디바이스 명령 아래에 "address-family ipv4 labeled-unicast"를 구성하여 BGP 세션에 대해 ipv4 레이블이 지정된 유니캐스트를 활성화합니다.

BGP 인접 디바이스 명령 아래에 "address-family ipv6 labeled-unicast"를 구성하여 BGP 세션에 대해 ipv6 레이블이 지정된 유니캐스트를 활성화합니다.

IOS-XR에서 AFI/SAFI 조합은 BGP 피어별로 구성됩니다.

다음은 SAFI 1과 4가 모두 있는 BGP 세션의 예입니다.

router bgp 65003

address-family ipv4 unicast

redistribute connected

allocate-label all unlabeled-path

…

neighbor 10.100.1.7

remote-as 65003

update-source Loopback0

address-family ipv4 unicast

route-reflector-client

!

address-family ipv4 labeled-unicast

route-reflector-client

라우터 BGP에는 "주소군 유니캐스트"만 있고 "주소군 레이블 유니캐스트"는 없습니다.SAFI 1 및 4 경로는 모두 이 하나의 BGP 테이블에 저장됩니다.

BGP 테이블

IOS-XR이 6.2.1보다 오래되었거나 더 최신 버전이든 상관없이 U 및 LU 경로를 저장할 BGP 테이블이 하나만 있습니다.이는 라우터 bgp 아래에 "address-family ipv4 unicast" 또는 "address-family ipv6 unicast"만 구성(활성화)할 수 있다는 사실에 의해 명백합니다.라우터 bgp 아래에 "address-family ipv4 labeled-unicast" 또는 "address-family ipv6 labeled-unicast"를 구성할 수 없습니다.

U 및 LU 경로는 동일할 수 있습니다.IOS-XR 6.2.1 이전에 동일한 경로를 다시 수신하지만 이번에는 레이블을 사용하거나 사용하지 않으면 이전에 수신한 경로를 재정의합니다.IOS-XR 6.2.1 후에는 레이블만 다를 경우 동일한 두 경로가 서로 다르게 표시됩니다.경로 추가, 삭제 또는 수정은 다른 SAFI에 의해 수행됩니다.

다음은 AFI 1/SAFI 4를 사용하는 BGP 테이블의 경로 예입니다. 모든 접두사에 대해 레이블 할당이 활성화되어 있으므로 이 경로는 로컬 레이블과 함께 저장됩니다.U 및 LU 경로를 저장할 BGP 테이블이 하나뿐이므로 접두사가 "show bgp ipv4 unicast" 및 "show bgp ipv4 labeled-unicast"! 명령으로 표시됩니다.

RP/0/0/CPU0:R4#show bgp ipv4 unicast 10.100.1.1/32

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  5           5

Local Label: 24000

Last Modified: Aug  6 15:03:59.574 for 16:06:13

Paths: (1 available, best #1)

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

0.3 0.4

Advertised to peers (in unique update groups):

10.1.45.5

Path #1: Received by speaker 0

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

0.3 0.4

Advertised to peers (in unique update groups):

10.1.45.5

65002 65001

10.1.24.2 from 10.1.24.2 (10.100.1.2)

Received Label 24003

Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 0, version 5

Origin-AS validity: not-found

경로가 "labeled-unicast"로 표시됩니다.

RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  5           5

Local Label: 24000

Last Modified: Aug  6 15:03:59.574 for 16:08:41

Paths: (1 available, best #1)

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

0.3 0.4

Advertised to peers (in unique update groups):

10.1.45.5

Path #1: Received by speaker 0

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

0.3 0.4

Advertised to peers (in unique update groups):

10.1.45.5

65002 65001

10.1.24.2 from 10.1.24.2 (10.100.1.2)

Received Label 24003

Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 0, version 5

Origin-AS validity: not-found

경로가 "labeled-unicast"로 표시됩니다.

경로가 U와 LU로 모두 존재하는 경우 로컬 경로 ID가 다릅니다.

RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 30          30

Local Label: 24003 (no rewrite);

Flags: 0x00003028+0x00010000;

Last Modified: Aug 30 10:45:50.502 for 00:01:59

Paths: (2 available, best #1)

Advertised IPv4 Unicast paths to peers (in unique update groups):

10.100.1.8      10.100.1.9

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.8

Path #1: Received by speaker 0

Flags: 0x4000000009060205, import: 0x20

Advertised IPv4 Unicast paths to peers (in unique update groups):

10.100.1.8      10.100.1.9

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.8

65001, (Received from a RR-client)

10.100.1.9 (metric 2) from 10.100.1.9 (10.100.1.9)

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

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

Path #2: Received by speaker 0

Flags: 0x4080000008020205, import: 0x20

Not advertised to any peer

65001, (Received from a RR-client)

10.100.1.9 (metric 2) from 10.100.1.9 (10.100.1.9)

Received Label 24001

Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast

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

로컬 레이블 할당 활성화

BGP의 수신 또는 소스 경로가 로컬 MPLS 레이블을 갖도록 하려면 "allocate-label" 명령을 구성해야 합니다.이 명령이 없으면 경로에 로컬 레이블이 없습니다.

RP/0/0/CPU0:R4#conf t

RP/0/0/CPU0:R4(config)#router bgp 65003

RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast

RP/0/0/CPU0:R4(config-bgp-af)#allocate-label ?

all           Allocate labels for all prefixes

route-policy  Use a route policy to select prefixes for label allocation

레이블 할당은 모든 경로에 대해 또는 구성된 경로 정책에 따라 발생합니다.

IOS-XR의 새로운 구현

IOS-XR의 이전 구현에서 동일한 BGP 세션에서 U와 LU를 모두 구성할 때 경고가 표시됩니다.이 경고는 IOS-XR 릴리스 5.3.0 및 5.2.2에 소개됩니다. IOS-XR 릴리스 6.2.1에서 경고가 제거됩니다. 동일한 BGP 세션에서 레이블 지정 및 레이블이 지정되지 않습니다.

예:

RP/0/0/CPU0:ios#conf t

RP/0/0/CPU0:ios(config)#router bgp 65001

RP/0/0/CPU0:ios(config-bgp)#add ipv4 unicast

RP/0/0/CPU0:ios(config-bgp-af)#exit

RP/0/0/CPU0:ios(config-bgp)#neighbor 10.0.0.1

RP/0/0/CPU0:ios(config-bgp-nbr)#remote-as 65001

RP/0/0/CPU0:ios(config-bgp-nbr)#exit

RP/0/0/CPU0:ios(config-bgp)#neighbor 10.0.0.1

RP/0/0/CPU0:ios(config-bgp-nbr)#address-family ipv4 unicast

RP/0/0/CPU0:ios(config-bgp-nbr-af)#exit

RP/0/0/CPU0:ios(config-bgp-nbr)#address-family ipv4 labeled-unicast

RP/0/0/CPU0:ios(config-bgp-nbr-af)#commit

RP/0/0/CPU0:Aug 21 14:14:22.222 : bgp[1052]: %ROUTING-BGP-4-INCOMPATIBLE_AFI : IPv4 Unicast and IPv4 Labeled-unicast Address families together are not supported under the same neighbor.

이 오류 메시지에 대한 설명:

이 메시지는 사용자가 동일한 네이버 아래에 IPv4 유니캐스트와 IPv4 Labeled-unicast 또는 IPv6 Unicast 및 IPv6 Labeled-unicast 주소 패밀리를 모두 구성했음을 나타냅니다.이 특정 구성은 지원되지 않습니다.

권장 작업: 라우터에 2개의 네이버 세션을 구성합니다.첫 번째 인접 디바이스 세션에서 유니캐스트 주소군을 구성하고 두 번째 인접 디바이스 세션에서 레이블이 지정된 유니캐스트 주소군을 구성합니다.

IOS-XR 라우터 쌍 간의 두 BGP 세션에 대한 컨피그레이션 예.각 BGP 세션에 다른(루프백) 주소를 사용합니다.

hostname R1

interface Loopback0

ipv4 address 10.100.1.1 255.255.255.255

!

interface Loopback1

ipv4 address 10.100.1.101 255.255.255.255

!

router bgp 65001

address-family ipv4 unicast

!

neighbor 10.100.1.2

remote-as 65001

update-source Loopback0

address-family ipv4 unicast

!

!

neighbor 10.100.1.102

remote-as 65001

update-source Loopback1

address-family ipv4 labeled-unicast

!

!

hostname R2

interface Loopback0

ipv4 address 10.100.1.2 255.255.255.255

!

interface Loopback1

ipv4 address 10.100.1.102 255.255.255.255

!

router bgp 65001

address-family ipv4 unicast

!

neighbor 10.100.1.1

remote-as 65001

update-source Loopback0

address-family ipv4 unicast

!

!

neighbor 10.100.1.101

remote-as 65001

update-source Loopback1

address-family ipv4 labeled-unicast

!

!

IOS-XR 6.2.1에서 U와 LU가 모두 기본 VRF의 동일한 BGP 세션에서 지원됩니다!

BGP 세션이 내부 또는 외부 BGP인지 여부는 중요하지 않습니다.

동일한 세션의 U 및 LU는 기본값이 아닌 VRF의 BGP 스피커에 대해 지원되지 않습니다.

업데이트 그룹

IOS-XR 6.2.1 이전에는 모든 U, LU 및 U + LU BGP 스피커가 별도의 업데이트 그룹에 보관되었습니다.IOS-XR 릴리스 6.2.1 이후에는 더 이상 사실이 아닙니다.하나의 업데이트 그룹에 있는 일부 BGP 스피커는 U일 수도 있고, LU일 수도 있고, U와 LU일 수도 있습니다.

경로 전파

다음 표는 다양한 시나리오에 대한 광고 및 회수 동작을 보여줍니다.16가지 시나리오가 있습니다.

모두 IOS-XR 버전 6.2.1 이상에 적용됩니다. 주석 열에 달리 언급되지 않는 한.

사례

Bestpath/Addpath 유형

로컬 레이블이 있습니까?

NHS 또는 NHU

업데이트 그룹 SAFI

광고 또는 철회?

설명

1

레이블이 지정되지 않은 경로(예: rx 레이블 없음)

예

NHS

SAFI-1

기본적으로 알림

다음으로 철회 advertise local-labeled-route(safi-unicast) disable 명령

6.5.1 후에만 가능합니다.

2

SAFI-4

광고

6.5.1 후에만 가능합니다.

IPv4/v6 재배포 경로 및 6PE:암시적 NHS

3

NHU

SAFI-1

광고

6.5.1 후에만 가능합니다.

4

SAFI-4

철회

6.5.1 후에만 가능합니다.

IPv4/v6 재배포 경로 및 6PE:NHU는 무시했습니다.암시적 NHS

5

아니요

NHS

SAFI-1

광고

6

SAFI-4

철회

7

NHU

SAFI-1

광고

8

SAFI-4

철회

9

레이블 경로(예: rx 레이블 포함)

예

NHS

SAFI-1

기본적으로 알림

local-labeled-route (safi-unicast) disable 명령을 사용하여 철회

6.2.1 이전:기본 동작은 Advertise입니다.

10

SAFI-4

광고

11

NHU

SAFI-1

철회

6.2.1 이전: 광고입니다.

12

SAFI-4

광고

13

아니요

NHS

SAFI-1

광고

14

SAFI-4

철회

15

NHU

SAFI-1

철회

6.2.1 이전: 광고입니다.

16

SAFI-4

광고

표 1 iBGP 및 eBGP 세션에 대한 광고 동작

NHS = Next Hop Self

NHU = 변경되지 않은 다음 홉입니다.

NHU가 유효한 경우, 이는 next-hop self가 iBGP 세션에 대해 구성되지 않았음을 의미합니다.

BGP 스피커가 eBGP 피어에 전송할 때 NHS는 항상 해당됩니다.

next-hop-self 구성에 따라 iBGP 스피커를 향해 NHS 또는 NHU가 있을 수 있습니다.iBGP 피어에 대한 기본 동작은 NHU입니다.

두 번째 열의 경우:path는 best-path 또는 add-path로 표시된 경로 중 하나에 레이블이 지정되지 않았거나 레이블이 지정된 경우에만 레이블이 지정되지 않은 것으로 간주됩니다.

경로 전파의 경우 최상의 경로의 특성이 중요합니다.특성(열 2~4)에 따라 경로가 U, LU 또는 둘 다로 광고되는지 여부를 결정합니다.

추가 경로(ADD-PATH) 기능이 활성화되어 있고 경로가 "add-path"로 표시된 경우 해당 경로의 특성도 해당 경로를 광고하는 방법에 역할을 합니다.

"로컬 레이블 있음?:"아니요"는 다음을 의미합니다.받은 업데이트와 함께 레이블을 받을 수 있지만 레이블이 설치되지 않았습니다."allocate-label" 명령이 없으면 로컬 레이블이 설치되지 않습니다.

접두사를 자세히 확인하여 로컬 레이블이 있는지 확인할 수 있습니다."show bgp <prefix> detail" 또는 "show route <prefix> detail"을 사용합니다.

다음 예에서는 접두사가 레이블 없이 수신되고(따라서 SAFI 1 피어링) 로컬 레이블이 할당되지 않습니다.

RP/0/0/CPU0:R2#show bgp ipv4 labeled-unicast 10.100.1.5/32 detail

BGP routing table entry for 10.100.1.5/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  3           3

Flags: 0x04001001+0x00000000;

Last Modified: Sep  5 03:44:45.647 for 01:01:27

Paths: (1 available, best #1)

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

0.3

Path #1: Received by speaker 0

Flags: 0x4000000001040207, import: 0x00

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

0.3

Local, (Received from a RR-client)

10.100.1.1 (metric 2) from 10.100.1.1 (10.100.1.1)

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best

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

RP/0/0/CPU0:R2#show route 10.100.1.5/32 detail

Routing entry for 10.100.1.5/32

Known via "bgp 65001", distance 200, metric 0, type internal

Installed Sep  5 03:44:45.480 for 01:01:37

Routing Descriptor Blocks

10.100.1.1, from 10.100.1.1

Route metric is 0

Label: None

Tunnel ID: None

Extended communities count: 0

NHID:0x0(Ref:0)

Route version is 0x23 (35)

No local label

IP Precedence: Not Set

QoS Group ID: Not Set

Flow-tag: Not Set

Route Priority: RIB_PRIORITY_RECURSIVE (12) SVD Type RIB_SVD_TYPE_LOCAL

Download Priority 4, Download Version 52

No advertising protos.

로컬 레이블 할당

레이블이 지정되지 않은 경로에 레이블 할당

기본적으로 레이블이 지정되지 않은 경로(SAFI 1)는 "allocate-label" 명령이 구성된 경우에도 레이블이 지정되지 않습니다.

IOS-XR 릴리스 6.5.1. 에는 "allocate-label" 명령에 대한 "unlabeled-path" 키워드가 있으므로 레이블이 지정되지 않은 경로에도 레이블을 할당할 수 있습니다.

RP/0/0/CPU0:R4#conf t

RP/0/0/CPU0:R4(config)#router bgp 65003

RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast

RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all ?

unlabeled-path  Allocate label for unlabeled paths too

<cr>

RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all unlabeled-path ?

<cr>

RP/0/0/CPU0:R4(config-bgp-af)#allocate-label all unlabeled-path

RP/0/0/CPU0:R4(config-bgp-af)#commit

경로가 SAFE 1 경로이므로 수신된 레이블이 없습니다.

"unlabeled-path" 명령 때문에 이제 로컬 레이블이 있습니다.

RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 16          16

Local Label: 24003 (no rewrite);

Flags: 0x01303028+0x00000000;

Last Modified: Aug 27 19:08:47.502 for 00:00:59

Paths: (1 available, best #1)

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

0.3

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.7

Advertised IPv4 Labeled-unicast paths to peers (in unique update groups):

10.1.45.5

Path #1: Received by speaker 0

Flags: 0x4000000009040207, import: 0x20

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

0.3

Advertised IPv4 Labeled-unicast paths to update-groups (with more than one peer):

0.7

Advertised IPv4 Labeled-unicast paths to peers (in unique update groups):

10.1.45.5

65001, (Received from a RR-client)

10.100.1.10 (metric 2) from 10.100.1.10 (10.100.1.10)

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

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

RP/0/0/CPU0:R4#show route 10.100.1.1/32 detail

Routing entry for 10.100.1.1/32

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

…

Route version is 0x4 (4)

Local Label: 0x5dc3 (24003)

IP Precedence: Not Set

…

그러면 표 1에서 4까지의 케이스가 허용됩니다.

"allocate-label" 명령을 제거할 때 로컬 레이블이 여전히 할당되는 이유를 알아보려면 debug "debug bgp label"을 실행합니다.

예를 들면 다음과 같습니다.

RP/0/0/CPU0:R4#debug bgp label

RP/0/0/CPU0:R4#show debug

####  debug flags set from tty 'con0_0_CPU0'  ####

ip-bgp default label flag is ON with value '##########'

특정 접두사 또는 접두사 그룹에 대해 이 디버그를 사용하는 것이 좋습니다.예를 들면 다음과 같습니다.

RP/0/0/CPU0:R4#sh running-config route-policy match-prefix

route-policy match-prefix

if destination in (10.100.1.1/32) then

pass

else

drop

endif

end-policy

!

RP/0/0/CPU0:R4#debug bgp label route-policy match-prefix

RP/0/0/CPU0:R4#show debug

####  debug flags set from tty 'con0_0_CPU0'  ####

ip-bgp default label flag is ON with value '######match-prefix####'

RP/0/0/CPU0:R4#con t

RP/0/0/CPU0:R4(config)#router bgp 65003

RP/0/0/CPU0:R4(config-bgp)# address-family ipv4 unicast

RP/0/0/CPU0:R4(config-bgp-af)#no   allocate-label all

RP/0/0/CPU0:R4(config-bgp-af)#commit

RP/0/0/CPU0:Aug 23 12:43:02.786 : bgp[1048]: [default-lbl] (ip4u): Label computation done: table=TBL:default (1/1), net=10.100.1.1/32: netfl=0x05043001, path=0x1073ed5c(10.1.24.2/32,10.1.24.2,0,0x400000000d060001), pathrcvdlabel=24002: asbr=1, rr=0/1, nhselfcount=1: result="label required"

이 라우터가 접두사 10.100.1.1/32에 대한 레이블을 받았으며, ASBR이고, RR이 아니며, 하나 이상의 BGP 세션에 대해 next-hop-self를 가지고 있음을 확인할 수 있습니다.이렇게 하면 이 접두사에 로컬 레이블이 필요합니다.

로컬 레이블은 다음과 같이 유지됩니다.

RP/0/0/CPU0:R4#show bgp ipv4 unicast 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 13          13

Local Label: 16002 (no rewrite);

Flags: 0x05043001+0x00000200;

Last Modified: Aug 23 12:37:11.133 for 00:05:53

Paths: (1 available, best #1)

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

0.6

Advertised to peers (in unique update groups):

10.1.46.6       10.100.1.8      10.100.1.7

Path #1: Received by speaker 0

Flags: 0x400000000d060001, import: 0x1f

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

0.6

Advertised to peers (in unique update groups):

10.1.46.6       10.100.1.8      10.100.1.7

65002 65001

10.1.24.2 from 10.1.24.2 (10.100.1.2)

Received Label 24002

Origin IGP, localpref 100, valid, external, best, group-best, import-candidate

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

Origin-AS validity: not-found

RP/0/0/CPU0:R4#show route 10.100.1.1/32 detail

Routing entry for 10.100.1.1/32

Known via "bgp 65003", distance 20, metric 0, [ei]-bgp, labeled unicast (3107)

Tag 65002, type external

Installed Aug 23 12:37:11.440 for 00:06:02

Routing Descriptor Blocks

10.1.24.2, from 10.1.24.2, BGP external

Route metric is 0

Label: 0x5dc2 (24002)

Tunnel ID: None

Extended communities count: 0

NHID:0x0(Ref:0)

Route version is 0x4 (4)

Local Label: 0x3e82 (16002)

IP Precedence: Not Set

QoS Group ID: Not Set

Route Priority: RIB_PRIORITY_NON_RECURSIVE_LOW (11) SVD Type RIB_SVD_TYPE_LOCAL

Download Priority 4, Download Version 28

No advertising protos.

로컬 레이블이 필요하지 않은 경우 디버그는 다음 메시지를 표시합니다.

RP/0/0/CPU0:Aug 23 13:01:15.801 : bgp[1048]: [default-lbl]: Prefix 10.100.1.1/32:()doesn't require label, releasing

RP/0/0/CPU0:Aug 23 13:01:15.801 : bgp[1048]: [default-lbl]: bgp_label_release_label: perform label release onnet 10.100.1.1/32net retain 0 label_retain 0

접두사가 LFIB에 있는 경우 접두사에 레이블이 지정되었는지 여부 및 allocate-label이 해당 접두사에 적용되는지 여부에 따라 달라집니다.

다음 접두사에 대해 수신된 레이블은 24002입니다.  BGP에는 allocate-label 명령이 없으므로 LFIB에 설치되지 않습니다.

RP/0/0/CPU0:R4#show bgp ipv4 unicast  10.100.1.1/32

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  4           4

Local Label: 24002

Last Modified: Aug  8 13:52:57.276 for 00:00:36

Paths: (1 available, best #1)

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

0.6

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.6

Advertised to peers (in unique update groups):

10.100.1.7

65002 65001

10.1.24.2 from 10.1.24.2 (10.100.1.2)

Received Label 24002

Origin IGP, localpref 100, valid, external, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 0, version 4

Origin-AS validity: not-found

router bgp 65003

bgp unsafe-ebgp-policy

address-family ipv4 unicast

!

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

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24000  Aggregate   10.1.24.0/24       default                      0

24001  Aggregate   10.1.45.0/24       default                      0

allocate-label 명령이 있는 경우 로컬 레이블이 LFIB에 표시됩니다.

router bgp 65003

bgp unsafe-ebgp-policy

address-family ipv4 unicast

allocate-label all

!

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

Local  Outgoing    Prefix             Outgoing     Next Hop        Bytes

Label  Label       or ID              Interface                    Switched

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

24000  Aggregate   10.1.24.0/24       default                      0

24001  Aggregate   10.1.45.0/24       default                      0

24002  24002       10.100.1.1/32                   10.1.24.2       0

BGP 접두사가 LU 세션을 통해 수신되지만 로컬 레이블이 할당되지 않은 경우에도 다른 LU 세션을 통해 경로가 광고되지 않습니다. 이는 NHS입니다.이는 표 1의 14입니다. 이는 발신 BGP 세션이 eBGP인 경우 발생합니다.

예:

RP/0/0/CPU0:R2#show bgp ipv4 unicast 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                  3           3

Flags: 0x00001001+0x00000000;

Last Modified: Aug 22 09:00:20.646 for 00:10:56

Paths: (1 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Flags: 0x4080000001060001, import: 0x20

Not advertised to any peer

65001

10.1.12.1 from 10.1.12.1 (10.100.1.1)

Received Label 3

Origin IGP, metric 0, localpref 100, valid, external, best, group-best, labeled-unicast

Received Path ID 0, Local Path ID 0, version 3

Origin-AS validity: not-found

RP/0/0/CPU0:R2#show route 10.100.1.1/32 detail

Routing entry for 10.100.1.1/32

Known via "bgp 65002", distance 20, metric 0, labeled unicast (3107)

Tag 65001, type external

Installed Aug 22 09:00:20.416 for 00:10:59

Routing Descriptor Blocks

10.1.12.1, from 10.1.12.1, BGP external

Route metric is 0

Label: 0x100004 (1048580)

Tunnel ID: None

Binding Label: None

Extended communities count: 0

NHID:0x0(Ref:0)

Route version is 0x1 (1)

No local label

IP Precedence: Not Set

…

라우터 BGP 아래에 주소군 유니캐스트에 대해 "allocate-label" 명령이 없기 때문일 수 있습니다.

라우터가 BGP 경로에 대한 로컬 레이블을 제거하려면 "allocate-label" 명령을 제거할 때 프로세스 BGP를 다시 시작해야 합니다.

표 1의 새로운 advertise local-labeled-route 명령은 로컬 레이블이 있는 경로를 SAFI-1을 통해 레이블이 지정되지 않은 경로로 광고하지 않아야 함을 나타내는 새로운 명령입니다.

이 명령은 다음과 같습니다.

local-labeled-route [disable] 알림

이 명령은 neighbor address-family 아래에 구성됩니다.이 명령의 기능은 로컬 레이블이 있는 IPv4/v6 경로를 IPv4/v6 유니캐스트(SAFI 1)를 통해 BGP 인접 디바이스에 광고할지 여부를 나타내는 것입니다.

기본 동작은 로컬 레이블이 있는 경로를 광고하는 것입니다.

새 명령은 다음과 같이 구성할 수도 있습니다.

local-labeled-route safi-unicast [disable] 알림

이 명령은 BGP 섹션의 af-group 아래에 구성됩니다.이 기능은 위와 동일하며 모든 BGP 네이버에 적용됩니다.

기본 동작은 로컬 레이블이 있는 경로를 광고하는 것입니다.

주소군 IPv4 유니캐스트 아래의 "Advertise routes with local-label via Unicast SAFI" 또는 "Do not advertise routes with local-label with Unicast SAFI"라는 행에 BGP 스피커가 로컬 레이블로 경로 광고를 허용하는지 여부를 나타내기 위해 나와 있습니다.

기본 동작의 예:

RP/0/0/CPU0:R4#show bgp neighbor 10.1.45.5

…

For Address Family: IPv4 Unicast

BGP neighbor version 5

Update group: 0.1 Filter-group: 0.5  No Refresh request being processed

Extended Nexthop Encoding: advertised and received

Route refresh request: received 0, sent 0

0 accepted prefixes, 0 are bestpaths

Exact no. of prefixes denied : 0.

Cumulative no. of prefixes denied: 0.

Prefix advertised 2, suppressed 0, withdrawn 0

Maximum prefixes allowed 1048576

Threshold for warning message 75%, restart interval 0 min

An EoR was not received during read-only mode

Last ack version 5, Last synced ack version 0

Outstanding version objects: current 0, max 1, refresh 0

Additional-paths operation: None

Advertise routes with local-label via Unicast SAFI

…

또는

RP/0/0/CPU0:R4# conf t

RP/0/0/CPU0:R4(config)#router bgp 65003

RP/0/0/CPU0:R4(config-bgp)# neighbor 10.1.45.5

RP/0/0/CPU0:R4(config-bgp-nbr)#  address-family ipv4 unicast

RP/0/0/CPU0:R4(config-bgp-nbr-af)#advertise local-labeled-route disable

RP/0/0/CPU0:R4(config-bgp-nbr-af)#commit

RP/0/0/CPU0:R4#show bgp neighbor 10.1.45.5

BGP neighbor is 10.1.45.5

…

For Address Family: IPv4 Unicast

BGP neighbor version 5

Update group: 0.1 Filter-group: 0.5 (Update-group Change

pending)

No Refresh request being processed

Extended Nexthop Encoding: advertised and received

Route refresh request: received 0, sent 0

0 accepted prefixes, 0 are bestpaths

Exact no. of prefixes denied : 0.

Cumulative no. of prefixes denied: 0.

Prefix advertised 2, suppressed 0, withdrawn 0

Maximum prefixes allowed 1048576

Threshold for warning message 75%, restart interval 0 min

An EoR was not received during read-only mode

Last ack version 5, Last synced ack version 0

Outstanding version objects: current 0, max 1, refresh 0

Additional-paths operation: None

Do not advertise routes with local-label via Unicast SAFI

최상의 경로 계산

최상의 경로 계산 프로세스는 변경되지 않습니다.경로가 SAFI 1 또는 SAFI 4이거나 경로에 레이블이 있거나 없는 경우 최상의 경로 계산 프로세스에 차이가 없습니다.따라서 SAFI 1 또는 SAFI 4 경로 간에는 기본 설정이 없습니다.이는 동일한 BGP 세션 또는 다른 세션에 SAFI 1/SAFI 4가 있는지 여부에 관계없이 가능합니다.따라서 하나의 BGP 세션이 SAFI 1 및 4이고 두 주소군 모두에서 접두사를 수신하는 경우 모든 특성이 동일하므로 최상의 경로 계산이 최적 경로로 선택됩니다.모든 BGP 특성이 U 경로와 LU 경로 간에 동일하면 마지막으로 수신된 경로가 최상의 경로가 됩니다.

서로 다른 BGP 피어에서 SAFI 1 및 SAFI 4 경로를 수신하면 BGP로 연결되는 경로의 차이가 항상 두 경로에서 항상 같은 최상의 경로를 선택하게 됩니다.이 경우 모든 특성이 동일하더라도 네이버 주소는 다릅니다.BGP Best Path Selection Algorithm을 보면 가장 낮은 인접 디바이스 주소(마지막 13단계)의 인접 디바이스의 경로가 최적의 경로로 선택됩니다.

"show bgp <AFI> <SAFI> <prefix> bestpath-compare" 명령을 사용하여 최적의 경로가 가장 적합한 이유를 확인합니다.

이 기본 설정은 사용자가 RPL을 사용하여 설정할 수 있습니다.

다음은 이러한 RPL의 예입니다.

RP/0/0/CPU0:R7#show bgp ipv4 un 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                682         682

Flags: 0x00003001+0x00010000;

Last Modified: Aug 28 13:16:26.826 for 00:00:10

Paths: (2 available, best #2)

Not advertised to any peer

Path #1: Received by speaker 0

Flags: 0x4000000000020005, import: 0x20

Not advertised to any peer

65001

10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)

Origin IGP, metric 0, localpref 100, valid, internal

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4

Path #2: Received by speaker 0

Flags: 0x4080000001060005, import: 0x20

Not advertised to any peer

65001

10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)

Received Label 24003

Origin IGP, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4

LU 경로가 가장 좋습니다.

가중치가 있는 RPL은 U 경로를 선호하는 데 사용됩니다.

route-policy weight

if destination in (10.100.1.1/32) then

set weight 60000

endif

end-policy

router bgp 65003

address-family ipv4 unicast

additional-paths receive

additional-paths send

!

neighbor 10.100.1.4

remote-as 65003

update-source Loopback0

address-family ipv4 unicast

route-policy weight in

!

address-family ipv4 labeled-unicast

!

!

RP/0/0/CPU0:R7#show bgp ipv4 un 10.100.1.1/32 bestpath-compare

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                726         726

Last Modified: Aug 28 13:39:27.826 for 00:04:54

Paths: (2 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Not advertised to any peer

65001

10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)

Origin IGP, metric 0, localpref 100, weight 60000, valid, internal, best, group-best

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4

best of AS 65001, Overall best

Path #2: Received by speaker 0

Not advertised to any peer

65001

10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)

Received Label 24003

Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4

Lower weight than best path (path #1)

이제 U 경로가 최고입니다.

레이블이 지정되지 않은 경로 대신 레이블이 지정된 경로를 선호하는 새 명령은 없습니다.주소군 유니캐스트 또는 BGP 인접 디바이스 아래에 레이블 지정된 유니캐스트에서만 RPL을 구성할 수 있습니다.

BGP에서 동작 확인

IOS-XR에서 BGP 업데이트 전파를 디버깅하려면 다음 debug 명령을 설정할 수 있습니다.의 debug bgp update <BGP neighbor> | 출력.

그러면 해당 BGP 스피커의 수신 또는 발신 BGP 업데이트가 표시됩니다.주소 패밀리는 레이블이 지정되지 않은 IPv4 uncast(AFI 1/SAFI 1)의 경우 (ip4u) 또는 레이블이 지정된 IPv4 유니캐스트(AFI 1/SAFI 4)의 경우 (ipv4lu)로 표시됩니다. IPv6에 해당하는 값이 발생합니다.

SAFI 4를 통해 경로가 학습되었음을 나타내는 새로운 필드 "labeled-unicast"가 있습니다.

예:

RP/0/0/CPU0:R1#show bgp ipv4 unicast 10.100.1.7/32

BGP routing table entry for 10.100.1.7/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                 26          26

Last Modified: Sep  4 10:45:44.551 for 00:29:11

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.4 (metric 3) from 10.100.1.102 (10.100.1.4)

Received Label 24000

Origin incomplete, metric 0, localpref 100, valid, internal, best, group-best, labeled-unicast

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

Originator: 10.100.1.4, Cluster list: 10.100.1.2

접두사가 알려졌는지 확인하려면 끝에 "advertised-routes" 키워드와 함께 "show bgp .. neighbors" 명령을 사용할 수 있습니다.

예:

R4는 추가 경로가 활성화되어 있으므로 10.100.1.1/32을 인접 10.100.1.7에 두 번 알립니다(두 경로는 서로 다름).

RP/0/0/CPU0:R4#show bgp ipv4 labeled-unicast neighbors 10.100.1.7 advertised-routes

Network            Next Hop        From            AS Path

10.1.24.0/24       10.100.1.4      Local           ?

10.1.34.0/24       10.100.1.4      Local           ?

10.1.45.0/24       10.100.1.4      Local           ?

10.1.46.0/24       10.100.1.4      Local           ?

10.1.47.0/24       10.100.1.4      Local           ?

10.1.48.0/24       10.100.1.4      Local           ?

10.1.49.0/24       10.100.1.4      Local           ?

10.1.104.0/24      10.100.1.4      Local           ?

10.1.114.0/24      10.100.1.4      Local           ?

10.100.1.1/32      10.100.1.4      10.100.1.9      65001i

10.100.1.10     65001i

10.100.1.4/32      10.100.1.4      Local           ?

Processed 11 prefixes, 12 paths

iBGP 및 next-hop-self - Unified MPLS

표 1의 규칙이 적용됩니다.Unified MPLS 또는 Seamless MPLS에서는 ABR(Area Border Router)이 경로 리플렉터 역할을 하지만 iBGP 경로의 next-hop이기도 합니다.ABR은 레이블이 지정된 트래픽의 전달 경로에 있습니다.ABR에는 next-hop-self에 대한 명시적 컨피그레이션이 있어야 합니다.

해결 방법

- 하나의 BGP 세션에서 U 및 LU를 지원하지 않는 경우, 한 쌍의 라우터 간에 두 개의 BGP 세션이 있을 수 있습니다.각 라우터에서 2개의(루프백) 인터페이스를 사용해야 합니다.

IOS-XR의 컨피그레이션 예

interface Loopback0

ipv4 address 10.100.1.7 255.255.255.255

!

interface Loopback1

ipv4 address 10.100.1.107 255.255.255.255

!

router bgp 65003

address-family ipv4 unicast

!

neighbor 10.100.1.4   -> towards loopback0 on peer

remote-as 65003

update-source Loopback0

address-family ipv4 unicast

!

!

neighbor 10.100.1.104  -> towards loopback1 on peer

remote-as 65003

update-source Loopback1

address-family ipv4 labeled-unicast

!

U 및 LU 경로는 서로 다른 두 BGP 세션을 통해 전송/수신됩니다.

RP/0/0/CPU0:R7#show bgp ipv4 unicast 10.100.1.1/32 detail

BGP routing table entry for 10.100.1.1/32

Versions:

Process           bRIB/RIB  SendTblVer

Speaker                753         753

Flags: 0x00001001+0x00010000;

Last Modified: Aug 28 14:06:40.826 for 00:22:10

Paths: (2 available, best #1)

Not advertised to any peer

Path #1: Received by speaker 0

Flags: 0x4000000001060005, import: 0x20

Not advertised to any peer

65001

10.100.1.4 (metric 2) from 10.100.1.4 (10.100.1.10)

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

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4

Path #2: Received by speaker 0

Flags: 0x4080000000020005, import: 0x20

Not advertised to any peer

65001

10.100.1.104 (metric 2) from 10.100.1.104 (10.100.1.10)

Received Label 24003

Origin IGP, metric 0, localpref 100, valid, internal, labeled-unicast

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

Originator: 10.100.1.10, Cluster list: 10.100.1.4