5.2.3. Prefix Advertisement (前缀通告)
5.2.3. Prefix Advertisement (前缀通告)
Clos拓扑具有大量的点对点链路和相关前缀。将所有这些路由通告到BGP中可能会在网络设备中造成转发信息库 (Forwarding Information Base, FIB) 过载。通告这些链路还会给BGP控制平面增加额外的路径计算压力, 而收益很小。有两种可能的解决方案:
-
不将任何点对点链路通告到BGP中。由于基于EBGP的设计在每个设备上更改下一跳地址, 远程网络将自动通过通告的EBGP对等体可达, 并且不需要到这些前缀的可达性。然而, 这可能会使操作或监控复杂化: 例如, 使用流行的"traceroute"工具将显示不可达的IP地址。
-
通告点对点链路, 但在每个设备上对它们进行汇总。这需要一个地址分配方案, 例如为每个Tier 1和Tier 2设备分配一个连续的IP地址块, 用于到较低层的点对点接口寻址 (Tier 2上行链路将从Tier 1地址块中分配, 依此类推)。
Tier 3设备上的服务器子网必须通告到BGP中, 而不在Tier 2和Tier 1设备上使用路由汇总。在Clos拓扑中汇总子网会在单链路故障 (例如, Tier 2和Tier 3设备之间) 下导致路由黑洞, 因此必须避免。使用同一层内的对等链路通过提供"旁路路径"来解决黑洞问题是不可取的, 因为对等网格的O(N^2)复杂性和设备上端口的浪费。对等链路全网格的替代方案是使用更简单的旁路拓扑, 例如, 如[FB4POST]中所述的"环形", 但这种拓扑增加了额外的跳数并且带宽有限。它可能需要特殊的调整才能使BGP路由工作, 例如, 将每个设备拆分为自己的ASN。本文档后面的Section 8.2介绍了一种侵入性较小的方法, 用于在Clos网络中执行有限形式的路由汇总, 并讨论其相关权衡。