即使 bgp peer 宕机,也要保持前缀

网络工程 路由 路由器 bgp 锦缎
2021-07-18 03:38:25

有没有办法保持路由器从另一台设备学到的 BGP 前缀,即使对等方的可达性下降,以便 bgp 不需要撤回所有路由然后重新学习它们?

有时当连接因各种原因从高 cpu 负载下降,然后 ibgp 会话中断时,我会遇到问题;那时,所有路由都被撤消,然后在会话重新建立时重新学习,但这需要太长时间。

我目前在 2 个核心设备和 ospf 之间运行 ibgp 来通告环回;我需要锦缎的解决方案。

2个回答

BGP优雅重启是您正在寻找的机制。

Graceful-restart 维护在重新启动连接时从 BGP 邻居收到的路由的转发。当邻居断开时,路由将在 BGP 表中标记为Stale (S),并且仍可用于路由选择。

有两个计时器与优雅重启相关联:

  • stalepath time - 保留陈旧路线的最长时间
  • 重启时间- 等待邻居恢复的最长时间

BGP 优雅重启能力在BGP OPEN消息中公布这意味着,如果您决定使用它,则必须为每个邻居重新启动 BGP 连接,然后它才能工作。

如果您还在链接上使用 BFD,则可能不应该使用优雅重启,因为它可能会导致问题。

配置

适用于 Brocade Vyatta 路由器

set protocols bgp 65000 parameters graceful-restart [stalepath-time seconds]

适用于 Brocade IOS 路由器

全局启用

router bgp
 graceful-restart

启用 per-vrf

router bgp
 address-family ipv4 unicast vrf test
  graceful-restart

奖金回合

Vyatta 路由器让您可以动态通告 BGP 的新功能,这使您可以测试选项,而不会冒 BGP 会话无法启动的风险。需要配置以下内容:

set protocols bgp [ASN] [neighbor address] capability dynamic

然后,您可以在不重置 BGP 对等互连的情况下配置优雅重启。

如果您无法通过更长的超时或类似时间来稳定您的 bgp 会话,这里有一个我被迫在一些场合使用的黑客:

如果只有有限数量的路由,并且您有一个稳定的环境,没有太多的定期更改,您可以插入比 bgp 路由具有更高优先级/成本的静态路由。当 bgp 会话下降时,静态路由将变为活动状态。

但是,我认为这是稳定不稳定环境的“讨厌的黑客”,无论如何都不是一个好的永久解决方案。您应该真正解决导致所有问题的 CPU 问题。