はじめに
このドキュメントでは、EIGRPおよびeBGPを介して同じルートを受信する場合のACIリーフスイッチのルーティング動作について説明します。
前提条件
読者は、ルーティングプロトコル(EIGRPおよびBGP)とともに、ACIのコンポーネント、用語、および動作を十分に理解している必要があります。
セットアップとトポロジ
- このセットアップは、次のように接続された2つの異なるACIファブリックを使用して行われました。
- 両方のDCボーダーリーフスイッチ(BGP)間の直接リンク。
- WANネットワーク(EIGRP)経由で拡張。SW1とSW2はWANスイッチです。
2. 192.168.10.0/24は、Fabric-1で接続され、eBGPとEIGRPを介してFabric-2にアドバタイズされる内部ACIサブネットです。
問題の説明
ファブリック2ボーダーリーフスイッチは、EIGRPおよびeBGPを介して同じルートを受信しており、eBGPルートは期待どおりにスイッチのルーティングテーブルにインストールされます。eBGPセッションがダウンすると、EIGRPルートがスイッチのルーティングテーブルにインストールされます。eBGPがアップしても、スイッチはEIGRPルートを保持します。eBGPのAD値[ 20 ]はEIGRP [ 90 ]よりも小さいため、eBGPセッションが起動するとすぐにeBGPルートがルーティングテーブルにインストールされる必要があることが想定されます。
問題の概要
- Fabric-1およびFabric-2のデータセンターは、WANネットワーク(EIGRP)を介して接続され、eBGPを実行している両方のサイトのBLスイッチ間で直接リンクされています。
- ファブリック1境界リーフスイッチが、eBGPとEIGRPを介してサブネット192.168.10.0/24をファブリック2にアドバタイズしています。
- 両方のL3Outは同じVRFにあります。
- BGPルートは、AD値に基づいてファブリック2ボーダーリーフスイッチのルーティングテーブルにインストールされます。
- Fabric-1とFabric-2の両方の間のeBGPセッションがダウンすると、予想されるFabric-2_BLスイッチのルーティングテーブルにEIGRPルートがインストールされます。
- eBGPが起動すると、eBGPルートが再インストールされ、EIGRPルートがルーティングテーブルから削除されるはずですが、この処理は実行されないものと想定されます。
- ファブリック2境界リーフスイッチは、代わりにEIGRPルートをルーティングテーブルに保持します。
トラブルシューティングと確認
- Fabric-1とFabric-2のボーダーリーフスイッチ間のeBGPネイバーシップを確認します。
Fabric-2_BL# show bgp sessions vrf snTn:snTn_VRF
Total peers 3, established peers 3
ASN 100
VRF snTn:snTn_VRF, local ASN 100
peers 1, established peers 1, local router-id 172.16.2.100
State: I-Idle, A-Active, O-Open, E-Established, C-Closing, S-Shutdown
Neighbor ASN Flaps LastUpDn|LastRead|LastWrit St Port(L/R) Notif(S/R)
10.10.10.3 65001 2 1d23h |never |never E 179/26051 45/6
- Fabric-2でEIGRPネイバーシップを確認します。
Fabric-2_BL# show ip eigrp neighbors vrf snTn:snTn_VRF
EIGRP neighbors for process 500 VRF snTn:snTn_VRF
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.10.20.3 vlan7 13 2d00h 1 50 0 8
SW-2# show ip eigrp neighbors VRF default
IP-EIGRP neighbors for process 500 VRF default
H Address Interface Hold Uptime SRTT RTO Q Seq
(sec) (ms) Cnt Num
0 10.10.20.2 Vlan776 14 2d00h 6 50 0 9
- 最初に、BGPルートがルーティングテーブルにインストールされ、同じルートがファブリック2ボーダーリーフスイッチのEIGRPトポロジテーブルに存在します。
Fabric-2_BL# show ip route 192.168.10.0/24 vrf snTn:snTn_VRF
IP Route Table for VRF "snTn:snTn_VRF"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
192.168.10.0/24, ubest/mbest: 1/0
*via 10.10.10.3%snTn:snTn_VRF, [20/0], 00:00:17, bgp-100, external, tag 65005
recursive next hop: 10.10.10.3/32%snTn:snTn_VRF
Fabric-2_BL# show ip eigrp topology 192.168.10.0/24 vrf snTn:snTn_VRF
EIGRP (AS 500): VRF: snTn:snTn_VRF , Topology entry for 192.168.10.0/24
State is Passive, Query origin: Local origin, 0 Successor(s), FD is Infinity
Routing Descriptor Blocks:
10.10.20.3(vlan7), from 10.10.20.3
Urib State: in-rib,up-to-date
Composite metric is (128576/128320), Route is Internal
Vector metric:
Minimum bandwidth is 8000000 Kbit
Total delay is 5010 microseconds
Reliability is 255/255
Load is 1/255
Minimum MTU is 1500
Hop count is 1
Internal tag is 0
- EIGRPルートは、Fabric-1とFabric-2の境界リーフスイッチの間のeBGPセッションがダウンすると、Fabric-2境界リーフスイッチのルーティングテーブルにインストールされ、eBGPがアップしてもEIGRPルートを保持します。
Fabric-2_BL# show ip route 192.168.10.0/24 vrf snTn:snTn_VRF
IP Route Table for VRF "snTn:snTn_VRF
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
192.168.10.0/24, ubest/mbest: 1/0
*via 10.10.20.3, vlan7, [90/128576], 2d00h, eigrp-default, internal
- ここでの期待は、eBGPセッションが起動するとすぐに、eBGPルートがルーティングテーブルに再インストールされる必要があることです。ただし、Fabric-2_BLスイッチはEIGRPルートのみを保持します。
EIGRPルートがeBGPルートよりも優先されるのはなぜですか。
- eBGPセッションがダウンすると、Fabric-2_BLスイッチはEIGRPルートをルーティングテーブルにインストールし、それをMP-BGPに再配布して、Fabric-2内の他のサービスリーフスイッチに転送します。
- Fabric-2_BLスイッチはルートを再配送するため、はデフォルトの重み値32768を使用して、そのルートの起点(origin)になります。一方、eBGPから着信するルートは重み0を保持します。
- より高いweightが優先されるため、Fabric-2_BLスイッチは再配布されたルートを最適なルートと見なし、eBGPルートをインストールしません。
- 次に示す出力は、eBGPセッションが復旧した時点のものです。
Fabric-2_BL# show ip bgp 192.168.10.0/24 vrf snTn:snTn_VRF
BGP routing table information for VRF snTn:snTn_VRF, address family IPv4 Unicast
BGP routing table entry for 192.168.10.0/24, version 28 dest ptr 0xa0fe0328
Paths: (2 available, best #1)
Flags: (0x80c0002 00000000) on xmit-list, is not in urib, exported
vpn: version 371, (0x100002) on xmit-list
Multipath: eBGP iBGP
Advertised path-id 1, VPN AF advertised path-id 1
Path type (0xa961d880): redist 0x408 0x1 ref 0 adv path ref 2, path is valid, is best path
AS-Path: NONE, path locally originated
Tx Domain path attribute Flag 0xc0,Code 36, Length 8, segment length 1
domain path: { <1:5345:128>}
0.0.0.0 (metric 0) from 0.0.0.0 (172.16.0.10)
Origin incomplete, MED 128576, localpref 100, weight 32768 tag 0, propagate 0
Extcommunity:
RT:100:2129921
VNID:2129921
COST:pre-bestpath:128:128576
COST:pre-bestpath:162:90
0x8800:32768:0 (Flags = 32768, Tag = 0)
0x8801:500:128256 (ASN = 500, Delay = 128256)
0x8802:65281:320 (Reliability = 255, Hop = 1, Bandwidth = 320)
0x8803:1:1500 (Reserve = 0, Load = 1, MTU = 1500)
0x8804:0:0 (Remote ASN = 0, Remote ID = 0)
0x8805:0:0 (Remote Prot = 0, Remote Metric = 0)
VPN AF advertised path-id 2
Path type (0xa961e0bc): external 0x28 0x0 ref 0 adv path ref 1, path is valid, not best reason: Weight
AS-Path: 65001 , path sourced external to AS
Source Domain: <1:16:128>
Tx Domain path attribute Flag 0xc0,Code 36, Length 15, segment length 2
domain path: { <1:5345:128>,<1:16:128>}
10.10.10.3 (metric 0) from 10.10.10.3 (172.16.1.100)
Origin IGP, MED not set, localpref 100, weight 0 tag 0, propagate 0
Extcommunity:
RT:100:2129921
VNID:2129921
VRF advertise information:
Path-id 1 not advertised to any peer
VPN AF advertise information:
Path-id 1 advertised to peers:
10.0.152.65 10.0.152.66
Path-id 2 not advertised to any peer
解決方法
この問題を修正するには、次の2つの方法があります。
- LPMはソリューションの1つです。
- EIGRPの下で/23マスクを使用して同じサブネットをアドバタイズし、/24マスクをeBGP経由でアドバタイズして、両方のルートがFabric-2_BLスイッチのルーティングテーブルに存在するようにします。
SW-2# show run interface vlan 776
!Command: show running-config interface Vlan776
!Time: Sun Jun 23 06:30:43 2024
version 7.0(3)I7(5) Bios:version 07.66
interface Vlan776
no shutdown
ip address 10.10.20.3/24
ip router eigrp 500
ip summary-address eigrp 500 192.168.10.0/23 >>>>>> Advertised /23 via EIGRP
Fabric-2_BL# show ip route vrf snTn:snTn_VRF
IP Route Table for VRF "snTn:snTn_VRF"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
192.168.10.0/23, ubest/mbest: 1/0
*via 10.10.20.3, vlan20, [90/128576], 00:24:11, eigrp-default, internal >>>>>>>>> EIGRP Route
192.168.10.0/24, ubest/mbest: 1/0
*via 10.10.10.3%snTn:snTn_VRF, [20/0], 00:04:12, bgp-100, external, tag 65005 >>>>>>>> BGP Route
b.eBGPセッションがダウンしても、EIGRPルートは冗長性のためにルーティングテーブルに残っています。
c. BGPセッションが起動するとすぐに、BGPルートがルーティングテーブルに再インストールされ、トラフィック転送用に優先されます。
- eBGPルートへの重みの適用:
- EIGRPとBGPの両方を介して同じサブネットマスクを持つサブネットをアドバタイズする必要がある場合、eBGPルートに常に優先ルートになるように、より高い重み(32768より大きい)を適用できます。
- ACIに重みを適用する方法:
- ルートマップポリシーを作成します。
テナント----> Policies ----> Route Maps for Route Control (右クリックして新しいポリシーを作成し、必要な詳細情報をすべて入力します)----> 「Set Rule」ポリシーを作成 – > 「Weight」属性ポリシーを選択し、値を入力します
ii. L3Outへのルートマップの適用:
テナント – >ネットワーク – > L3Out ---->論理ノードプロファイル – >ノードプロファイル---->論理インターフェイスプロファイル – >インターフェイスプロファイル – >ピアプロファイル – > 「ルート制御プロファイル」の下の「+」をクリックし、作成した新しいルートマップを選択
Fabric-2_BL# show ip bgp 192.168.10.0/24 vrf snTn:snTn_VRF
BGP routing table information for VRF snTn:snTn_VRF, address family IPv4 Unicast
BGP routing table entry for 192.168.10.0/24, version 61 dest ptr 0xa0fa3f70
Paths: (1 available, best #1)
Flags: (0x80c001a 00000000) on xmit-list, is in urib, is best urib route, is in HW, exported
vpn: version 79, (0x100002) on xmit-list
Multipath: eBGP iBGP
Advertised path-id 1, VPN AF advertised path-id 1
Path type (0xa95a2d5c): external 0x28 0x0 ref 0 adv path ref 2, path is valid, is best path
AS-Path: 65005 65001 , path sourced external to AS
Source Domain: <1:16:128>
Tx Domain path attribute Flag 0xc0,Code 36, Length 15, segment length 2
domain path: { <1:5345:128>,<1:16:128>}
10.10.10.3 (metric 0) from 10.10.10.3 (172.16.0.10)
Origin IGP, MED not set, localpref 100, weight 32769 tag 0, propagate 0
Extcommunity:
RT:100:2129921
VNID:2129921
VRF advertise information:
Path-id 1 not advertised to any peer
VPN AF advertise information:
Path-id 1 advertised to peers:
10.0.152.65 10.0.152.66
c.ここでの問題点は、BGPセッションがアップ状態のときに、BGPテーブルに再配布されたEIGRPルートが表示されないことです。理由は、EIGRP外部ルートのFDが無限に設定されているためです。
Fabric-2_BL# show ip eigrp topology vrf snTn:snTn_VRF
EIGRP Topology Table for AS(500)/ID(172.16.2.100) VRF snTn:snTn_VRF
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 192.168.10.0/24, 0 Successors, FD is Infinity
via 10.10.20.3(128576/128320), vlan20
d. 「FD is Infinity」メッセージは実際には、より低いアドミニストレーティブディスタンスのルートがすでに存在しているためにRIBがルートを拒否したことを示す、EIGRP内のインジケータです。
e. EIGRPルートは、BGPセッションがダウンした場合にのみMP-BGPに再配布され、fabric-2_BLスイッチのルーティングテーブルにインストールされます。
Fabric-2_BL# show ip bgp summary vrf snTn:snTn_VRF
BGP summary information for VRF snTn:snTn_VRF, address family IPv4 Unicast
BGP router identifier 172.16.2.100, local AS number 100
BGP table version is 65, IPv4 Unicast config peers 1, capable peers 0
6 network entries and 6 paths using 1248 bytes of memory
BGP attribute entries [4/704], BGP AS path entries [0/0]
BGP community entries [0/0], BGP clusterlist entries [2/8]
Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd
10.10.10.3 4 65001 18530 18554 0 0 0 00:04:25 Idle
Fabric-2_BL# show ip eigrp topology vrf snTn:snTn_VRF
IP-EIGRP Topology Table for AS(500)/ID(172.16.2.100) VRF snTn:snTn_VRF
Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,
r - reply Status, s - sia Status
P 192.168.10.0/24, 1 successors, FD is 128576
via 10.10.20.3 (128576/128320), Vlan20
Fabric-2_BL# show ip route vrf snTn:snTn_VRF
IP Route Table for VRF "snTn:snTn_VRF"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
192.168.10.0/24, ubest/mbest: 1/0
*via 10.10.20.3, Vlan20, [90/128576], 02:31:52, eigrp-default, internal >>>>>>> EIGRP Route
Fabric-2_BL# show ip bgp 192.168.10.0/24 vrf snTn:snTn_VRF
BGP routing table information for VRF snTn:snTn_VRF, address family IPv4 Unicast
BGP routing table entry for 192.168.10.0/24, version 65 dest ptr 0xa0fa3f70
Paths: (1 available, best #1)
Flags: (0x80c0002 00000000) on xmit-list, is not in urib, exported
vpn: version 83, (0x100002) on xmit-list
Multipath: eBGP iBGP
Advertised path-id 1, VPN AF advertised path-id 1
Path type (0xa95a2c64): redist 0x408 0x1 ref 0 adv path ref 2, path is valid, is best path
AS-Path: NONE, path locally originated
Tx Domain path attribute Flag 0xc0,Code 36, Length 8, segment length 1
domain path: { <1:5345:128>}
0.0.0.0 (metric 0) from 0.0.0.0 (172.16.0.10)
Origin incomplete, MED 128576, localpref 100, weight 32768 tag 0, propagate 0
Extcommunity:
RT:100:2129921
VNID:2129921
COST:pre-bestpath:128:128576
COST:pre-bestpath:162:90
0x8800:32768:0 (Flags = 32768, Tag = 0)
0x8801:500:128256 (ASN = 500, Delay = 128256)
0x8802:65281:320 (Reliability = 255, Hop = 1, Bandwidth = 320)
0x8803:1:1500 (Reserve = 0, Load = 1, MTU = 1500)
0x8804:0:0 (Remote ASN = 0, Remote ID = 0)
0x8805:0:0 (Remote Prot = 0, Remote Metric = 0)
VRF advertise information:
Path-id 1 not advertised to any peer
VPN AF advertise information:
Path-id 1 advertised to peers:
10.0.152.65 10.0.152.66