この製品のドキュメントセットは、偏向のない言語を使用するように配慮されています。このドキュメントセットでの偏向のない言語とは、年齢、障害、性別、人種的アイデンティティ、民族的アイデンティティ、性的指向、社会経済的地位、およびインターセクショナリティに基づく差別を意味しない言語として定義されています。製品ソフトウェアのユーザインターフェイスにハードコードされている言語、RFP のドキュメントに基づいて使用されている言語、または参照されているサードパーティ製品で使用されている言語によりドキュメントに例外が存在する場合があります。シスコのインクルーシブ ランゲージの取り組みの詳細は、こちらをご覧ください。
シスコは世界中のユーザにそれぞれの言語でサポート コンテンツを提供するために、機械と人による翻訳を組み合わせて、本ドキュメントを翻訳しています。ただし、最高度の機械翻訳であっても、専門家による翻訳のような正確性は確保されません。シスコは、これら翻訳の正確性について法的責任を負いません。原典である英語版(リンクからアクセス可能)もあわせて参照することを推奨します。
このドキュメントでは、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
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テーブルに保存されます。
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の古い実装では、同じ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ネイバーの下に設定できます。
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
表1のルールが適用されます。Unified MPLSまたはシームレスMPLSでは、エリア境界ルータ(ABR)はルートリフレクタとして機能しますが、iBGPルートのネクストホップでもあります。ABRは、ラベル付きトラフィックの転送パスにあります。ABRには、next-hop-selfの明示的な設定が必要です。
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