组网第53课:Spine-Leaf 数据中心架构——Clos、全互联、ECMP、VXLAN/EVPN 与 AIDC
数据中心为什么不用 STP 了?Spine-Leaf 架构一次讲透
文章目录
一、开场:从园区网走进机房,老一套突然不灵了
前面五十多课,我们一直在跟园区网打交道,终端接入、VLAN、网关、出口,这套东西很熟。但如果把场景换成数据中心——机房里一排排机柜、成千上万台服务器,你会发现传统三层架构突然就不好使了。
我第一次接触数据中心项目时也纳闷:不就是交换机多一点吗,至于重新搞一套架构?后来跟着做下来才明白,园区网和数据中心最大的区别,是流量方向不一样。园区网主要是终端到网关、到出口的南北向流量;数据中心里,服务器之间要互相调用、分布式存储要同步、微服务之间来回通信,绝大部分是服务器之间的东西向流量。
东西流量一上来,传统架构的毛病全暴露了。这一课就讲数据中心的标准答案——Spine-Leaf(脊叶)架构。
二、传统三层架构,在数据中心为什么水土不服
1. STP 把冗余链路“堵死”了
- 传统架构靠 STP 防环,冗余链路中总有一条被阻塞、不转发数据,花了钱买的链路只能闲着;
- 一旦主用链路出问题,STP 重新收敛,期间有秒级甚至更长的中断,对服务器业务很不友好。
2. 带宽和延迟不可预测
- 流量越往上层越集中,核心很容易成瓶颈;
- 服务器之间通信要经过接入、汇聚、核心多层转发,跳数多、路径不固定,延迟难预测。
3. 扩容牵一发动全身
- 想加带宽、加端口,往往要动上层设备、改整体拓扑,扩容成本高、风险大;
- 而数据中心服务器是逐年、逐批上架的,架构必须能平滑“长大”。
4. 类比
- 传统三层像所有房间都要经过一个中央走廊,平时还行,人一多走廊就堵,还只开一扇门、另一扇锁着备用;
- 数据中心需要的是一个“怎么加人和加房间都不堵、每条路都能走”的结构。
三、Spine-Leaf 是什么:两层 Clos,全互联
1. 两种角色,分工明确

- Leaf(叶交换机):放在机柜顶部,就是 ToR(Top of Rack),直接连接服务器,负责接入;
- Spine(脊交换机):不接服务器,专门负责把所有 Leaf 高速互联起来;
- 规则很简单:每一台 Leaf 都和每一台 Spine 用一条链路连起来,形成全互联(full-mesh)。
2. 路径可预测:东西流量永远“三跳”
- 任意两台服务器通信,路径都是:源 Leaf → Spine → 目的 Leaf,中间固定经过一台 Spine;
- 无论服务器在哪个机柜,跳数都一样,延迟稳定可预测,这对分布式业务非常重要。
东西向流量转发路径
3. 带宽规划:Leaf 上行要扛得住
- 服务器往下连着 Leaf,Leaf 再把下联服务器的流量汇聚到 Spine,Leaf 上联带宽和下联带宽的比值叫收敛比(过载比);
- 通用数据中心常见 3:1、4:1 的收敛比,意味着一定程度的超卖;AIDC 做无阻塞常要求 1:1,即 Leaf 上联总带宽等于下联带宽;
- 所以 Leaf 要规划足够的高速上联口(如 100G/200G/400G),Spine 则要提供高密度的对应端口,这直接决定设备选型。
4. 它的老祖宗是 Clos 网络
- 这种多级交换、全互联的思路最早来自电话交换网的 Clos 网络,数据中心把它做成了 Spine-Leaf 两层形态;
- 规模特别大时还可以再叠加成多级胖树(Fat Tree),AIDC 里很常见。
四、Spine-Leaf 的核心优势
1. 横向扩展,加设备不影响现网
- 加 Spine:等于给所有 Leaf 增加上联带宽和可用路径,分担压力;
- 加 Leaf:等于增加服务器接入端口,新 Leaf 接上所有 Spine 即可;
- 扩容就是“按模块加盒子”,不用动现有设备和业务,这正是数据中心最看重的弹性。
2. ECMP:所有链路都能用,不再依赖 STP
- Spine-Leaf 是三层路由组网(routed fabric),Leaf 到多台 Spine 走等价路由;
- ECMP(等价多路径)把流量哈希分摊到多条上联链路上,链路全部利用、没有 STP 阻塞;
- 某条链路或某台 Spine 故障,流量自动走剩余路径,故障域小、收敛快。
3. 低延迟、故障域小
- 固定三跳、设备间跑路由协议,单点故障影响被限制在小范围;
- 对比 STP 的整网收敛,Spine-Leaf 上一个故障只影响局部,业务几乎无感。
4. 类比
- Spine-Leaf 像城市的方格路网:每个路口(Leaf)都有多条平行主干道(Spine),一条堵了立刻换另一条,楼盖到哪、路就平行修到哪,不用把全城拆了重建。
五、关键技术:IP Fabric、VXLAN 与 EVPN
1. Underlay:底层的三层 IP 网络

- Spine 和 Leaf 之间跑路由协议(数据中心常用 BGP,也有用 OSPF 的),构成一张纯三层的底层网络,叫 Underlay;
- Underlay 只负责把报文可靠、多路径地送到对端,ECMP 就作用在这一层。
2. Overlay:用 VXLAN 构建“大二层”
- 服务器迁移、集群、多租户都需要二层可达,但物理网络是三层的,于是用 VXLAN(MAC in UDP) 在上面叠出逻辑大二层;
- VXLAN 用 24 位 VNI 标识网络,能支持上千万个逻辑网络(2^24 约 1600 万个),远多于 VLAN 的 4094 个可用数量,默认封装在 UDP 4789;
- 物理 Underlay 保持简单稳定,租户的二层网络在 Overlay 上灵活构建,互不影响;
- 负责 VXLAN 封装和解封装的设备叫 VTEP(虚拟隧道端点),在这套架构里就是 Leaf 交换机,服务器自身通常感知不到 VXLAN,由接入 Leaf 替它完成封装。
3. EVPN:让控制平面更聪明
- 传统二层靠数据面泛洪学 MAC,规模大了广播泛滥;EVPN 用 BGP 扩展(BGP EVPN)在控制面分发 MAC/IP 路由;
- Leaf 之间通过 EVPN 直接知道对端的 MAC 和地址,支持 ARP 抑制、减少泛洪,多租户和迁移更可控;
- EVPN 还支持多归接入,一台服务器双上联到两台 Leaf,负载分担且单点故障不影响业务,这也是它被广泛采用的重要原因;
- 现在主流数据中心基本是“VXLAN + EVPN”这一对组合。
4. 类比
- Underlay 像城市的实际道路网,Overlay 像在上面规划的专用快速通道,VXLAN 是给每类车队贴的分组标签,EVPN 则是实时导航系统,提前告诉每辆车该走哪条路,而不是到路口瞎问。
六、Spine-Leaf 与传统三层对比
| 对比项 | 传统三层 | Spine-Leaf |
|---|---|---|
| 防环机制 | STP,链路阻塞 | 路由 + ECMP,链路全用 |
| 东西流量 | 跳数多、易瓶颈 | 固定三跳、延迟稳定 |
| 带宽利用 | 冗余链路闲置 | 多路径并行、利用率高 |
| 扩容方式 | 改上层、动整体 | 加 Spine/Leaf 模块化扩展 |
| 故障影响 | STP 整网收敛 | 局部故障、快速绕行 |
| 多租户 | VLAN 数量受限 | VXLAN/EVPN,海量逻辑网络 |
| 典型场景 | 园区、传统网络 | 数据中心、云、AIDC |
补充:Spine-Leaf 也不是万能的
- 全互联意味着规模受 Spine 端口密度限制:Leaf 越多,每台 Spine 要拿出的端口越多,超过上限就得引入多级架构;
- 对几十、几百台终端的普通园区,全三层加 VXLAN 反而增加运维复杂度,用熟悉的两层园区架构更划算;
- 架构没有绝对优劣,关键看流量模型、规模和团队运维能力,别为了“看起来先进”盲目上 Spine-Leaf。
七、AIDC 智算中心:Spine-Leaf 的“升级版”

- GPU 集群里参数同步、分布式训练产生超大东西向流量,对带宽和延迟比通用数据中心更敏感;
- 智算网络普遍采用多平面、多级胖树 Spine-Leaf,并引入无损以太网技术:RoCEv2、PFC(优先级流控)、ECN/DCQCN 拥塞控制,让 RDMA 流量不丢包;
- 算力规模越大,Leaf 上行带宽和 Spine 容量越要按无阻塞比(如 1:1 收敛比)设计,这也是第 103 课把数据中心/AIDC 列为重要转型方向的原因;
- 具体参数和设备能力差异很大,规划时以实际产品和业务模型为准。
八、配置示例:Leaf/Spine 路由与 VXLAN
1. Leaf 上 BGP 与 ECMP
[Leaf] bgp 65001
[Leaf-bgp] router-id 10.0.0.1
[Leaf-bgp] peer 10.1.1.1 as-number 65000
[Leaf-bgp] peer 10.1.2.1 as-number 65000
[Leaf-bgp] maximum load-balancing 4
[Leaf-bgp] quit
- Leaf 与两台 Spine(接口地址 10.1.1.1、10.1.2.1)建立 BGP 邻居,
maximum load-balancing 4开启 ECMP,让多条上联链路同时分担流量,路径按报文五元组哈希分配。
2. VXLAN 接入(Leaf 侧)
[Leaf] bridge-domain 10
[Leaf-bd10] vxlan vni 10010
[Leaf-bd10] quit
[Leaf] interface Nve1
[Leaf-Nve1] source 10.0.0.1
[Leaf-Nve1] vni 10010 head-end peer-list 10.0.0.2
[Leaf-Nve1] quit
- BD 绑定 VNI,Nve 接口做 VXLAN 封装,head-end peer-list 指定对端 Leaf 的 VTEP 地址。
3. 验证
[Leaf] display bgp peer
Peer State
10.1.1.1 Established
10.1.2.1 Established
[Leaf] display vxlan vni
VNI BD State
10010 10 Up
关键看 BGP 邻居是否 Established、VXLAN VNI 是否 Up,再结合
display ip routing-table确认等价路由下一跳有多条。
4. 光纤与光模块衰减:收光功率是关键
- Spine-Leaf 全互联,光纤和光模块数量巨大,光信号在链路上的衰减直接决定端口会不会误码、闪断;
- 光模块有两个关键功率:发送光功率 Tx 和 接收光功率 Rx,接收端还有个接收灵敏度,即能正确识别的最弱光功率;
- 光功率预算 = 发送光功率 − 接收灵敏度,整条链路的实际衰减必须小于这个预算,否则收光功率低于灵敏度,开始丢包;
- 衰减来源:光纤本身(距离越长衰减越大,单模/多模、波长不同衰减不同)、法兰盘和熔接点的插损、过度弯折、端面脏污;
- 排障用
display transceiver看两端收发光功率,对照模块标称范围判断。
[Leaf] display transceiver interface 100GE1/0/1 verbose
Current Rx Power(dBm) : -6.21
Current Tx Power(dBm) : -2.05
关键看 Rx 是否落在模块接收范围内、且高于灵敏度;Rx 明显偏低往往是端面脏、弯折或熔接差,先清洁端面、更换跳纤再测,具体门限以模块规格为准。
- 端口时通时断、错误包计数增长但配置全对,优先查光功率和光模块;
- 两端功率都正常仍报错,检查两端模块速率、波长是否匹配兼容,必要时换模块或换端口。
九、数据中心网络问题排查
| 现象 | 命令 | 看到什么 | 判断 | 动作 |
|---|---|---|---|---|
| 邻居起不来 | display bgp peer | State 非 Established | 路由/IP 配置问题 | 查接口 IP、AS 号 |
| 链路未分担 | display ip routing-table | 只有一个下一跳 | ECMP 未生效 | 查负载均衡配置 |
| VXLAN 不通 | display vxlan vni | State Down | VNI/VTEP 问题 | 查 Nve、peer-list |
| 局部丢包 | display interface | 错误包/拥塞计数 | 物理或拥塞问题 | 查光模块、ECN |
| 收光功率低 | display transceiver | Rx 接近或低于灵敏度 | 光纤衰减/端面脏 | 清洁端面、换跳纤 |
| 端口闪断 | display transceiver | 功率时高时低 | 弯折/模块不匹配 | 查布线、换光模块 |
| 无损网络丢包 | display priority-flow-control statistics | PFC 死锁/缓存丢 | 无损配置问题 | 调 PFC/ECN 水线 |
| 扩容后异常 | display bgp routing-table | 路由缺失 | 新设备未放通 | 查路由策略、全互联 |
十、🔧 运维视角 & 📐 设计视角
🔧 运维视角:
- 数据中心排障先看 BGP 邻居和 Underlay 连通,再看 VXLAN/EVPN 的 Overlay,分层定位;
- 扩容严格按“新 Leaf 接全所有 Spine、新 Spine 接全所有 Leaf”的规矩,漏接就会出现路径不均;
- 关注 ECMP 哈希是否均衡,避免个别链路偏热点;
- 光模块故障最隐蔽,端口配置全对却丢包时,用
display transceiver看收光功率,清洁端面、换跳纤是最快的验证手段。
📐 设计视角:
- 先按服务器规模和东西流量估算 Leaf/Spine 数量、端口密度和收敛比,再选设备;
- 提前定好 Underlay 编址、BGP AS 规划和 VNI/VTEP 方案,多租户留足余量;
- AIDC 要把无损网络和无阻塞比作为硬性指标,不能照搬通用数据中心。
十一、思科对照
| 目的 | 华为 | 思科 |
|---|---|---|
| 数据中心架构 | CloudEngine Spine-Leaf | Nexus + ACI/VXLAN |
| 底层路由 | BGP + ECMP | BGP + ECMP |
| 大二层 | VXLAN | VXLAN(VTEP) |
| 控制平面 | BGP EVPN | MP-BGP EVPN |
| 看邻居 | display bgp peer | show bgp summary |
| 看 VXLAN | display vxlan vni | show nve vni |
设备和命令不同,Clos、全互联、ECMP、VXLAN/EVPN 的设计思想完全一致。
十二、小结与命令速查表
- 数据中心东西流量大,传统三层受 STP 阻塞、扩容难、延迟不可预测,Spine-Leaf 是标准答案;
- Leaf 接服务器、Spine 做互联,全互联后东西流量固定三跳、延迟稳定;
- 靠 BGP + ECMP 让所有链路并行可用,VXLAN 构建大二层、EVPN 做控制面,支持海量租户;
- 扩容模块化、故障域小,AIDC 进一步用胖树和无损网络承载 GPU 流量。
本篇命令速查表:
| 目的 | 关键命令 |
|---|---|
| BGP 进程 | bgp as-number |
| 建邻居 | peer ... as-number |
| 等价多路径 | maximum load-balancing |
| 绑定 VNI | vxlan vni |
| VXLAN 隧道 | interface Nve + head-end peer-list |
| 看邻居 | display bgp peer |
| 看 VXLAN | display vxlan vni |
| 看路由 | display ip routing-table |
| 看光模块功率 | display transceiver |
十三、思考题 & 评论区接招
💬 互动题(评论区接招):
你们机房是传统三层还是 Spine-Leaf?多少台服务器、多少台 Spine?
- 不看资料,说说 Leaf 和 Spine 各管什么,为什么东西流量能固定三跳?
- ECMP 相比 STP 解决了什么问题?VXLAN 为什么能突破 VLAN 数量限制?
- EVPN 相比传统泛洪学 MAC 好在哪?AIDC 为什么要上无损网络?
把你的数据中心组网(服务器规模、Spine/Leaf 数、是否 VXLAN,打码)发在评论区,我帮你看架构和收敛比合不合理。
系列导航:
- 上一课:第 52 课《层次化架构》
- 下一课:第 54 课《冗余设计——消灭单点》
- 专栏主页:[网络工程师进阶:企业组网实战——从交换机配置到园区网交付]
我是你们的老网工。这一课你已经看懂了数据中心的 Spine-Leaf,也明白了 VXLAN/EVPN 和 AIDC 无损网络是怎么回事。回到园区网,无论哪种架构,可靠性都是绕不开的硬指标:双链路、双核心、双电源到底怎么配,故障域怎么划,可靠性预算怎么算?下一课《冗余设计——消灭单点》,我们接着讲。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)