2. Spectrum交换机硬件架构解析
理解 Spectrum 交换机的硬件架构,是后续做容量规划、选型和排障的基础。Spectrum 系列的核心是一颗名为 Spectrum ASIC 的商用交换芯片,NVIDIA 围绕它构建了从 1U 盒式到模块化机框的完整产品线。本节从 ASIC 内部结构、端口与密度、缓存与转发机制三个层面展开,最后给出典型型号的选型对比方法。
一、Spectrum ASIC 的内部架构
Spectrum ASIC 采用典型的“共享缓存 + 多级流水线”交换架构,可拆成四个功能域:
- 端口/MAC 层(Port & MAC):每个物理 SerDes 通道对应一个 MAC/PCS 逻辑,负责编解码、链路训练、FEC 处理。Spectrum-2 支持 100G/200G/400G 的 PAM4 信号,Spectrum-3/4 进一步支持 800G。
- ingress 流水线(Ingress Pipeline):报文进入后依次完成解析(Parser)、ACL/策略匹配、L2/L3 查表、隧道解封装、ECMP 哈希选路。这一级决定报文“往哪走”。
- 共享缓存与队列管理(Buffering & MMU):所有端口共享同一块片上 SRAM 缓存,由 MMU(Memory Management Unit)按动态阈值(Dynamic Threshold)分配,避免单端口突发占满缓存。
- egress 流水线(Egress Pipeline):完成出向 ACL、镜像、调度(SP/WRR/DWRR)、整形(shaping)后送 MAC 发送。
需要特别注意的是,Spectrum 的转发是“一次查表、共享缓存”的 store-and-forward 模式,而非 cut-through。这意味着它天然支持大缓存吸收突发,但会引入约 1~2 μs 的固定时延(视芯片代次和包长而定)。
二、端口配置与密度
Spectrum 的端口密度由 ASIC 的 SerDes 数量和单通道速率共同决定。以 Spectrum-2 为例,单芯片提供 64 个 50G PAM4 SerDes,可灵活拆分组合:
| 芯片代次 | 单芯片总带宽 | 典型端口组合 | 适用场景 |
|---|---|---|---|
| Spectrum-1 | 3.2 Tbps | 32×100G / 64×50G | 接入层、25G 服务器汇聚 |
| Spectrum-2 | 6.4 Tbps | 64×100G / 32×200G / 16×400G | 叶层、100G/200G 主流 |
| Spectrum-3 | 12.8 Tbps | 64×200G / 32×400G | 骨干叶脊、400G 上行 |
| Spectrum-4 | 25.6 Tbps | 64×400G / 128×200G | AI 训练集群、800G 演进 |
端口拆分(breakout)是提升密度的关键手段。一个 400G QSFP-DD 端口可拆成 4×100G 或 2×200G,通过 DAC 或光模块连接不同速率的服务器。例如在 100G 服务器接入场景中,用 32×400G 的 Spectrum-3 交换机,每口拆 4×100G,即可提供 128 个 100G 接入端口,上行再用 8×400G 连接脊层,收敛比约 4:1。
三、缓存与转发机制
缓存是 Spectrum 区别于普通数据中心交换机的核心优势之一。Spectrum-2 单芯片共享缓存约 42 MB(示例值,具体以型号 datasheet 为准),远大于同代竞品的 16~32 MB。大缓存的意义在于:
- 吸收微突发:RoCE 流量常出现毫秒级突发,大缓存可避免丢包触发重传。
- 支持 PFC 反压:当出端口拥塞时,缓存暂存报文并向上游发 PFC Pause 帧,形成无损链路。
- 配合 ECN 实现端到端拥塞控制:缓存水位超过阈值时标记 ECN,服务器端 DCQCN 降速。
转发机制上,Spectrum 采用基于哈希的 ECMP 选路。对于 RoCE 流量,建议启用基于流的哈希(flow-based hashing),保证同一 QP 的报文走同一路径,避免乱序。配置示例如下:
# 在 Spectrum 交换机上启用 RoCE 无损相关配置(示例)
interface ethernet 1/1
mtu 9216
flowcontrol receive on
flowcontrol send on
priority-flow-control mode on
priority-flow-control priority 3 no-drop
!
interface ethernet 1/1
dcb priority-flow-control priority 3 no-drop
dcb ets priority-group 0 bandwidth 50
dcb ets priority-group 1 bandwidth 50
!
# 查看缓存与 PFC 统计
show interface ethernet 1/1 counters priority-flow-control
show platform mmu counters
观察结果时,重点看 priority-flow-control 的 Pause 帧收发计数和 MMU 的缓存水位。若 Pause 帧持续增长,说明链路存在持续拥塞,需要检查收敛比或调整 ECN 阈值。
四、典型硬件型号选型对比
选型时需同时考虑带宽、端口形态、缓存、时延和软件特性。下表给出常见型号的对比维度(参数为示例,实际以官方 datasheet 为准):
| 型号 | 芯片 | 端口配置 | 缓存 | 典型定位 |
|---|---|---|---|---|
| SN2010 | Spectrum-1 | 18×100G + 4×10G | 约 16 MB | 小型接入、存储前端 |
| SN2410 | Spectrum-1 | 48×25G + 8×100G | 约 16 MB | 25G 服务器接入 |
| SN2700 | Spectrum-1 | 32×100G | 约 16 MB | 100G 叶层 |
| SN3700 | Spectrum-2 | 32×200G / 64×100G | 约 42 MB | 200G 叶层、RoCE 无损 |
| SN4600 | Spectrum-3 | 64×200G / 32×400G | 约 64 MB | 400G 骨干叶脊 |
| SN5600 | Spectrum-4 | 64×400G / 128×200G | 约 128 MB | AI 训练、800G 演进 |
选型决策可归纳为三步:第一步,根据服务器接入速率确定端口形态(25G/100G/200G/400G);第二步,根据收敛比计算上行带宽,确定交换机总带宽和脊层端口数;第三步,若承载 RoCE 或存储流量,优先选择大缓存型号(Spectrum-2 及以上),并确认支持 PFC/ECN。例如一个 128 台 100G 服务器的集群,接入层用 4 台 SN3700(每台 64×100G),上行 32×200G 到脊层,收敛比约 2:1,缓存 42 MB 足以吸收 RoCE 突发。