2. 云数据中心网络架构演进

传统数据中心网络长期沿用“接入—汇聚—核心”的三层树形结构。它的设计初衷是南北向流量为主:服务器访问外部网络,流量从接入交换机上行到汇聚、再到核心,路径清晰、层次分明。但云数据中心的流量模型已经发生根本变化——虚拟机迁移、分布式存储、微服务调用、大数据 Shuffle 让东西向流量成为主体,服务器之间的通信往往要“上到汇聚再折返下来”。这种绕行不仅增加时延,还让汇聚层成为带宽收敛点。典型的三层架构中,接入到汇聚的收敛比常按 4:1 甚至 8:1 设计,汇聚到核心再收敛,一旦东西向流量突增,链路利用率迅速逼近上限,丢包和抖动随之出现。

更棘手的是扩展方式。传统三层依赖 STP(生成树协议)防止环路,而 STP 天然会阻塞冗余链路,使一半带宽闲置;同时 VLAN 数量受 4094 限制,跨网段通信必须经过三层网关,网关位置固定,虚拟机迁移范围被限制在同一二层域内。为了扩大二层域,又不得不引入大二层技术,反而放大了广播风暴和故障域。这些矛盾说明:三层树形架构的瓶颈不是某一台设备性能不足,而是拓扑与流量模型不匹配。

Leaf-Spine Clos:用等距多路径替代层级收敛

Leaf-Spine(叶脊)架构把网络压成两层:Leaf 交换机连接服务器和网关,Spine 交换机只负责 Leaf 之间的高速转发,不接服务器。每个 Leaf 都上行到所有 Spine,形成全互联的 Clos 网络。任意两台服务器之间的通信路径固定为“源 Leaf → 任一 Spine → 目的 Leaf”,跳数恒定,通常为两跳或三跳,时延可预测。由于每个 Leaf 到每个 Spine 都有独立链路,总带宽随 Spine 数量线性增长,收敛比可以做到 1:1 甚至超订。例如 32 个 Leaf、16 个 Spine、每链路 100G,则每个 Leaf 上行 16×100G=1.6T,整网 Leaf 间可用带宽达到 32×1.6T 的量级,远非三层汇聚可比。

Leaf-Spine 的转发依赖 ECMP(等价多路径)。同一目的前缀存在多条等价下一跳时,交换机按五元组哈希把流量分散到不同 Spine,实现负载均衡。这里有一个关键工程细节:哈希算法必须对“同一条流”保持稳定,否则乱序会拖垮 TCP 性能。Arista EOS 默认使用可配置的哈希字段组合,并支持动态调整,避免极化。当某条 Spine 链路故障时,ECMP 自动重新收敛,流量切换到剩余路径,无需 STP 阻塞,所有链路始终可用。

Leaf-Spine Clos 架构与 Overlay/Underlay 分离 Spine-1 Spine-2 Spine-3 Underlay:IP 路由 + ECMP,等距多路径,无 STP 阻塞 Leaf-1 Leaf-2 Leaf-3 Leaf-4 Overlay:VXLAN 隧道,VTEP 封装,跨 Leaf 二层/三层互通 VXLAN Tunnel (VNI 10010) Server A Server B Server C Server D Arista EOS:单一镜像、SysDB 状态库、NetDB 声明式配置、MLAG 双活、EVPN 控制平面 Underlay 提供可达性,Overlay 提供租户隔离与灵活拓扑,二者解耦独立演进

Overlay 与 Underlay 分离:各司其职的解耦思想

Leaf-Spine 解决了物理拓扑的扩展问题,但云数据中心还需要多租户隔离、虚拟机任意迁移、跨网段二层互通。如果把这些需求都压到物理网络上,VLAN 和网关会再次成为瓶颈。Overlay/Underlay 分离正是为此而生:Underlay 是物理 IP 网络,只负责“把包从一台 VTEP 送到另一台 VTEP”,运行 OSPF、BGP 或 eBGP,追求稳定、简单、高带宽;Overlay 是建立在 Underlay 之上的虚拟网络,用 VXLAN 把原始二层帧封装进 UDP 报文,VNI 标识租户,VTEP 负责封装和解封装。这样,租户网络拓扑与物理位置解耦,虚拟机可以在任意 Leaf 下迁移,网关可以分布式部署在每台 Leaf 上。

分离带来的直接好处是故障域和变更域缩小。Underlay 只关心 VTEP 地址的可达性,不感知租户 MAC 和 IP;Overlay 的 MAC 学习、ARP 抑制、路由发布由 EVPN 控制平面完成,不再依赖数据平面泛洪。当新增租户或调整网段时,只需在 Overlay 侧变更,Underlay 保持不动。这种“物理稳定、逻辑灵活”的分工,是云数据中心网络可运维性的基础。

Arista EOS 架构特点:为 Leaf-Spine 与 EVPN 而生

Arista EOS(Extensible Operating System)采用单一镜像、单一二进制,所有平台共享同一套代码,避免了多版本分支带来的特性差异。其核心是 SysDB——一个驻留内存的中央状态数据库,所有协议进程(BGP、EVPN、MLAG、VXLAN)都读写 SysDB,而不是彼此直接调用。这种发布/订阅模型让进程解耦:BGP 进程崩溃不会拖垮转发面,重启后从 SysDB 恢复状态即可。对于 Leaf-Spine 场景,EOS 的 MLAG 支持跨设备链路聚合,两台 Leaf 可对服务器呈现为一个逻辑交换机,配合 EVPN 多归属实现双活接入,服务器双网卡无需依赖 STP。

EOS 还提供 NetDB 和声明式配置能力,可以用 YAML 或 JSON 描述期望状态,由 EOS 自动比对并下发差异。在 EVPN VXLAN 部署中,这意味着 VTEP、VNI、VLAN 映射、BGP EVPN 邻居等参数可以模板化批量生成,减少手工错误。下面是一段典型的 Leaf 侧 EVPN VXLAN 配置示例,用于说明 Underlay 与 Overlay 在设备上的落点:

! Underlay:Leaf 上行 eBGP,与 Spine 建立邻居
interface Ethernet1
   no switchport
   ip address 10.0.1.1/31
!
router bgp 65001
   neighbor 10.0.1.0 remote-as 65000
   neighbor 10.0.1.0 maximum-routes 12000
!
! Overlay:VXLAN 与 EVPN
interface Vxlan1
   vxlan source-interface Loopback0
   vxlan vlan 110 vni 10110
!
router bgp 65001
   vlan 110
      rd 10.0.0.1:10110
      route-target both 65001:10110
      redistribute learned
!
! 分布式网关:每台 Leaf 都是租户网关
interface Vlan110
   ip address virtual 192.168.110.1/24

这段配置中,Ethernet1 和 router bgp 65001 的邻居部分属于 Underlay,负责 Loopback0 可达;Vxlan1、vlan 110 vni 10110 和 EVPN 的 RD/RT 属于 Overlay,负责租户隔离与 MAC/IP 发布;ip address virtual 则让每台 Leaf 使用相同的虚拟网关地址,实现分布式任播网关。判断部署是否成功,可以依次检查:Underlay 邻居是否 Established、Loopback 是否互通、VXLAN 隧道是否 Up、EVPN 是否学到远端 MAC、以及跨 Leaf 主机能否 ping 通且路径经过预期 Spine。若 EVPN 邻居建立但 MAC 未同步,通常要检查 RD/RT 匹配和 VLAN-VNI 映射是否一致。

理解本节的一条主线:三层架构的瓶颈来自“层级收敛 + STP 阻塞 + 网关集中”;Leaf-Spine 用 Clos 全互联和 ECMP 消除收敛与阻塞;Overlay/Underlay 分离把租户逻辑从物理拓扑中解耦;EOS 的 SysDB、MLAG、EVPN 和声明式配置则为这套架构提供了可编程、可解耦的运行底座。