如图,AS400、AS500分别发布默认路由,再AS100的路由器上开启balance 2以及balance as-path-relax实现等价路由负载均衡。
客户这边希望AS100能把AS200学到的默认路由发给AS300,同时把AS300学到的默认路由发给AS200,作为路由备份(主要目的是想要实现一旦AS400或者AS500的路径出现问题后快速收敛)
但是现在发现AS100要么只把AS200学到的默认路由发给AS300,要么只把AS300学到的默认路由发给AS200,无法做到同时发布,并且只跟邻居建立的先后顺序有关。
可以看到当AS300邻居后建立的情况下,AS100只把默认路由发给AS300
[H3C-bgp-default-ipv4]dis bgp routing-table ipv4 peer 192.168.1.2 advertised-routes //AS200邻居,没有发布路由
Total number of routes: 0
[H3C-bgp-default-ipv4]dis bgp routing-table ipv4 peer 192.168.1.6 advertised-routes //AS300邻居,发布默认路由
Total number of routes: 1
BGP local router ID is 192.168.1.5
Status codes: * - valid, > - best, d - dampened, h - history
s - suppressed, S - stale, i - internal, e - external
a - additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf Path/Ogn
* >e 0.0.0.0 192.168.1.2 100 200 400i
然后重置AS200的邻居,发现路由变成发布给AS200
<H3C>reset bgp 192.168.1.2 ipv4
Reset BGP sessions? [Y/N]:y
<H3C>%Oct 12 00:24:05:220 2022 H3C BGP/5/BGP_STATE_CHANGED: BGP.: 192.168.1.2 state has changed from ESTABLISHED to IDLE for administrative reset.
%Oct 12 00:24:05:220 2022 H3C BGP/5/BGP_STATE_CHANGED_REASON: BGP.: 192.168.1.2 state has changed from ESTABLISHED to IDLE. (Reason: the peer session or all sessions were manually reset, Error code: Send Notificationcode 6/4)
<H3C>dis bgp routing-table ipv4 peer 192.168.1.2 ad //AS200邻居,发布默认路由
Total number of routes: 1
BGP local router ID is 192.168.1.5
Status codes: * - valid, > - best, d - dampened, h - history
s - suppressed, S - stale, i - internal, e - external
a - additional-path
Origin: i - IGP, e - EGP, ? - incomplete
Network NextHop MED LocPrf Path/Ogn
* >e 0.0.0.0 192.168.1.6 100 300 500i
<H3C>dis bgp routing-table ipv4 peer 192.168.1.6 ad //AS300邻居,没有发布路由
Total number of routes: 0
从上述现象来看,显然跟BGP的路由发布策略有关,根据官网描述
· 存在多条有效路由时,BGP发言者只将最优路由发布给对等体。如果配置了advertise-rib-active命令,则BGP发布IP路由表中的最优路由;否则,发布BGP路由表中的最优路由。
因此想要发布多条路由,需要配置Add-Path功能
配置了Add-Path(Additional Paths)功能后,BGP可以向邻居发送本地前缀相同下一跳不同的多条路由。网络出现故障后,次优路由可以成为新的最优路由,这样就缩短了流量中断时间。
Add-Path能力包括接收和发送两种。为了让对等体间的Add-Path能力协商成功,必须一端使能接收能力,另一端使能发送能力。
(1) 配置Add-Path功能。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } additional-paths { receive | send } *
缺省情况下,未配置Add-Path功能。
(2) 配置向指定对等体/对等体组发送的Add-Path优选路由的最大条数。
peer { group-name | ipv4-address [ mask-length ] | ipv6-address [ prefix-length ] } advertise additional-paths best number
缺省情况下,向指定对等体/对等体组发送的Add-Path优选路由的最大条数为1。
(3) 配置Add-Path优选路由的最大条数。
additional-paths select-best best-number
缺省情况下,Add-Path优选路由的最大条数为1。
配置Add-Path功能additional-paths select-best 2,并在两侧bgp的peer下使能add-path的sent跟receive后问题解决
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作