以太网虚拟专用网络 - EVPN

VXLAN 使第 2 层网段能够扩展到 IP 核心网(底层网络)。VXLAN 的初始定义 (RFC 7348) 不包含任何控制平面,而是依赖于洪泛与学习方法进行 MAC 地址学习。

EVPN 是 VXLAN 的基于标准的控制平面,在 RFC 7432RFC 8365 中定义,允许大规模构建和部署 VXLAN。它依赖于多协议 BGP (MP-BGP) 来交换信息,并使用 BGP-MPLS IP VPN (RFC 4364)。它不仅支持同一第 2 层网段中终端系统之间的桥接,还支持不同网段(子网)之间的路由。它还固有地支持多租户。

Cumulus Linux 将路由控制平面(包括 EVPN)作为 FRR 软件包的一部分安装。有关 FRR 的更多信息,请参阅 FRRouting

主要特性

Cumulus Linux 完全支持 EVPN 作为 VXLAN 的控制平面,包括子网内桥接和子网间路由,并提供以下主要特性

  • 使用 EVPN 类型 3(包含组播以太网标签)路由在 VTEP 之间交换 VNI 成员资格。
  • 使用 EVPN 类型 2(MAC 和 IP 广告)路由交换主机 MAC 和 IP 地址。
  • 通过交换 MAC 移动扩展社区支持主机/VM 移动性(MAC 和 IP 移动)。
  • 通过 VXLAN 主动-主动模式 的双连接主机。MLAG 同步对等交换机之间的 MAC 地址。
  • ARP/ND 抑制默认在 VNI 上启用,这使 VTEP 能够抑制 VXLAN 隧道上的 ARP 洪泛。
  • 通过 EVPN 交换静态 MAC 地址
  • 子网间路由,适用于 IPv4 和 IPv6 主机:不同子网和集中式路由之间的分布式对称路由。
  • 使用 EVPN 类型 5 路由(EVPN IP 前缀路由)的基于前缀的路由
  • 第 3 层多租户。
  • IPv6 租户路由。
  • NVIDIA Spectrum-A1 ASIC 上叠加网络的 ECMP。当存在多个下一跳时,叠加网络中会发生 ECMP。
  • 默认情况下启用头端复制。

Cumulus Linux 支持具有 eBGPiBGP 对等互连的 EVPN 地址族。如果使用 eBGP 配置底层路由,则可以使用相同的 eBGP 会话来承载 EVPN 路由。在典型的 2 层 Clos 网络中,叶节点是 VTEP,如果叶节点和脊节点之间使用 eBGP 会话进行底层路由,则相同的会话会交换 EVPN 路由。脊交换机充当路由转发器,并且不安装任何转发状态,因为它们不是 VTEP。当交换机通过 iBGP 对等互连交换 EVPN 路由时,可以使用 OSPF 作为 IGP 或使用 iBGP 解析下一跳。

默认情况下,Cumulus Linux 在 VXLAN 接口上禁用数据平面 MAC 学习。不要在 VXLAN 接口上启用 MAC 学习:EVPN 安装远程 MAC。