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) | 網路裝置轉發延遲的標準化測試方法 |
⚠️ 來源說明:本頁技術細節基於網路工程基礎原理和公開的廠商技術文件。具體延遲數字因晶片型號、韌體版本、幀大小、埠速率等因素而異,文中估算值僅供量級參考,精確資料請查閱具體產品的資料手冊。