我维护两个交叉连接的交换机,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是思科NX交换机.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交换机(据我理解,大多数/所有交换机)并不认为路径是这样的。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我怎样才能:
发布于 2020-07-11 14:00:17
想象一下,如果您有以下网络拓扑,R1和R2都配置为您所描述的不等成本多路径类型。
绑定到因特网的数据包可以由R1发送到ISP1,也可以发送到R2。但是R2也有50%的机会将这些数据包从R1发送回R1。有些数据包会在R1和R2之间循环,直到TTL达到零为止。换句话说,您将经历一些目的地的连接中断。
ISP1 ISP2
| |
R1------R2这种循环行为就是为什么BGP没有给出考虑eBGP学习路径与iBGP学习路径相等的选项。
您可能知道,标记为-unicast的MPLS确实为解决这个问题提供了一个可能的解决办法,但我认为这不在当前讨论的范围之内。
https://networkengineering.stackexchange.com/questions/68938
复制相似问题