第251篇:数据中心网络架构演进:传统三层到 Spine-Leaf

关键词

数据中心网络、三层架构、Spine-Leaf、CLOS架构、网络演进、南北向流量、东西向流量


一、传统数据中心三层架构

1.1 三层架构结构

传统数据中心网络采用核心-汇聚-接入三层架构:

传统三层数据中心架构:

      ┌─────── 出口路由器 ───────┐
              │        │
        ┌─────┴────────┴─────┐
        │    核心层(Core)     │
        │   Core-1  Core-2   │
        │  (冗余+高速转发)    │
        └────────┬───────────┘
                 │
        ┌────────┴───────────┐
        │    汇聚层(Agg)     │
        │   Agg-1   Agg-2    │
        │  (STP/LACP/VLAN)   │
        └──┬───┬────┬───┬───┘
           │   │    │   │
接入1 接 入 2 接 入 3 接入N

特点: 核心层:高速转发、冗余 汇聚层:VLAN 终结、STP、路由聚合 接入层:服务器接入

1.2 三层架构的局限

三层架构在数据中心中遇到的问题:

问题 1:东西向流量瓶颈
  数据中心流量模式变化:
    传统:80% 南北向(客户端→服务器)
    现代:80% 东西向(服务器↔服务器)

  东西向流量必须经过汇聚核心:
  服务器1 ──► 接入1 ──► 汇聚1 ──► 核心 ──► 汇聚2 ──► 接入2 ──► 服务器2
  带宽瓶颈明显

问题 2:STP 的局限
  STP 阻塞冗余链路 → 带宽浪费
  一条链路故障 → STP 收敛 30-50 秒
  无法利用多路径

问题 3:扩展性差
  增加接入层交换机需调整汇聚层
  增加汇聚层交换机需调整核心层
  架构耦合度高

问题 4:VLAN 蔓延
  大二层需求 → VLAN 跨多台设备
  VLAN 规模受限(4094)
  MAC 地址表膨胀

二、Spine-Leaf 架构

2.1 架构原理

Spine-Leaf(叶脊)架构基于 CLOS 网络模型:

Spine-Leaf 架构:

          ┌────── 出口 ──────┐
                │     │
     ┌──────────┴─────┴──────────┐
     │  Spine-1    Spine-2       │
     │  Spine-3    Spine-4       │
     │  (所有Spine全互联)         │
     └──┬──┬──┬──┬──┬──┬──┬──┬──┘
        │  │  │  │  │  │  │  │
Leaf-1 (接入) Leaf-2 Leaf-3 Leaf-N
│ │ │
服务器 机柜 服务器 机柜
--- --- ---

CLOS 网络特征: 每个 Leaf 连接到所有 Spine 每个 Spine 连接到所有 Leaf Leaf 之间不直接连接 Spine 之间不直接连接

2.2 架构特点

Spine-Leaf 核心设计特点:

1. 全互联(Full Mesh)
   Leaf-Spine 之间的 Full Mesh 连接
   任意 Leaf 到任意其他 Leaf 的跳数为 2

2. 水平扩展
   增加 Spine → 增加带宽(上行扩容)
   增加 Leaf → 增加端口(接入扩容)
   互不影响

3. 无环路设计
   ECMP 替代 STP
   所有链路负载分担
   无阻塞链路

4. 一致的跳数
   任何两台服务器之间都是 2 跳
   延迟可预测

Spine-Leaf 架构对比三层架构:

        传统三层                  Spine-Leaf
  ────────────────────────────────────────────────
  南北向优先                  东西向优先
  STP 阻塞冗余链路             ECMP 所有链路可用
  扩展性差                    水平扩展
  VLAN 蔓延                   VXLAN Overlay
  收敛时间 30-50 秒            ECMP 秒级收敛
  带宽利用率 50%               带宽利用率 90%+
  跳数不固定(2-6 跳)         固定 2 跳

三、CLOS 网络模型

3.1 CLOS 理论基础

CLOS 网络由 Charles Clos 在 1953 年提出,用于电话交换网络:

CLOS 网络模型:

无阻塞 CLOS(3 级):

┌── 中间级 1 ──┐
┌─────┤ ├─────┐
中间级 M
入 ───┤ ... ├─── 出
级 ───┤ 中间级 N ├─── 级

关键公式(无阻塞条件): 中间级数量 ≥ 2 × n - 1 其中 n = 入级输入端口数

Spine-Leaf 中的 CLOS: Leaf = CLOS 入级/出级 Spine = CLOS 中间级

无阻塞条件: Spine 数量 × Spine 端口速率 ≥ Leaf 下行总带宽

3.2 无阻塞与收敛比

Spine-Leaf 的收敛比:

收敛比 = 上行总带宽 / 下行总带宽

常见收敛比:
  1:1      无阻塞(全带宽)    高性能
  2:1      轻度收敛            通用
  3:1      中度收敛            成本优化
  4:1+     重度收敛            最低成本

计算示例:
  48 口 Leaf,每个端口 25G
  下行带宽 = 48 × 25G = 1.2T

  4 个 100G 上行到 Spine
  上行带宽 = 4 × 100G = 400G

  收敛比 = 400G / 1200G = 1:3

  选择:
    高性能计算:1:1
    通用业务:  2:1 ~ 3:1
    存储/备份:  1:1(大流量)

四、Spine-Leaf 的优势

4.1 性能优势

Spine-Leaf vs 三层 — 东西向流量路径对比:

三层架构(东西向):
  服务器A ─► 接入1 ─► 汇聚1 ─► 核心 ─► 汇聚2 ─► 接入2 ─► 服务器B
  带宽瓶颈:汇聚/核心 3 层设备
  延迟:高(多次转发)

Spine-Leaf(东西向):
  服务器A ─► Leaf1 ─► Spine ─► Leaf2 ─► 服务器B
  最大 2 跳
  所有链路可用(ECMP)

带宽利用率对比:
  三层:STP 阻塞一半链路 → 50% 利用率
  Spine-Leaf:ECMP 全部链路 → 90%+ 利用率

4.2 扩展性

扩展性对比:

扩展接入容量(添加服务器):
  三层:重新规划 VLAN、调整 STP
  Spine-Leaf:添加 Leaf → 连接到所有 Spine → 完成

扩展总带宽:
  三层:升级核心设备(成本高,影响大)
  Spine-Leaf:添加 Spine → ECMP 自动负载 → 带宽增加

扩展举例:
  初始:4 Spine + 8 Leaf
  带宽:4 × 100G × 8 = 3.2T(上行)

  添加 2 Spine:
  带宽:6 × 100G × 8 = 4.8T(上行增加 50%)

  添加 4 Leaf:
  端口:12 Leaf × 48 × 25G = 14.4T(下行)
  上行带宽不变 → 收敛比变化

五、迁移路径

5.1 从三层迁移到 Spine-Leaf

迁移路径:

阶段 1:新建 Spine-Leaf 域 保持旧三层架构运行 新建 Spine-Leaf 平面 逐步迁移新业务到新平面

阶段 2:Overlay 打通 VXLAN Overlay 连接新旧平面 业务平滑迁移

阶段 3:下线旧架构 全部业务迁移后 拆除旧三层设备 全面使用 Spine-Leaf

迁移前:三层 核心 ── 汇聚 ── 接入 ── 服务器 迁移中:双平面 旧:核心 ── 汇聚 ── 接入 ── 旧服务器 新:Spine ── Leaf ── 新服务器 互通:VXLAN / 路由 迁移后:Spine-Leaf Spine ── Leaf ── 所有服务器


六、总结

知识点 核心要点
传统三层架构 核心-汇聚-接入,南北向优先
三层局限 STP 阻塞、扩展性差、东西向瓶颈
Spine-Leaf 基于 CLOS 的全互联架构
东西向流量 任意 2 跳到达,低延迟
ECMP 替代 STP 所有链路负载分担,利用率 90%+
水平扩展 加 Spine 增带宽,加 Leaf 增端口
收敛比 1:1(无阻塞)到 4:1(成本优化)
迁移路径 双平面并行 → 平滑迁移

七、思考

  1. 传统数据中心三层架构在面对现代数据中心"东西向流量为主"的挑战时有哪些不足?
  2. Spine-Leaf 架构为什么能实现"无环路"设计?它如何利用所有带宽?
  3. CLOS 网络模型中的收敛比是什么含义?1:1 和 3:1 分别适合什么场景?
  4. 为什么 Spine-Leaf 扩展性优于传统三层?添加 Spine 设备时 Leaf 需要做什么配置?
  5. 从三层架构迁移到 Spine-Leaf 的推荐路径是什么?

下篇预告:第252篇《Spine-Leaf 架构原理:为什么取代三层架构》——深入分析 Spine-Leaf 的技术原理、带宽计算方法与部署设计考量。