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 内部数据通路与共享缓存架构 端口 / MAC 层 SerDes · PCS · FEC 100G PAM4 200G PAM4 400G PAM4 25G NRZ 10G NRZ 1G / 管理口 Ingress 流水线 Parser 解析 ACL / 策略匹配 L2 / L3 查表 ECMP 哈希选路 共享缓存 / MMU 片上 SRAM 缓存池 动态阈值分配 PFC / ECN 标记 队列调度 SP/WRR Egress 流水线 出向 ACL / 镜像 整形 Shaping 调度 DWRR MAC 发送 关键机制说明 • Store-and-Forward:整包收完再转发,支持大缓存吸收突发,时延约 1~2 μs(示例值,随芯片代次变化) • 共享缓存:所有端口共用片上 SRAM,MMU 按动态阈值分配,防止单端口独占 • 无损网络:PFC 按优先级暂停 + ECN 标记,配合 DCQCN 实现 RoCE 无损 • 可编程性:Spectrum-2 起支持部分可编程流水线,可自定义 ACL/遥测逻辑 • 遥测:支持 sFlow、INT(In-band Network Telemetry)逐跳采集时延与队列深度

二、端口配置与密度

Spectrum 的端口密度由 ASIC 的 SerDes 数量和单通道速率共同决定。以 Spectrum-2 为例,单芯片提供 64 个 50G PAM4 SerDes,可灵活拆分组合:

芯片代次单芯片总带宽典型端口组合适用场景
Spectrum-13.2 Tbps32×100G / 64×50G接入层、25G 服务器汇聚
Spectrum-26.4 Tbps64×100G / 32×200G / 16×400G叶层、100G/200G 主流
Spectrum-312.8 Tbps64×200G / 32×400G骨干叶脊、400G 上行
Spectrum-425.6 Tbps64×400G / 128×200GAI 训练集群、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 为准):

型号芯片端口配置缓存典型定位
SN2010Spectrum-118×100G + 4×10G约 16 MB小型接入、存储前端
SN2410Spectrum-148×25G + 8×100G约 16 MB25G 服务器接入
SN2700Spectrum-132×100G约 16 MB100G 叶层
SN3700Spectrum-232×200G / 64×100G约 42 MB200G 叶层、RoCE 无损
SN4600Spectrum-364×200G / 32×400G约 64 MB400G 骨干叶脊
SN5600Spectrum-464×400G / 128×200G约 128 MBAI 训练、800G 演进

选型决策可归纳为三步:第一步,根据服务器接入速率确定端口形态(25G/100G/200G/400G);第二步,根据收敛比计算上行带宽,确定交换机总带宽和脊层端口数;第三步,若承载 RoCE 或存储流量,优先选择大缓存型号(Spectrum-2 及以上),并确认支持 PFC/ECN。例如一个 128 台 100G 服务器的集群,接入层用 4 台 SN3700(每台 64×100G),上行 32×200G 到脊层,收敛比约 2:1,缓存 42 MB 足以吸收 RoCE 突发。

选型时不要只看端口数量,还要确认:是否支持所需的 breakout 模式、缓存是否满足无损网络要求、软件版本是否支持目标特性(如 INT、sFlow、EVPN 等)。建议在采购前用 NVIDIA 官方选型工具或与 FAE 确认具体型号的 datasheet 参数。