内容

前提条件

要件

使用するコンポーネント

概要

機能交換

IOS-XR実装の仕様

UまたはLUの設定

BGPテーブル

ローカルラベル割り当ての有効化

IOS-XRでの新しい実装

アップデートグループ

ルート伝播

ローカルラベルの割り当て

ラベルなしパスのラベルの割り当て

最適パスの計算

BGPの動作の確認

iBGPおよびnext-hop-self:Unified MPLS

回避策

IOS-XRの設定例。

このドキュメントでは、Cisco IOS® XRの1つのBGPセッションで、ラベル付けされていないパスとラベル付けされたパスを受信してアドバタイズする動作について説明します。

前提条件

要件

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

使用するコンポーネント

このドキュメントはCisco IOS® XRに固有のものですが、特定のソフトウェアリリースやハードウェアに限定されるものではありません。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期（デフォルト）設定の状態から起動しています。対象のネットワークが実稼働中である場合には、どのようなコマンドについても、その潜在的な影響について確実に理解しておく必要があります。

概要

アドレスファミリ識別子(AFI)は、BGPルートの種類を示します。たとえば、IPv4の場合は1、IPv6の場合は2です。

後続のアドレスファミリ識別子(SAFI)は、ルートの種類をさらに示します。たとえば、ラベルのないルートの場合は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 「Carling Label Information in BGP-4」と呼ばれることがよくあります。

Uはラベルなしユニキャストを指し、SAFI 1とLUはラベル付きユニキャストを指し、SAFI 4を指します。

Cisco IOS® XRでは「allocate-label all| route-policy ...」が必要です。そうしないと、ルートが発信されず、SAFI 4として次のBGPスピーカに伝搬されません。

1つのBGPセッションでのIPv4/v6ユニキャストとラベル付きユニキャストの両方は、Cisco IOS® XRではサポートされていません。

Cisco IOS® XRでは、1つのBGPセッションでラベル付けされていないBGPセッションとラベル付けされたBGPセッションの両方のサポートが6.2.1で行われました。

一方のセッションで両方を実行することはサポートされていない場合は、別のSAFIで受信された場合でも、最後に受信した更新/撤回が前のセッションを上書きするため、問題が発生します。

IOS-XR 6.2.1より前のIOS-XRコードを実行しているルータで、SAFI 1と4の両方を同じBGPセッションに設定すると、ルータは次の警告を表示します。

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 neighborコマンドで「address-family ipv4 unicast」を設定し、BGPセッションのipv4ユニキャストを有効にします。

BGP neighborコマンドで「address-family ipv6 unicast」を設定し、BGPセッションのipv6ユニキャストを有効にします。

BGP neighborコマンドで「address-family ipv4 labeled-unicast」を設定し、BGPセッションに対してipv4ラベル付きユニキャストを有効にします。

BGP neighborコマンドで「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の下には「address family unicast」のみが存在し、「address-family labeled-unicast」は存在しないことに注意してください。SAFI 1と4の両方のパスがこの1つのBGPテーブルに保存されます。

BGPテーブル

IOS-XRが6.2.1より古いか新しいかにかかわらず、UルートとLUルートを保存するBGPテーブルは1つだけです。これは、router bgpの下で「address-family ipv4 unicast」または「address-family ipv6 unicast」を設定（有効）できるということからわかります。router bgpでは、「address-family ipv4 labeled-unicast」または「address-family ipv6 labeled-unicast」を設定できません。

UパスとLUパスは同じにすることができます。IOS-XR 6.2.1より前は、同じパスを再び受信していますが、今回はラベル付きまたはラベルなしの場合、以前に受信したパスは上書きされます。IOS-XR 6.2.1以降、2つの同一のパスがラベルによって異なる場合は、それらのパスが異なっていると見なされます。パスの追加、削除、または変更は、さまざまなSAFIによって実行されます。

AFI 1/SAFI 4を使用したBGPテーブルのルートの例を次に示します。ラベル割り当てはすべてのプレフィックスに対して有効であるため、このパスはローカルラベルで保存されます。UルートとLUルートを保存するBGPテーブルは1つだけなので、プレフィックスは「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で導入されました。ラベル付けとラベルなし機能が同じBGPセッションでサポートされているため、IOS-XRリリース6.2.1では警告が削除されています。

例：

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ラベルユニキャスト、またはIPv6ユニキャストとIPv6ラベルユニキャストアドレスファミリの両方を設定したことを示します。この特定の設定はサポートされていません。

推奨処置：ルータへの2つのネイバーセッションを設定します。最初のネイバーセッションでユニキャストアドレスファミリを設定し、2番目のネイバーセッションでlabeled-unicast address-familyを設定します。

IOS-XRルータのペア間の2つの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と外部BGPのいずれであるかは問題ではありません。

同じセッションのUおよびLUは、デフォルト以外のVRFのBGPスピーカではサポートされません。

アップデートグループ

IOS-XR 6.2.1より前では、すべてのU、LU、およびU + LUのBGPスピーカは、個別のアップデートグループに保持されていました。IOS-XRリリース6.2.1以降では、これは該当しません。1つのアップデートグループ内の一部のBGPスピーカは、Uのみ、またはLUのみ、またはUとLUの両方にすることができます。

ルート伝播

次の表に、さまざまなシナリオのアドバタイズメントとウィズドロウの動作を示します。16のシナリオがあります。

IOS-XRバージョン6.2.1以降に適用されます(特にコメント列に特定がない限り)。

大文字と小文字を区別する

Bestpath/Addpathタイプ

ローカルラベルが存在しますか？

NHSまたはNHU

アップデートグループSAFI

広告を出す、または撤回する

注

1

ラベルなしパス（rxラベルなし）

Yes

NHS

SAFI-1

デフォルトでアドバタイズ

～で撤退する advertise local-labeled-route (safi-unicast) disableコマンド

6.5.1以降でのみ可能です。

0

SAFI-4

ADVERTISE

6.5.1以降でのみ可能です。

IPv4/v6再配布ルートおよび6PE:暗黙のNHSは常に

3

NHU

SAFI-1

ADVERTISE

6.5.1以降でのみ可能です。

4

SAFI-4

撤回

6.5.1以降でのみ可能です。

IPv4/v6再配布ルートおよび6PE:NHUは無視されます。暗黙のNHSは常に

5

No

NHS

SAFI-1

ADVERTISE

6

SAFI-4

撤回

7

NHU

SAFI-1

ADVERTISE

8

SAFI-4

撤回

9 ミリ秒

ラベル付きパス（rxラベル付き）

Yes

NHS

SAFI-1

デフォルトでアドバタイズ

advertise local-labeled-route (safi-unicast) disableコマンドを使用して取り下げ

6.2.1より前：デフォルトの動作は[Advertise]です。

10

SAFI-4

ADVERTISE

11

NHU

SAFI-1

撤回

6.2.1より前： 動作はアドバタイズすることです。

12

SAFI-4

ADVERTISE

13

No

NHS

SAFI-1

ADVERTISE

14

SAFI-4

撤回

15

NHU

SAFI-1

撤回

6.2.1より前： 動作はアドバタイズすることです。

16

SAFI-4

ADVERTISE

表1 iBGPおよびeBGPセッションのアドバタイズメント動作

NHS = Next Hop Self

NHU = Next Hop Unchanged。

NHUが有効な場合、これはネクストホップselfがiBGPセッション用に設定されていないことを意味します。

BGPスピーカがeBGPピアに送信する場合は、常にNHSが該当することに注意してください。

next-hop-selfの設定によっては、iBGPスピーカに対してNHSまたはNHUが存在する場合があります。iBGPピアに対するデフォルトの動作はNHUです。

2列目：ベストパスまたはadd-pathでマークされたパスの1つがラベル付けされていない場合またはラベル付けされていない場合にのみ、パスはラベル付けされていないものと見なされます。

ルート伝播では、最適パスの特性が重要です。特性（列2 ～ 4）に応じて、パスがU、LU、またはその両方としてアドバタイズされるかどうかが決定されます。

機能Additional Paths (ADD-PATH)が有効で、パスに「add-path」というマークが付いている場合、そのパスの特性は、そのパスのアドバタイズ方法も果たします。

「ローカルラベルがありますか？:No」は、次のことを意味します。受信したアップデートでラベルが受信されても、ラベルがインストールされていない可能性があります。コマンド"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.

ローカルラベルの割り当て

ラベルなしパスのラベルの割り当て

デフォルトでは、「allocate-label」コマンドが設定されている場合でも、ラベルなしパス(SAFI 1)にはラベルが付きません。

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

パスはSAFI 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のケース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ではなく、少なくとも1つの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セッションで受信されても、ローカルラベルが割り当てられていない場合でも、NHSが実行されても、ルートは別のLUセッションではアドバタイズされません。表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でaddress-family unicastにコマンド「allocate-label」を使用していないことが原因である可能性があります。

ルータがBGPルートのローカルラベルを削除するには、「allocate-label」コマンドを削除するときに、プロセスBGPを再起動する必要があります。

表1の新しいadvertise local-labeled-routeコマンドは、ローカルラベルを持つルートをSAFI-1経由でラベルなしルートとしてアドバタイズしないことを示す新しいコマンドです。

このコマンドは次のとおりです。

advertise local-labeled-route [disable]

このコマンドは、neighbor address-familyの下で設定します。このコマンドの機能は、ローカルラベルを持つIPv4/v6ルートをIPv4/v6ユニキャスト(SAFI 1)経由でBGPネイバーにアドバタイズするかどうかを示すことです。

デフォルトの動作では、ローカルラベルを使用してルートをアドバタイズします。

新しいコマンドは、次のように設定することもできます。

advertise local-labeled-route safi-unicast [disable]

このコマンドは、BGPセクションのaf-groupで設定されます。この機能は上記と同じで、すべてのBGPネイバーに適用されます。

デフォルトの動作では、ローカルラベルを使用してルートをアドバタイズします。

BGPスピーカーがローカルラベル付きルートのアドバタイズメントを許可するか否かを示すアドレスファミリIPv4 Unicastの下のshow bgp neighborコマンドには、「Advertise routes with local-label via Unicast SAFI」または「Do not advertise routes with local-label via Unicast SAFI」という」という」という付付付というという行行ががあります。

デフォルト動作の例：

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があるかどうかに関係なく行われます。したがって、1つのBGPセッションがSAFI 1と4で、プレフィックスが両方のアドレスファミリで受信された場合、ベストパスの計算では、すべての属性が同じであるため、1つがベストパスとして選択されます。すべてのBGPアトリビュートがUパスとLUパスの間で同じ場合、最後に受信したパスがベストパスになります。

SAFI 1とSAFI 4のパスが異なるBGPピアから受信される場合、BGPに至るパスには常に同じベストパスを2つのパスから常に選択する違いがあります。この場合、すべての属性が同じであっても、ネイバーアドレスは異なります。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パスが最適です。

ラベルのないパスよりもラベル付けされたパスを優先する新しいコマンドはありません。RPLは、address-family unicastまたはlabeled-unicastでBGPネイバーの下に設定できます。

BGPの動作の確認

IOS-XRでBGPアップデートの伝播をデバッグするには、次のdebugコマンドをオンにします。debug bgp update <BGP neighbor> in | out。

これにより、そのBGPスピーカとの間の着信または発信BGPアップデートが表示されます。アドレスファミリは、ラベルなしIPv4ユニキャスト(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」コマンドを使用します。

例：

add-pathが有効であるため（2つのパスが異なる）、R4は10.100.1.1/32をネイバー10.100.1.7に2回アドバタイズします。

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またはシームレスMPLSでは、エリア境界ルータ(ABR)はルートリフレクタとして機能しますが、iBGPルートのネクストホップでもあります。ABRは、ラベル付きトラフィックの転送パスにあります。ABRには、next-hop-selfの明示的な設定が必要です。

回避策

- 1つのBGPセッションでUおよびLUがサポートされていない場合の回避策は、ルータのペア間に2つの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パスは、2つの異なる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