1. 课程导入与工程全景

在传统数据中心里,VLAN 是隔离与广播域的基本单位,但 VLAN 只有 12 位标识,理论上限约 4000 个,且依赖 STP 破环,链路利用率低、收敛慢、故障域大。当业务从"物理机+少量虚拟机"演进到"多租户+容器+跨机房弹性伸缩"时,网络需要的是二层可达性可编程、三层路由可扩展、租户隔离可复用的统一承载。EVPN VXLAN 正是为这一需求而生的控制面与数据面组合方案。

理解它要抓住两个关键词。VXLAN 是数据面封装:把原始以太网帧封装进 UDP 报文,外层用 24 位 VNI 标识租户网络,理论上支持约 1600 万个隔离段,彻底突破 VLAN 数量瓶颈;封装后的报文在底层 IP 网络上转发,底层可以是任意三层可达的 Clos 架构,不再依赖 STP。EVPN 是控制面:用 BGP 作为统一信令,把 MAC 地址、IP 地址、VTEP 地址、VNI 等可达性信息以路由形式在 VTEP 之间发布,取代 VXLAN 早期依赖的泛洪与学习。二者结合后,二层转发表由控制面下发,ARP/ND 可以代理应答,广播被抑制为组播或头端复制,网络从"泛洪学习"变成"路由驱动"。

在云数据中心中,EVPN VXLAN 的定位可以概括为三层价值:对下,它把物理 Clos 网络抽象成一张可编程的 IP 承载网;对上,它为租户提供跨机架、跨 Pod、跨机房的二层延伸与三层对称路由;对内,它用 EVPN 路由类型统一承载 MAC/IP 发布、多归属、外部路由引入等能力。典型场景包括多租户隔离、虚拟机迁移保持 IP 不变、容器网络与物理网络互通、DCI 跨数据中心二层扩展,以及分布式 Anycast 网关。

Arista 的解决方案以 EOS 为统一操作系统,在 Leaf 与 Spine 上运行相同的软件镜像,通过 MLAG 或 EVPN 多归属实现双活接入,用 VXLAN 隧道承载租户流量,用 BGP EVPN 作为控制面。其工程化优势体现在:EOS 的配置模型一致,Leaf/Spine 角色差异小;支持 EVPN 多归属(ESI)实现服务器双活;支持对称 IRB 让跨子网流量在入口 Leaf 完成路由;支持分布式 Anycast 网关让每台 Leaf 都成为默认网关,避免流量绕行。这些能力共同构成云数据中心"叶脊+EVPN VXLAN"的标准范式。

EVPN VXLAN 云数据中心工程全景 控制面(BGP EVPN)驱动数据面(VXLAN 封装),底层为 IP Clos 承载 租户与业务层 租户 A · VNI 10100 租户 B · VNI 10200 容器/虚机 · 跨子网 DCI 跨机房延伸 外部路由引入 控制面 · BGP EVPN Type-2 MAC/IP 发布 Type-3 组播/头端复制 Type-4 多归属 ES Type-5 前缀路由 数据面 · VXLAN 封装 内层:原始以太网帧 外层:UDP 4789 + VNI VTEP 源/目的 IP 底层 IP 网络转发 下发 物理承载 · IP Clos(Spine-Leaf) Spine-1 / Spine-2(BGP 反射器) Leaf-1 · VTEP Leaf-2 · VTEP Leaf-3 · VTEP Leaf-4 · VTEP Server A Server B Server C Server D VXLAN 隧道(VNI 10100)

学习路径建议按"先通后优"推进:先理解 EVPN 路由类型与 VXLAN 封装格式,再在单 Pod 内完成 Leaf 双归属与 Anycast 网关,随后扩展到跨 Pod、跨机房,最后引入外部路由与运维排障。实验环境可以用 Arista vEOS 或 cEOS 搭建,最小拓扑为 2 台 Spine + 2 台 Leaf + 2 台 Linux 主机,Leaf 之间建立 iBGP EVPN 会话,Spine 作为路由反射器。下面给出一个可参考的 Leaf 侧基础配置片段,用于建立 Underlay 与 EVPN 会话:

! Leaf-1 基础配置示例(示例参数,非实测)
hostname Leaf-1
interface Ethernet1
   description To-Spine-1
   no switchport
   ip address 10.0.1.1/31
interface Loopback0
   ip address 1.1.1.1/32
interface Loopback1
   description VTEP source
   ip address 1.1.1.11/32
router bgp 65001
   router-id 1.1.1.1
   neighbor 10.0.1.0 remote-as 65000
   neighbor 10.0.1.0 update-source Loopback0
   address-family evpn
      neighbor 10.0.1.0 activate
   address-family ipv4
      neighbor 10.0.1.0 activate
interface Vxlan1
   vxlan source-interface Loopback1
   vxlan vlan 100 vni 10100

验证时先看 Underlay 邻居是否 Established,再看 EVPN 路由表是否出现 Type-2/Type-3 条目,最后用 ping 与 traceroute 确认跨 Leaf 的二层与三层可达性。判断依据是:show bgp evpn summary 邻居状态为 Established,show bgp evpn route-type mac-ip 能看到远端 MAC/IP,show vxlan address-table 中远端 VTEP 条目存在。若邻居不通,优先检查 Loopback 可达性与 update-source 配置;若路由存在但流量不通,检查 VNI 映射与 VLAN 一致性。

建议在实验环境中为每个租户分配独立 VNI 与 VLAN,并保持 VNI 与 VLAN 的映射关系在全部 Leaf 上一致,避免因映射错位导致流量黑洞。

本课程后续将围绕 EVPN 路由类型、VXLAN 封装、Anycast 网关、多归属、DCI 与排障展开,本章只需建立"控制面驱动数据面、底层 IP Clos 承载、租户 VNI 隔离"的整体认知,并完成实验环境的最小可用搭建。