我可以将 BGP 用作 IGP - 多站点 w 冗余第 3 层 MPLS WAN

网络工程 路由 bgp 第3层 聚光灯 mpls-vpn
2021-07-11 02:11:50

要求是

  • 数百个网站。
  • 每个都有一个路由器和防火墙以及一个交换机堆栈。
  • 具有 BGP 到提供商 VRF 的第 3 层 MPLS WAN。

BGP 作为 IGP?

BGP

您是否会在所有分支站点之间分发公共 ASN 并使用 iBGP 路由分支间数据包?路由反射器;基于 MED 的路由?

eBGP

您会为每个分支机构分配一个私有 ASN 吗?

... 或者不使用 BGP?

DMVPN

DMVPN(减去加密?)隐藏/抽象掉 BGP,允许将 IGP 用于所有站点间路由?

最佳设计?

有人认为 eBGP 或 iBGP 更可取吗?我发现 DMVPN 很有吸引力,因为

  1. 我的路由和他们的路由是分开的。
  2. 我们能够使用更快收敛的内部网关协议。
  3. 我们没有将边界网关协议用作 IGP。

但是倾向于 iBGP,因为它适合用例并且不增加 GRE 开销。鉴于此拓扑,路由流量的最佳方法是什么?

2个回答

我所能做的就是解释一个非常成功的大型网络是如何做到的。

MPLS VPN 上成百上千个终端站点中的每一个都在同一个私有 BGP AS 中,因此站点到站点的流量直接由运营商 MPLS 云交换。每个数据中心都有自己的私有 BGP AS。因此,WAN 是 iBGP 和 eBGP 的混合体。每个终端站点和数据中心都运行自己独立的 IGP,从 MPLS 云注入默认和特定路由,尽管标准只定义了一个,但每个站点的 IGP 都独立于所有其他站点。

有些终端站点有一条 WAN 电路,有些站点有两条 WAN 电路。在具有两条 WAN 电路的站点中,有些站点在一个载波上有两条电路(需要终止于不同的载波 POP),而有些站点在两个不同的载波中的每一个上都有一个电路。显然,数据中心与所有运营商都有大型管道连接,但终端站点电路的大小适合进出特定站点的流量。

每个终端站点都有一条通往 MPLS 云的默认路由,以及一些来自数据中心的特定前缀。

这是经过多年的各种安排后达成的。事实证明,在 WAN 上为成百上千个站点使用 IGP 太有问题(实际上会减慢 IGP 收敛到爬行速度),并且强制流量到中央站点,即使流量是站点到站点增加了太多延迟。

在大规模或“仓库规模”的数据中心,IETF 共识“建议使用 EBGP-only 设计”,为每个架顶式 (ToR) 以太网交换机提供唯一的 ASN,而不是使用任何一个 TRILL(他们自己的第 2 层)标准)或 M-LAG(VPN、VPS、VCS 等)。

假设第 3 层 MPLS 与以太网不同,考虑到链路中断事件的毫秒触发 eBGP 重新收敛,我看到了标准化方法的附加值。因此,eBGP 或 BGP w Private ASN's 是最好的设计(因为 IETF 通知了我们)。

实验和广泛的测试表明,外部 BGP (EBGP) [RFC4271] 非常适合作为这些类型的数据中心应用程序的独立路由协议。这与更传统的 DC 设计形成对比,后者可能使用简单的树形拓扑并依赖于跨多个网络设备扩展第 2 层 (L2) 域。

他们继续提供一个示例 ASN 方案。

5.2.1. EBGP 配置指南和示例 ASN 方案

下图说明了 ASN 分配方案的示例。以下是可以使用的指南列表:

  • EBGP 单跳会话建立在连接网络节点的直接点对点链路上,不使用多跳或环回会话,即使在同一对节点之间存在多条链路的情况下也是如此。
  • 64512-65534 范围内的专用 ASN 用于避免 ASN 冲突。
  • 单个 ASN 分配给所有 Clos 拓扑的第 1 层设备。
  • 为同一集群中的每组第 2 层设备分配一个唯一的 ASN。
  • 唯一的 ASN 分配给此拓扑中的每个第 3 层设备(例如,ToR)。