我维护了两个交叉连接的交换机 R1 和 R2,它们都与外部交换机 R3 相连。R1 和 R2 都使用 eBGP 接收到 R3 后面的各个子网的路由。此外,R1 和 R2 使用 iBGP 在彼此之间交换路由。R1 和 R2 之间的交叉连接比 R3 的链路大得多,如果流量路由适当,就有足够的流量完全利用到 R3 的两条链路。
我想使用 ECMP 来划分 R1->R3 流量,使其一部分直接跟随 R1->R3,一部分跟随 R1->R2->R3。我希望 R2->R3 流量被类似地划分。
R1 和 R2 是 Cisco NX-OS 交换机。R1 可以看到到 192.168.240.0/24(在 R3 后面)的两条潜在路径,并正确确定一条是通过 eBGP 接收的,一条是通过 iBGP 接收的。
R1# show ip bgp vrf vrf-100
BGP routing table information for VRF vrf-100, address family IPv4 Unicast
BGP table version is 49, Local Router ID is 10.10.100.2
Status: s-suppressed, x-deleted, S-stale, d-dampened, h-history, *-valid, >-best
Path type: i-internal, e-external, c-confed, l-local, a-aggregate, r-redist, I-injected
Origin codes: i - IGP, e - EGP, ? - incomplete, | - multipath, & - backup, 2 - best2
Network Next Hop Metric LocPrf Weight Path
* i10.10.100.0/24 10.10.100.3 100 0 i
*>l 0.0.0.0 100 32768 i
* i192.168.240.0/24 10.10.100.3 100 0 YYYYY i
*>e 169.254.159.2 0 YYYYY i
我尝试将最大路径设置为 2,但 Cisco NX-OS 交换机(据我所知,大多数/所有交换机)并不认为这样的路径是相等的。eBGP 路径始终优先于 iBGP 路径,并且 ECMP 不会将两者都安装在路由表中。
R1# show run bgp
router bgp XXXXX
vrf vrf-100
address-family ipv4 unicast
network 10.10.100.0/24
maximum-paths 2
neighbor 10.10.100.3
remote-as XXXXX
password 3 b6d56a77617af8e3
address-family ipv4 unicast
neighbor 169.254.159.2
remote-as YYYYY
password 3 b6d56a77617af8e3
address-family ipv4 unicast
我尝试使用“混合最大路径”,因为我的理解是这将允许 eBGP 和 iBGP 路径被视为相等。
R1# show run bgp
router bgp XXXXX
vrf vrf-100
address-family ipv4 unicast
network 10.10.100.0/24
maximum-paths mixed 2
neighbor 10.10.100.3
remote-as XXXXX
password 3 b6d56a77617af8e3
address-family ipv4 unicast
neighbor 169.254.159.2
remote-as YYYYY
password 3 b6d56a77617af8e3
address-family ipv4 unicast
在这两种情况下,路由表中都只安装了 eBGP 路由。
R1# show ip route vrf vrf-100
IP Route Table for VRF "vrf-100"
'*' denotes best ucast next-hop
'**' denotes best mcast next-hop
'[x/y]' denotes [preference/metric]
'%<string>' in via output denotes VRF <string>
10.10.100.0/24, ubest/mbest: 1/0, attached
*via 10.10.100.2, Vlan100, [0/0], 6w2d, direct
10.10.100.1/32, ubest/mbest: 1/0, attached
*via 10.10.100.1, Vlan100, [0/0], 6w2d, vrrp_engine
10.10.100.2/32, ubest/mbest: 1/0, attached
*via 10.10.100.2, Vlan100, [0/0], 6w2d, local
169.254.159.0/30, ubest/mbest: 1/0, attached
*via 169.254.159.1, Po2.100, [0/0], 1w5d, direct
169.254.159.1/32, ubest/mbest: 1/0, attached
*via 169.254.159.1, Po2.100, [0/0], 1w5d, local
192.168.240.0/24, ubest/mbest: 1/0, all-best (0x0)
*via 169.254.159.2, [20/0], 00:31:48, bgp-XXXXXX, external, tag YYYYYY
我该怎么做:
- 说服 R1 通过 eBGP 和 iBGP 路由的组合使用多路径,或
- 改变我正在做的事情以允许通过其他机制进行多路径?
