概要
このドキュメントでは、Catalyst 9000シリーズスイッチのEVPNおよびMVPNアドレスファミリにおけるBGPダイナミックネイバーのEVPN簡素化CLIについて説明します。
前提条件
要件
次の項目に関する知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づいています。
- Catalyst 9300
- Catalyst 9400
- Catalyst 9500
- Catalyst 9600
- Cisco IOS® XE 17.11.1以降
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
EVPNの導入には、多くのピアとのBGPネイバーシップが含まれ、多くの場合は同じサブネット内に存在します。BGPダイナミックネイバー(DN)機能の導入前は、少なくとも255の設定行が必要であり、/24サブネット内のすべてのピアとのBGPセッションを確立するために維持されます。BGP DNを使用すると、これは3行だけで実現できます。静的ネイバー設定と動的ネイバー設定の機能的な唯一の違いは、静的ネイバー設定では他のBGPピアとの接続が受動的にしか作成されないことです。したがって、この機能はピアの1つによってのみ設定できます。
サブネット範囲内の多数のピアをグループ化する機能は、導入を実現するうえで必要でないとしても非常に望ましいものであり、IPv4、IPv6、およびVRFアドレスファミリですでに広く採用されています。この機能は、多数のリーフが同じサブネットに存在するスパインリーフトポロジでの広範で複雑な設定の書き込みとメンテナンスを回避できるため、他のアドレスファミリ、特にEVPNに適しています。
注:この機能では、新しいCLIは導入されません。以前はサポートされていなかったアドレスファミリの下で、「bgp listen range」が設定されたピアグループをアクティブにできます。
用語
DN |
ダイナミックネイバー |
BGPが接続試行をリッスンしてネイバーを形成するパッシブモード |
AF |
アドレスファミリ |
BGPが処理するプレフィックスとルーティング情報のタイプを定義します。 |
AS |
自律システム |
ネットワークまたはネットワークの集合に属する一連のインターネットでルーティング可能なIPプレフィクス。1つのエンティティまたは組織によってすべて管理、制御、監視されます。 |
EVPN |
イーサネット仮想プライベートネットワーク |
BGPがレイヤ2 MACおよびレイヤ3 IP情報を転送できるようにする拡張機能はEVPNであり、 は、VXLANオーバーレイネットワークに関連する到達可能性情報を配信するプロトコルとして、Multi-Protocol Border Gateway Protocol(MP-BGP)を使用します。 |
MVPN |
マルチキャスト 仮想プライベートネットワーク |
マルチキャストVPN(MVPN)機能により、レイヤ3バーチャルプライベートネットワーク(VPN)上でマルチキャストをサポートできます |
VXLAN |
仮想拡張LAN(ローカルエリアネットワーク) |
VXLANは、VLANとSTPに固有の制限を克服するように設計されています。これは、VLANと同じイーサネットレイヤ2ネットワークサービスを提供するIETF標準[RFC 7348]として提案されたものですが、柔軟性が高くなっています。機能的には、レイヤ3アンダーレイネットワーク上で仮想オーバーレイとして動作するMAC-in-UDPカプセル化プロトコルです。 |
設定
ネットワーク図
アンダーレイ(OSPF)
オーバーレイ(BGP)
スパイン–01
Spine-01#sh run | section r b
router bgp 65001
bgp router-id 172.16.255.1
bgp log-neighbor-changes
bgp listen range 172.16.255.0/29 peer-group DN-GROUP <-- Listen for connections from peers in this subnet
bgp listen block 172.16.255.2 <-- Excluded peer RR from DN subnet range to allow static peer
bgp listen limit 4 <-- Limit the number of peerings allowed
no bgp default ipv4-unicast
neighbor DN-GROUP peer-group
neighbor DN-GROUP remote-as 65001 <-- Peers only allowed in this AS
neighbor DN-GROUP update-source Loopback0
neighbor 172.16.255.2 remote-as 65001 <-- Static Neighbor config
neighbor 172.16.255.2 update-source Loopback0 <-- Static Neighbor config
!
address-family ipv4
exit-address-family
!
address-family ipv4 mvpn
neighbor DN-GROUP activate <--- Dynamic peer group must be activated in MVPN AF
neighbor DN-GROUP send-community both
neighbor DN-GROUP route-reflector-client
neighbor 172.16.255.2 activate <--- Static peering activation in MVPN AF
neighbor 172.16.255.2 send-community extended
exit-address-family
!
address-family l2vpn evpn
neighbor DN-GROUP activate <--- Dynamic peer group must be activated in EVPN AF
neighbor DN-GROUP send-community both
neighbor DN-GROUP route-reflector-client
neighbor 172.16.255.2 activate <-- Static peering activation in EVPN AF
neighbor 172.16.255.2 send-community extended
exit-address-family
注:同じピアグループの一部としてスタティックネイバーとダイナミックネイバーを設定できますが、スタティックネイバーは個別にアクティブにする必要があります。
ヒント:ピアの数は、予期しないピアの発生を防ぐために想定されるネイバー数に制限することをお勧めします。サブネット範囲とリスニング制限の両方をできる限り厳密に設定します。
リーフ–01
Leaf-01#show run | sec r bgp
router bgp 65001
bgp router-id 172.16.255.3
bgp log-neighbor-changes
no bgp default ipv4-unicast
neighbor 172.16.255.1 remote-as 65001
neighbor 172.16.255.1 update-source Loopback0
neighbor 172.16.255.2 remote-as 65001
neighbor 172.16.255.2 update-source Loopback0
!
address-family ipv4
exit-address-family
!
address-family ipv4 mvpn
neighbor 172.16.255.1 activate <-- Route Reflector 1
neighbor 172.16.255.1 send-community both
neighbor 172.16.255.2 activate <-- Route Reflector 2
neighbor 172.16.255.2 send-community both
exit-address-family
!
address-family l2vpn evpn
neighbor 172.16.255.1 activate <-- Route Reflector 2
neighbor 172.16.255.1 send-community both
neighbor 172.16.255.2 activate <-- Route Reflector 2
neighbor 172.16.255.2 send-community both
exit-address-family
注:他のスパインルートリフレクタとVTEPの設定は同じであるため、このセクションでは繰り返しません
注:DNを使用するRRをピアにするには、スタティック設定を使用する必要があります。これらはパッシブモードであり、互いに対するOPENメッセージは生成しません
オプション設定
代替AS
AS番号がリストされた指定のサブネット内のピアとのBGPセッションの確立を許可します(最大5つの代替eBGP ASが合計6つのASでサポートされます)。
Spine-01#show run | section r b
router bgp 65001
bgp listen range 172.16.255.0/29 peer-group DN-GROUP
bgp listen limit 20
neighbor DN-GROUP peer-group
neighbor DN-GROUP remote-as 1 alternate-as 2 3 4 5 6<-- Allow peering with more than one AS
neighbor DN-GROUP update-source Loopback0
注:これは、大規模なEVPNのユースケース(ダイナミックネイバーピアグループごとに1000ものリモートASが必要になる可能性がある)に対する十分な代替手段ではない可能性があります。今後のリリースでは、このような展開に対応するために、この制限を増やす予定です。
確認
スパイン(RR)
BGPリスナーであるスパインがダイナミックピアを形成したことを確認します
- Spine-02も同じように見えるため、この出力例ではSpine-01だけが表示されています
Spine-01#show ip bgp all summary
For address family: L2VPN E-VPN <-- Address Family type EVPN
BGP router identifier 172.16.255.1, local AS number 65001
BGP table version is 64, main routing table version 64
19 network entries using 7296 bytes of memory
24 path entries using 5568 bytes of memory
13/10 BGP path/bestpath attribute entries using 3848 bytes of memory
13 BGP extended community entries using 1670 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 18382 total bytes of memory
BGP activity 22/3 prefixes, 56/32 paths, scan interval 60 secs
19 networks peaked at 19:07:48 May 10 2023 UTC (00:48:59.007 ago)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
*172.16.255.3 4 65001 286 328 64 0 0 04:05:53 9
*172.16.255.4 4 65001 309 340 64 0 0 04:05:53 13
*172.16.255.5 4 65001 276 315 64 0 0 04:05:43 1
*172.16.255.6 4 65001 276 313 64 0 0 04:05:53 1
* Dynamically created based on a listen range command
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
Dynamically created neighbors: 4, Subnet ranges: 1
BGP peergroup DN-GROUP listen range group members:
172.16.255.0/29 <-- Peering subnet configured
For address family: MVPNv4 Unicast <-- Address Family type MVPN
BGP router identifier 172.16.255.1, local AS number 65001
BGP table version is 1, main routing table version 1
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
*172.16.255.3 4 65001 286 328 1 0 0 04:05:53 0
*172.16.255.4 4 65001 309 340 1 0 0 04:05:54 0
*172.16.255.5 4 65001 276 315 1 0 0 04:05:43 0
*172.16.255.6 4 65001 276 313 1 0 0 04:05:53 0
* Dynamically created based on a listen range command
Dynamically created neighbors: 4, Subnet ranges: 1
BGP peergroup DN-GROUP listen range group members:
172.16.255.0/29 <-- Peering subnet configured
Total dynamically created neighbors: 4/(4 max), Subnet ranges: 1 <-- 4 total neighbors from the max of 4
注:AF単位のBGPコマンドを使用すると、単一のAFの情報のみを表示できます。
- show bgp l2vpn evpn summary
- show ip bgp ipv4 mvpn allの要約
Spine-01(RR)TCPポートを確認します。
- スパインはパッシブであるため、そのローカルポートは常に固定BGPポート179です。一方、VTEPは一時的なポートを示します
- 172.16.255.1 > 172.16.255.2はスタティックピアとして定義されていますが、このRRはOPEN so usedポート179も受信していました
Spine-01#show tcp brief
TCB Local Address Foreign Address (state)
72632453A5C0 172.16.255.1.179 172.16.255.5.15285 ESTAB <-- Dynamic peer (Leaf-03)
7263245C73C0 172.16.255.1.179 172.16.255.6.52693 ESTAB <-- Dynamic peer (Border Leaf)
7263245B3D30 172.16.255.1.179 172.16.255.4.44091 ESTAB <-- Dynamic peer (Leaf-02)
7263272DE460 172.16.254.1.22430 172.16.254.2.639 ESTAB <-- MSDP peer (Spine-02)
7263246DD3A8 172.16.255.1.179 172.16.255.2.21866 ESTAB <-- Static Peer (Spine-02 RR)
7263245BDAC0 172.16.255.1.179 172.16.255.3.31383 ESTAB <-- Dynamic peer (Leaf-01)
トラブルシュート
DNピアリング
ピアグループがL2VPN EVPNアドレスファミリの下に追加されている場合、ピアグループが別のAFの下でアクティブ化されていると、そのピアグループは有効になりません。
- この場合、ピアグループはMVPNに存在し、EVPNでアクティブ化されます。
- EVPNネイバーは、ハードクリアが実行されるまで形成されません。
Spine-01(config)#router bgp 65001
Spine-01(config-router)#address-family l2vpn evpn
Spine-01(config-router-af)#neighbor DN-GROUP activate
Spine-01(config-router-af)#end
% BGP: Dynamic peergroup DN-GROUP does not reset session by default and requires manual reset if this peer-group is also activated under another address-family
Spine-01#sh bgp l2vpn evpn summary
<--- Neighbor info missing
BGP peergroup DN-GROUP listen range group members:
172.16.255.0/29
Total dynamically created neighbors: 4/(4 max), Subnet ranges: 1
Spine-01#clear ip bgp * <-- Hard clear
%BGP-3-NOTIFICATION_MANY: sent to 5 sessions 6/4 (Administrative Reset) for all peers <-- Resetting all peers
%BGP_SESSION-5-ADJCHANGE: neighbor *172.16.255.3 MVPNv4 Unicast topology base removed from session Neighbor deleted
%BGP-5-ADJCHANGE: neighbor *172.16.255.3 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor *172.16.255.4 MVPNv4 Unicast topology base removed from session Neighbor deleted
%BGP-5-ADJCHANGE: neighbor *172.16.255.4 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor *172.16.255.5 MVPNv4 Unicast topology base removed from session Neighbor deleted
%BGP-5-ADJCHANGE: neighbor *172.16.255.5 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor *172.16.255.6 MVPNv4 Unicast topology base removed from session Neighbor deleted
%BGP-5-ADJCHANGE: neighbor *172.16.255.6 Down User reset
%BGP-5-ADJCHANGE: neighbor 172.16.255.2 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor 172.16.255.2 MVPNv4 Unicast topology base removed from session User reset
%BGP-5-ADJCHANGE: neighbor *172.16.255.3 Up <-- Peers coming back up for both MVPN and EVPN
%BGP-5-ADJCHANGE: neighbor *172.16.255.5 Up
%BGP-5-ADJCHANGE: neighbor *172.16.255.4 Up
%BGP-5-ADJCHANGE: neighbor *172.16.255.6 Up
Spine-01#sh bgp l2vpn evpn all summary
BGP router identifier 172.16.255.1, local AS number 65001
BGP table version is 61, main routing table version 61
41 network entries using 15744 bytes of memory
48 path entries using 11136 bytes of memory
25/22 BGP path/bestpath attribute entries using 7400 bytes of memory
20 BGP extended community entries using 2120 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 36400 total bytes of memory
BGP activity 145/104 prefixes, 22148/22100 paths, scan interval 60 secs
41 networks peaked at 21:07:01 May 11 2023 UTC (4d21h ago)
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
*172.16.255.3 4 65001 26 12 61 0 0 00:05:03 16 <-- Dynamic Peers now show up in EVPN (* = dynamically created)
*172.16.255.4 4 65001 27 10 61 0 0 00:05:08 19
*172.16.255.5 4 65001 14 12 61 0 0 00:05:05 6
*172.16.255.6 4 65001 17 10 61 0 0 00:05:10 7
* Dynamically created based on a listen range command
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
Dynamically created neighbors: 4, Subnet ranges: 1
BGP peergroup DN-GROUP listen range group members:
172.16.255.0/29
Total dynamically created neighbors: 4/(4 max), Subnet ranges: 1
注:設定の変更を有効にするには、ネイバーのハードクリアが必要です。これは、BGPダイナミックネイバーをサポートするアドレスファミリの現在の動作と一致しています。
DNのデバッグ
ダイナミックピアに問題がある場合は、デバッグを使用して問題の詳細を確認できます
Spine-01#debug bgp all range detail
Spine-01#sh debugging
IP routing:
BGP dynamic range debugging is on with detail (Dynamic neighbor details only) <-- Only debug DN type neighbors
Spine-01(config)#router bgp 65001
Spine-01(config-router)# address-family l2vpn evpn
Spine-01(config-router-af)# neighbor DN-GROUP activate
% BGP: Dynamic peergroup DN-GROUP does not reset session by default and requires manual reset if this peer-group is also activated under another address-family
*May 16 18:29:53.744: BGP:DN: Peergroup DN-GROUP is activated for Dynamic Neighbors for L2VPN E-VPN <-- Debug event
Spine-01#clear ip bgp *
*May 16 18:31:34.806: %BGP-3-NOTIFICATION_MANY: sent to 5 sessions 6/4 (Administrative Reset) for all peers
*May 16 18:31:34.806: BGP:DN: free: *172.16.255.3
*May 16 18:31:34.806: BGP:DN: free: *172.16.255.4
*May 16 18:31:34.806: BGP:DN: free: *172.16.255.5
*May 16 18:31:34.807: BGP:DN: free: *172.16.255.6
*May 16 18:31:43.855: BGP:DN: validating TCP SYN from 172.16.255.5: in range 172.16.255.0/29, val =0, peer-group = DN-GROUP <-- Validate a TCP SYN from peer (in DN Range?)
*May 16 18:31:43.856: BGP: 172.16.255.5 passive open to 172.16.255.1
*May 16 18:31:43.856: BGP:DN: passive open ACCEPT - TCP session : tcb=0x7263248098B8,context 0x726317305E20, ctx_group name 172.16.255.0/29, tcb->foreign=172.16.255.5, magic_cookie=0xFEEDFACE <-- Accept BGP OPEN
*May 16 18:31:43.856: BGP:DN: group->prefix_length=24, group->prefix=172.16.255.0
*May 16 18:31:43.856: BGP:DN: 172.16.255.5 get_rc_shim_transport_group: range group =172.16.255.0/29, group address = 0x726317305E20
*May 16 18:31:43.856: BGP:DN: init dynamic neighbor for peergroup DN-GROUP in L2VPN Evpn
*May 16 18:31:43.856: BGP:DN: Created a new neighbor *172.16.255.5 in range 172.16.255.0/29, peer-group DN-GROUP, count= 0 <-- Create this neighborship
*May 16 18:31:43.856: BGP:DN: accepted: nbr *172.16.255.5/7263245A3508 peer-grp: DN-GROUP/726317306460 <-- Peering is completed
注:他の3つのピアのデバッグ結果は同じであるため、ここでは示しません。
静的ネイバー
ネイバーが以前にダイナミックに作成されている場合、そのネイバーをスタティックに変換することはできません。
Spine-01(config-router)#neighbor 172.16.255.3 remote-as 65001
% Cannot configure for dynamically created neighbor
ルータのBGPモードでこのコマンドを使用すると、DN範囲内のネイバーを除外できます。これにより、DNサブネット範囲でスタティックピアとダイナミックピアを混在させることができます
router bgp 65001
bgp listen block 172.16.255.3
関連情報