BGP 与 IGP 交互

BGP 与 IGP 交互

我知道 BGP 和 IGP 交互的方式大致有两种:

1)将默认 0/0 路由分发到 IGP(例如 OSPF、IS-IS、RIP 等)

2) 将 BGP 学习到的路由注入内部网关协议。我了解到后者不推荐,因为它会给内部路由协议增加过多的开销,而内部路由协议并非为处理这种路由负担而设计的。

但是,在某些情况下,我找不到有效的替代解决方案。例如,考虑一个 AS“MY AS”多宿主到两个提供商:

  • R1将我的 AS 与 AS1 连接起来
  • R2将我的 AS 与 AS2 连接。
  • R1过滤并拒绝某些目的地由 AS1 宣布,例如基于 AS_PATH 属性,但它仍然接受其他互联网路由。
  • R2接收相同的目的地同上,但是 AS_PATH 不同,符合我的 AS 路由策略。

如果两者R1R2仅向 IGP 注入默认 0/0 路由,并且不会重新分配任何 BGP 学习到的路由,想要到达外部目的地的内部路由器(仅匹配 0/0 前缀)将遵循到达目的地 0/0 的最短路径,下一跳为R1或者R2

假设R1R2,如果数据包转发至R1而不是R2

我想到的唯一解决方案是将某些内容从 BGP 重新分配到 IGP。Cisco 设备中的正确命令是什么?有人有同样的疑问吗?

谢谢。

答案1

您应该通过 iBGP 连接 R1 和 R2(这不需要直接物理连接)。BGP 将在路由表中为每个目标网络安装最佳路由。由于路由源自 eBGP,因此路由上的 AD 将为 20,这通常比任何 IGP 或 iBGP AD 都要小得多(更受欢迎)。

然后,只需通过 IGP 将流量传送到其中一个 WAN 路由器,就会使流量从正确的 WAN 路由器发出,因为会从路由表中安装的 BGP 路由中选择最佳路径。

相关内容