BGP与IGP的交互

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

1)将缺省的0/0路由分发到IGP(例如OSPF,IS-IS,RIP,..)

2)将BGP学习的路由注入内部网关协议。 我读过,不推荐使用后者,因为它在内部路由协议上增加了额外的开销,这不是为了处理这样的路由负担而devise的。

但是,在某些情况下,我找不到一个有效的替代解决scheme。 考虑一个例子,一个AS'MY AS'多宿主到两个提供者:

  • R1将MY与AS1连接起来
  • R2将MY AS与AS2连接。
  • R1过滤并拒绝AS1公布的一些目的地址D ,例如基于AS_PATH属性,但它仍然接受其他Internet路由。
  • R2根据MY AS路由策略,接收到上面相同的目的地址D ,但具有不同的AS_PATH。

如果R1R2只向IGP注入默认的0/0路由,并且不重新分配任何BGP学习的路由,那么想要到达外部目的地D (仅匹配0/0前缀)的内部路由器将遵循目的地0的最短path/ 0,下一跳是R1R2

假设R1R2之间没有直接的连接,如果将D的数据包转发到R1而发送到R2 ,会发生什么?

我唯一想到的解决scheme就是将某些东西从BGP重新分配给IGP。Cisco设备中的正确命令是什么? 任何人都有同样的疑问?

谢谢。

您应该通过iBGP连接R1和R2(这不需要直接的物理连接)。 BGP将为路由表中的每个目标networking安装最佳路由。 由于路由是通过eBGP发起的,所以路由上的AD将是20,这通常比任何IGP或iBGP ADless得多(更优选)。

然后,简单地通过IGP获得stream量到WAN路由器的stream量将导致stream量从正确的WAN路由器发出,因为将从安装在路由表中的BGP路由中select最佳path。