不使用IGP/静态路由时,路由反射器的两个客户端如何相互了解?

网络工程 bgp 国际电联
2021-07-16 04:21:37

我最近了解到路由反射器是大型 AS 中全网状 IBGP 对等互连的有效替代方案。想象一个像这样的网络:D1 - AS1 <e> R_P <i> RR <i> R_Q <e> AS3 - D3

  • D1 和 D3 是 AS1 和 AS3 已知的公共网络。
  • R_P、RR 和 R_Q 来自 AS2。RR 是路由反射器。
  • <e> eBGP 对等互连
  • <i> iBGP 对等互连

当 R_P 向 RR 通告 D1(通过 eBGP 获知)时,RR 又将其通告给 R_Q,D1 的下一跳将是 R_P(假设它配置了 next-hop-self)。因此,当 R_Q 需要路由目的地为 D1 的流量时,它必须对 R_P(该路由的下一跳)进行递归路由查找。如果没有 IGP/静态路由,这是不可能的,对吗?

2个回答

BGP 通常假设 AS 正在运行 IGP,以互连其路由器。

当 R_Q 收到一条经过 R_P 的路由时,作为 BGP 路由计算的一部分,它必须通过 IGP 查找到 R_P 路由的路由

  • 如果 R_Q 找不到到 R_P 的路由,则忽略该路由
  • 在 BGP 决策过程中的某个时间,路由的 IGP 度量值被考虑在内。例如,如果有两个路由器连接到 AS1 R_P1 和 R_P2,它们都向 D1 通告路由,则 R_Q 将根据路径 P_Q - P_P1 和 P_Q - P_P2 的 IGP 成本选择其中之一。(请参阅此处的BGP 决策过程
  • 如果在某个时候 IGP 路由失败或 IGP 度量发生变化,BGP 需要“重新考虑”接收到的路由(参见rfc4271 的 9.1.2 节
  • 为了在转发表中安装条目,R_Q 需要在通过 IGP 解析的到 R_P 的路由上选择它的下一跳。(同一节)

注意:在全网状 BGP 路由器中不直接连接。无论是否使用路由反射器,都需要 IGP 将数据包从一个路由器路由到另一个路由器。

注意:数据包在 AS 内部通过 IGP 路由。路由 D1 也需要以某种方式在 IGP 内部传播。


除非其下一跳地址可达,否则 BGP 不会安装路由到路由表。无论您喜欢什么,都可以实现这种可达性。甚至可能使用 BGP 本身来通告这个下一跳👀....但这可能是一个坏主意(因为您不希望这些地址可以从其他 AS 访问)。请注意,RR 不必位于到达路由的路径中——RR 甚至可以是位于处理许多其他服务的某些服务器上的某个 VM 上的软件包。