BGP 决策进程优先级与最长匹配

网络工程 路由 bgp
2021-07-27 11:58:51

tl;dr 先看哪个,最长匹配还是BGP决策过程

我现在正在上一门关于 BGP 的课程,并试图弄清楚这两个路由过程如何协同工作。

我知道路由器中更具体的路由比不太具体的路由更受欢迎(192.0.0.0/25 总是会被选择而不是 192.0.0.0/24)我也知道 BGP 决策过程是如何工作的(本地优先级之前看过AS_Path 等)

所以我的问题是,如果一个 AS 有 2 个邻居,并且它向其中一个广播比另一个更具体的网络,那么其他一些 AS 会同时收到这两个广播,最长匹配是否会自动生效,并且更具体一个会自动被选中?还是BGP的决策过程先发生,因此只有一条路由被放入路由表,最长匹配对它没有任何影响?

希望我以一种有意义的方式解释了这一点。谢谢您的帮助

3个回答

不要将 BGP 进程和表与路由器用于交换数据包的路由表混淆。BGP 表可以包含较长和较短的前缀,并且 BGP 可以向其他邻居通告这两者。

路由器中的路由选择将在其路由表中安装最长的匹配项,假设它同时提供了两个匹配项,但这不会从 BGP 表中删除较短的前缀。BGP 可以设置为首选最短匹配项,这可能是呈现给路由表的匹配项。

最长的匹配将始终首先查看。/25 RIP 路由将优先于 /24 EIGRP/OSPF/BGP/任何路由。

请注意控制平面处理 (BGP) 与数据平面转发异步运行。对于 BGP,由于 192.0.0.0/25 前缀与 192.0.0.0/24 不同,协议甚至不会尝试在这些前缀之间进行选择,因此将向转发平面发送这两个前缀。在转发时,当然最长前缀将优先用于分组交换决策。