Store-and-Forward Switching ·
3 秒看懂
Store-and-Forward(存储转发)是交换机最基本的帧转发模式:先完整接收整个帧,校验无误后再转发。相比直通式(Cut-Through)转发,它牺牲了逐跳延迟,但保证了不会把损坏帧传播到下游网络。这个诞生于 1990 年代以太网交换的机制,至今仍是绝大多数企业与数据中心交换机的默认转发模式。
3 分钟产业解释
为什么这件事重要?
在 AI 训练集群中,数千张 GPU 通过 RoCEv2/RDMA 进行 AllReduce 等集合通信。每一次集合通信需要跨多跳交换机传递海量数据——每多一跳 Store-and-Forward 延迟,就会在数百次迭代中累积,直接影响 GPU 利用率和训练吞吐。
这正是为什么 NVIDIA 在其 Spectrum 系列交换机产品线中强调 Cut-Through 转发支持——在大规模 AI 训练网络中,转发模式的选择从一个”教科书知识点”变成了实实在在的硬件选型指标。
三种转发模式一图概览
| 模式 | 转发时机 | 错误过滤 | 典型延迟(以太网) |
|---|---|---|---|
| Store-and-Forward | 收完整帧 → 校验 FCS → 转发 | ✅ 过滤所有 CRC 错误帧 | 较高,正比于帧长 |
| Cut-Through | 读到目的 MAC 即开始转发 | ❌ 错误帧会被转发 | 最低,几乎恒定 |
| Fragment-Free(改良直通) | 读完前 64 字节后转发 | ⚠️ 过滤碰撞碎片 | 介于两者之间 |
15 分钟专家深入
核心机制
Store-and-Forward 的工作流程:
- 接收(Receive):交换端口将进入的以太网帧完整缓存到端口缓冲区(通常为片上 SRAM 或外部 SRAM/DRAM)
- 校验(Validate):对帧进行 FCS(Frame Check Sequence,即 CRC-32)校验;同时可执行其他策略检查(VLAN 标签、ACL 等)
- 查表转发(Lookup & Forward):通过目的 MAC 地址查找转发表(CAM/TCAM),确定出端口
- 排队输出(Queue & Transmit):将帧放入出端口队列,等待调度发送
关键延迟组成:
- 串行化延迟(Serialization Delay):帧长 ÷ 线速。千兆以太网下,一个 1518 字节帧的串行化延迟约 12.3 µs
- 存储延迟:等待完整帧接收完毕(= 串行化延迟),这是 S&F 与 Cut-Through 的本质差异
- 查表 + 排队延迟:纳秒到微秒级,与转发模式无关
┌──────────────────────────────────────────────────────┐
│ Store-and-Forward vs Cut-Through │
│ │
│ 帧: [Preamble][DST MAC][SRC MAC]...[Payload...][FCS] │
│ │
│ Store-and-Forward: │
│ ├─ Receive entire frame ──────────────────┐ │
│ │ (wait full serialization delay) │ │
│ ├─ Check FCS ── OK? │ │
│ │ ├─ YES → Lookup → Forward │ │
│ │ └─ NO → DROP │ │
│ │ │ │
│ Latency per hop ≈ 1 × serialization + T_lookup │
│ │
│ Cut-Through: │
│ ├─ Read DST MAC (first ~14 bytes) ──┐ │
│ ├─ Lookup immediately │ │
│ ├─ BEGIN FORWARDING while still receiving ─┐ │
│ │ │ │
│ Latency per hop ≈ T_lookup only (constant) │
│ │
└──────────────────────────────────────────────────────┘
为什么错误过滤如此重要?
以太网 CRC-32 能检测所有 ≤ 32 位突发错误,检测率 > 99.999999975%。如果使用 Cut-Through,一个因物理层问题(串扰、EMI、光模块劣化)产生的坏帧会被无条件转发到下游——在多跳网络中,坏帧不仅浪费带宽,还可能导致上层协议(TCP)触发不必要的拥塞控制和重传。
在传统企业网络中,这一特性极为关键,因为网络拓扑复杂、线缆质量参差不齐。
在 AI 集群中的权衡
现代 AI 训练网络(如 NVIDIA DGX SuperPOD)呈现以下特征:
- 线缆质量高度可控:专用数据中心、短距 DAC/AOC、光纤质量一致性高 → CRC 错误率极低
- 流量模式高度可预测:集合通信(AllReduce/AllGather/ReduceScatter)是主力
- 延迟敏感性极高:RDMA/RoCEv2 对 P99.9 尾延迟非常敏感
因此,在 AI 训练网络中,Cut-Through 的低延迟优势往往比 Store-and-Forward 的错误过滤更有价值,前提是物理层质量有保障。
技术原理(深入机制)
一、帧处理流水线详解
[Ingress Port]
│
▼
┌─────────────┐
│ Deserializer │ ← 串行→并行转换,同时检测前导码/SFD
│ (SerDes) │
└──────┬──────┘
│
▼
┌─────────────────────────────────────────────┐
│ Frame Buffer (SRAM) │
│ ┌─────────────────────────────────────┐ │
│ │ Store-and-Forward: 整帧缓存于此 │ │
│ │ Cut-Through: 仅缓存已接收部分 │ │
│ └─────────────────────────────────────┘ │
└──────────────┬──────────────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ FCS Check Engine │
│ - 输入: 完整帧 (S&F) / 帧尾追加校验 │
│ - 输出: GOOD / BAD │
│ - S&F模式: BAD → Drop + 计数器递增 │
│ - CT模式: FCS检查在转发之后 │
│ (可通过后续端口或上行做延迟丢弃) │
└──────────────┬───────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ L2 Lookup Engine (CAM/TCAM) │
│ - DST MAC → 出端口/出端口集合 │
│ - 未命中 → 泛洪 (unknown unicast) │
│ - 多播 → 复制到多个出端口 │
└──────────────┬───────────────────────┘
│
▼
┌──────────────────────────────────────┐
│ Output Queue Scheduler │
│ - QoS 优先级队列 (通常 8 级) │
│ - 调度算法: SP / WRR / DWRR │
│ - 拥塞管理: WRED / ECN marking │
└──────────────┬───────────────────────┘
│
▼
[Egress Port → 下一跳]
二、延迟数学模型
对于一个 L 字节的以太网帧在线速 R bps 的链路上:
| 延迟项 | 表达式 | 说明 |
|---|---|---|
| 串行化延迟 | T_ser = (L × 8) / R | 帧完全送上链路所需时间 |
| S&F 额外延迟 | ΔT ≈ T_ser | 必须等待帧接收完毕才能开始转发 |
| 查表延迟 | T_lookup | 硬件实现决定,通常 50–500 ns |
| 传播延迟 | T_prop = d / c_medium | 与转发模式无关,由物理距离决定 |
S&F 单跳总延迟:T_SaF ≈ T_ser + T_lookup
Cut-Through 单跳总延迟:T_CT ≈ T_lookup
注意:S&F 的额外转发延迟约等于一帧的串行化时间,因为必须收完整个帧才能开始转发。Cut-Through 则在读到目的 MAC 后几乎立即开始发送,收发大幅重叠。
实际数字示例(估算):
| 帧长 | 10GbE 串行化延迟 | S&F 额外延迟 (≈ T_ser) | CT 额外延迟 |
|---|---|---|---|
| 64 B | ~51 ns | ~51 ns | ~0 ns |
| 1518 B | ~1.2 µs | ~1.2 µs | ~0 ns |
| 9000 B (Jumbo) | ~7.2 µs | ~7.2 µs | ~0 ns |
以上为理论估算值,实际还受交换芯片流水线深度、缓冲区管理等影响。
三、与 MTU/Jumbo Frame 的交互
这是一个经常被忽视但非常关键的点:
- 标准以太网 MTU = 1500 字节(帧长 1518 字节含头部/FCS,VLAN tagged 为 1522 字节)
- 巨型帧(Jumbo Frame)MTU = 9000 字节(帧长约 9018 字节)
- S&F 模式下,Jumbo Frame 的每跳延迟是标准帧的 ~6 倍
在 RDMA/RoCEv2 网络中,如果使用 Jumbo Frame 且底层交换机运行 S&F 模式,那么每次 RDMA READ/WRITE 操作在多跳路径上的累积延迟会显著增加——这在 AI 训练的 AllReduce 中被放大为更长的同步等待时间。
技术演进史
| 时期 | 关键事件 | 背景 |
|---|---|---|
| 1990 年代初 | 以太网从共享介质(Hub)向交换式(Switch)转型 | S&F 成为早期交换机的自然选择——帧完整接收后才有”交换”可言 |
| 1993–1995 | Kalpana(后被 Cisco 收购)、Grand Junction 等推出首批以太网交换机 | 部分厂商实现 Cut-Through 以降低延迟,但 S&F 因错误过滤优势成为主流 |
| 1996–2000 | Cisco Catalyst 系列推动”三种转发模式”概念普及 | Fragment-Free 作为折中方案被提出(读 64 字节即可过滤碰撞碎片) |
| 2000 年代 | 万兆以太网(10GbE)普及,全双工成为标配 | 碰撞域消失,Fragment-Free 失去存在意义;S&F 因硬件加速查表延迟极低而几乎无延迟劣势 |
| 2010 年代 | InfiniBand vs Ethernet 在 HPC/数据中心的竞争 | InfiniBand 原生 Cut-Through,以太网阵营通过交换芯片优化缩小延迟差距 |
| 2016–2020 | NVIDIA(Mellanox)推出 Spectrum 系列交换机,强调 Cut-Through 支持 | AI 训练网络对延迟敏感度提升,Cut-Through 重新成为卖点 |
| 2020 年代 | 400G/800G 以太网 + 超大规模 AI 集群 | 线速提升使串行化延迟降低,但帧体积也在增大(Jumbo Frame + RDMA),S&F 的延迟开销仍需关注 |
技术路线对比
Store-and-Forward vs Cut-Through vs Fragment-Free
| 维度 | Store-and-Forward | Cut-Through | Fragment-Free |
|---|---|---|---|
| 转发时机 | 收完整帧后 | 读目的 MAC 后立即 | 读 64 字节后 |
| 每跳额外延迟 | ≈ 1 × 帧串行化时间 | ≈ 0(恒定低延迟) | ≈ 64B 串行化时间 |
| 错误帧过滤 | ✅ 完整 FCS 校验 | ❌ 无法过滤 | ⚠️ 仅过滤碰撞碎片 |
| 缓冲区需求 | 需存储完整帧 | 仅需输入/输出缓冲 | 介于两者之间 |
| 对流量的影响 | 坏帧不占下游带宽 | 坏帧可能浪费下游带宽 | 部分保护 |
| 适用场景 | 企业网络、WAN、对可靠性要求高的场景 | HPC、AI 训练、低延迟交易 | 早期以太网(已淘汰) |
| 现代硬件支持 | 所有交换机默认支持 | 高端数据中心交换机支持 | 基本已消失 |
| 与 Jumbo Frame 交互 | 延迟显著增大 | 几乎无影响 | 不适用 |
在 AI 集群网络中的实操选择
| 网络层级 | 典型选择 | 理由 |
|---|---|---|
| In-Cluster Fabric(GPU-Leaf) | Cut-Through 优先 | 最小化 AllReduce 尾延迟;物理层质量可控 |
| Spine / Super-Spine | Cut-Through 或 Store-and-Forward | 取决于厂商默认配置;链路质量通常有保障 |
| 跨集群 / WAN | Store-and-Forward | 链路质量不可控,必须过滤错误帧 |
| 管理网络 / 存储网络 | Store-and-Forward | 对延迟不敏感,优先可靠性 |
上下游
上游(依赖的技术/组件)
| 层级 | 关联技术 | 说明 |
|---|---|---|
| 物理层 | SerDes(串行/解串器) | 将串行比特流转换为并行数据,决定帧接收速度 |
| 物理层 | 光模块 / DAC / AOC | 物理介质质量直接影响 CRC 错误率,进而决定 S&F 过滤的价值 |
| 芯片层 | 交换 ASIC(如片上 SRAM) | 帧缓冲区的大小和速度决定 S&F 的实现效率 |
| 协议层 | 以太网帧格式(IEEE 802.3) | FCS 校验机制的定义 |
下游(影响的技术/应用)
| 层级 | 关联技术 | 说明 |
|---|---|---|
| 传输层 | TCP 拥塞控制 | S&F 过滤坏帧 → 减少无效重传 → 更稳定的 TCP 窗口 |
| 传输层 | RoCEv2 / RDMA | 转发延迟直接影响 RDMA 操作的完成时间 |
| 应用层 | 分布式训练框架(NCCL/Megatron) | 集合通信延迟受底层逐跳转发延迟影响 |
| 运维层 | 网络监控(端口 CRC 错误计数器) | S&F 模式下,丢帧计数器是排查物理层故障的关键指标 |
关键指标
| 指标 | 定义 | 参考值 |
|---|---|---|
| 单跳转发延迟 | 从帧首字节入端口到首字节出端口的时间差 | S&F: 数百 ns ~ 数 µs(取决于帧长和线速); CT: 通常 < 200 ns [厂商数据手册] |
| CRC 错误丢帧率 | S&F 模式下因 FCS 校验失败而丢弃的帧占比 | 健康网络中 < 10⁻⁹ |
| 端口缓冲区深度 | 能存储的完整帧数量 | 通常不超过数十 MB [厂商规格] |
| 转发模式切换能力 | 是否支持在 S&F / CT 间动态切换 | 部分高端交换机支持按端口配置;中低端通常固定为 S&F |
供需与市场数据
间接市场关联
Store-and-Forward 本身不是一个独立市场,但它是每一个以太网交换芯片必须实现的核心机制。
| 维度 | 数据 | 来源 |
|---|---|---|
| 全球数据中心交换机市场 | 2023 年约 150–180 亿美元 [行业报告估算] | IDC、Crehan Research 等 |
| AI 相关交换机增长 | 800G 交换机在 AI 训练集群中渗透率快速提升 [行业报告估算] | Dell’Oro Group 等 |
| 主流交换芯片厂商 | Broadcom(Trident/Tomahawk 系列)、NVIDIA(Spectrum)、Cisco(Silicon One)、Marvell(Teralynx) | 厂商公开产品线 |
| Cut-Through 市场份额趋势 | 在 AI/HPC 数据中心新建网络中,CT 支持已成为高端交换机标配 | [厂商产品规格书] |
关键趋势:随着 AI 集群规模从千卡向万卡、十万卡扩展,网络路径跳数增加,S&F 的累积延迟效应被放大,推动 Cut-Through 成为数据中心交换机的差异化卖点。
代表公司与资本映射
| 公司 | 产品线 / 关联 | 与 S&F/CT 的关系 |
|---|---|---|
| Broadcom | Trident/Tomahawk 系列交换芯片 | 全球以太网交换芯片市场份额最高,其芯片同时支持 S&F 和 CT;被绝大多数 ODM 交换机采用 |
| NVIDIA | Spectrum-4/5 系列交换机 | 强调 Cut-Through 转发 + 自适应路由,面向 AI 训练优化 |
| Cisco | Nexus 系列 / Silicon One | Nexus 9000 系列默认 S&F,部分型号支持 Cut-Through |
| Arista | 7000 系列 | 基于 Broadcom 芯片,支持 CT,面向超大规模数据中心 |
| 华为 | CloudEngine 系列 | 数据中心交换机,支持 S&F/CT 可配置 |
| Marvell | Teralynx 系列 | 低延迟交换芯片,CT 为卖点,面向 HPC/金融低延迟场景 |
投资逻辑
核心框架:转发模式是”网络延迟”这个投资主题的底层技术表达
投资逻辑链:
AI 训练集群规模扩大
→ 集合通信(AllReduce)成为性能瓶颈
→ 网络尾延迟(P99.9)直接影响 GPU 利用率
→ Cut-Through 转发成为交换机选型关键指标
→ 支持 CT 的高端交换芯片/交换机需求增长
→ Broadcom / NVIDIA / Arista / Marvell 受益
关键投资判断点
-
AI 集群规模越大,S&F 的累积延迟劣势越明显:万卡集群中 AllReduce 的路径可能跨越 3–5 跳交换机,S&F 的额外延迟可达数十微秒,对 P99.9 延迟有可观影响。
-
物理层质量提升削弱 S&F 的错误过滤价值:现代数据中心使用高质量 DAC/AOC、Bert 误码率测试保证链路质量,CRC 错误率极低 → CT 的”无错误过滤”劣势被弱化。
-
但 S&F 不会消失:在 WAN、边缘网络、管理网络等场景中,S&F 仍是默认且合理的选择;且现代交换芯片在 S&F 模式下的查表延迟已极低(数十纳秒级),对非 AI 流量几乎无感知差异。
常见误读纠偏
误读 1:“Store-and-Forward 已经过时了,现代交换机都用 Cut-Through”
纠偏:❌ 错误。
- 绝大多数企业交换机和中低端数据中心交换机仍然默认运行 Store-and-Forward 模式
- Cut-Through 需要交换芯片支持端口间无阻塞直通,并非所有芯片都具备此能力
- Cisco Nexus 系列(基于 Broadcom 交换芯片的型号)默认 S&F,需要手动配置启用 CT
- 只有高端/HPC/AI 专用交换机(如 NVIDIA Spectrum、部分 Arista 高端型号)才将 CT 作为默认或推荐模式
- S&F 在可靠性、QoS 策略执行(需完整帧信息)方面仍有不可替代的价值
误读 2:“Cut-Through 一定能降低延迟,所以永远更好”
纠偏:❌ 不完全正确。
- Cut-Through 的低延迟优势在低误码率、高质量物理层环境下才成立
- 如果链路存在较高误码率,CT 会将坏帧无条件转发到下游:
- 下游节点接收坏帧 → 上层协议(TCP)触发重传 → 整体吞吐反而下降
- 交换机可能将坏帧计入正常流量,干扰拥塞管理(ECN/WRED)
- 在 WAN 或物理层不可控的环境中,S&F 的错误过滤是网络稳定性的基本保障
误读 3:“Store-and-Forward 和丢包是一回事”
纠偏:❌ 混淆概念。
- S&F 模式下丢弃的是CRC 校验失败的损坏帧,这是保护网络的正确行为
- 正常的 S&F 交换机在无错误环境下丢包率为零(忽略缓冲区溢出情况)
- 缓冲区溢出导致的丢包(congestion drop) 与转发模式无关,S&F 和 CT 都会发生
学习路径
入门(1–2 小时)
- 阅读任意一本网络工程教材的”以太网交换”章节(推荐:《Computer Networking: A Top-Down Approach》或 Tanenbaum《Computer Networks》的 LAN 交换部分)
- 用 Wireshark 抓取以太网帧,观察 FCS 字段位置
- 理解三种转发模式(S&F / CT / Fragment-Free)的区别
进阶(3–5 小时)
- 阅读 Cisco 或 Arista 交换机配置文档中关于转发模式的说明
- 学习 RDMA/RoCEv2 基础,理解为什么 AI 训练网络对转发延迟敏感
- 研究 Broadcom Trident/Tomahawk、NVIDIA Spectrum 交换芯片的数据手册中关于转发模式的描述
专家级
- 阅读 IEEE 802.3 标准中关于 FCS 和帧格式的章节
- 分析大规模 AllReduce 集合通信中逐跳延迟的数学模型
- 评估 S&F vs CT 在特定网络拓扑(Fat-Tree、Rail-Optimized)中的延迟影响
一句话总结
Store-and-Forward 是以太网交换最基础的”先收完再转发”机制,用每跳一帧串行化时间的延迟代价换取了完整的错误过滤能力;在 AI 训练集群等超低延迟场景中,Cut-Through 正在挑战它的默认地位,但在物理层质量不可控的环境中,S&F 仍是不可替代的可靠性基石。
延伸阅读与来源
| 资源 | 说明 |
|---|---|
| IEEE 802.3 标准 | 以太网帧格式、FCS 定义的权威来源 |
| Cisco 文档:“Cut-Through and Store-and-Forward Switching” | 经典的转发模式技术说明 |
| NVIDIA Spectrum 系列交换机白皮书 | AI 网络中 Cut-Through 优势的厂商视角 |
| Broadcom Trident/Tomahawk 交换芯片数据手册 | 交换芯片内部转发流水线的技术细节 |
| 《Data Center Networks: Topologies, Architectures, and Fault-Tolerance》 | 数据中心网络架构的系统性参考 |
| 《Computer Networks》(Tanenbaum & Wetherall) | 以太网交换基础的经典教材 |
| RFC 2544(Benchmarking Methodology for Network Interconnect Devices) | 网络设备转发延迟的标准化测试方法 |
⚠️ 来源说明:本页技术细节基于网络工程基础原理和公开的厂商技术文档。具体延迟数字因芯片型号、固件版本、帧大小、端口速率等因素而异,文中估算值仅供量级参考,精确数据请查阅具体产品的数据手册。