是否可以使用非递归 BGP 路由来确定递归 BGP 路由的下一跳?

网络工程 路由 路由器 bgp 下一跳
2021-07-11 04:53:30

在 BGP 递归场景中,递归路由采用意外的下一跳。这是路由表:

S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

B 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS, 2d18h20m

B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 10.10.10.1), 1d1h10m

递归路由的下一跳应该是表中的第二条路由,即另一条BGP路由。但是,它在顶部采用默认路由。

添加与第二条BGP路由完全相同的静态路由时,下一跳判断正确:

S* 0.0.0.0/0 [10/0] via 10.10.10.1, wan

S 172.16.5.0/24 [20/0] via 172.80.80.1, MPLS

B 192.168.250.0/24 [20/0] via 172.16.5.1 (recursive via 172.80.80.1), 1d1h10m

这是预期的行为吗?

1个回答

IOS 不会使用另一个 BGP 路由来递归查找 BGP 路由。在“BGP 最佳路径选择算法”文档“为什么路由器忽略路径”部分有所暗示

[路由器忽略] NEXT_HOP 不可访问的路径。

确保存在到与路径关联的 NEXT_HOP 的内部网关协议 (IGP) 路由。

所以是的,这是 IOS 上的预期行为。其他路由平台的行为可能有所不同。还有一篇文章进一步描述了查找的工作原理。