CodingBox 說明文件

網卡端口、速率與 PCIe 頻寬

網卡的前面板上寫著「2 × 100G」;伺服器能否真的跑到 200 Gb/s,取決於卡後面的 PCIe 插槽,而某個模組能否工作,取決於籠子和控制器的通道映射——和交換機上一樣,只是端口更少,總線也更容易配置不足。本文列出網卡上常見的籠子和速率、雙速率端口與拆分線纜的規則、PCIe 的算法、OCP 3.0 封裝形式,以及卡上光模組相關的功耗和散熱限制。

網卡上的籠子與速率

籠子NIC 上常見的速率常見控制器說明
SFP+10G(部分支援 1G)Intel X520/X710、Broadcom 5741x是否支援 1G 因卡而異;查閱規格書
SFP2825G、10G(罕見 1G)Intel XXV710/E810-XXV、ConnectX-4 Lx/-6 Lx、Broadcom P22525G 需要 FEC 協商一致(FEC & AN
SFP5650G、25G、10G部分 ConnectX-6 Lx/DxPAM4 通道
QSFP28100G、4 × 25G、2 × 50G、40G、4 × 10GIntel E810-CQDA2、ConnectX-5/6、Broadcom P2100僅在控制器允許的情況下可通過線纜拆分
QSFP56200G、100G、2 × 100GConnectX-6 Dx/-7、Broadcom P2200、Pensando
QSFP112400G、200G、100G、4 × 100GConnectX-7、Broadcom P1400GD每通道 100G;可兼容 QSFP28/56
QSFP-DD400G、2 × 200G、4 × 100GBroadcom BCM57608
OSFP(雙端口)2 × 400G、800GConnectX-7/-8、BlueField-3在 Nvidia 雙端口設計中,一個籠子對應兩個邏輯端口
RJ451G / 10GBASE-T / mGigX550、X710-T、BCM57416無模組,PHY 在卡上

籠子的兼容性規則與交換機相同(端口類型與籠子)。

雙速率端口與速率分組

  • 多數 25G 網卡的每個端口都獨立運行在 10G 或 25G——沒有四端口分組——但少數雙端口控制器共享一個 SerDes 組,會強制兩個端口使用相同速率。
  • 100G 網卡通常支援 40G 模組;200G/400G 網卡支援 100G 模組;往下跨越一代以上(SFP28 上用 1G,或經 QSA 在 QSFP56 上用 10G)很少被支援。
  • 速率通常根據模組的合規代碼自動選擇;當模組是雙速率或無法識別時,需要強制設定(ethtool -s … speed)(工具)。

網卡上的拆分

情況能否工作?
100G QSFP28 網卡端口 → 交換機端 4 × 25G(DAC 分支線纜)僅當控制器支援「4 × 25G 端口拆分」模式(許多 Nvidia 和 Broadcom 網卡支援,多數 Intel 不支援);此時網卡會顯示 4 個 netdev
交換機 100G 端口 → 4 × 25G 到四個網卡 SFP28 端口可行——這是常見方向;拆分在交換機上配置(拆分與 MPO
400G OSFP 雙端口 → 2 × 400G 或 4 × 200G / 8 × 100GNvidia 雙端口網卡:每個籠子 2 個邏輯端口;能否進一步拆分取決於固件
從 QSFP28 端口拆出 2 × 50G部分控制器支援

PCIe:端口的真實速率

PCIe 代每通道(原始)x8 可用(≈)x16 可用(≈)
Gen 38 GT/s56–63 Gb/s112–126 Gb/s
Gen 416 GT/s112–126 Gb/s225–252 Gb/s
Gen 532 GT/s225–252 Gb/s450–504 Gb/s
Gen 664 GT/s~450–500 Gb/s~900–1 000 Gb/s

扣除編碼和報文開銷後,可用吞吐量約為原始速率的 85–90 %。把端口與通道數對應起來:

端口需求
2 × 25G50 Gb/sGen 3 x8
2 × 100G200 Gb/sGen 4 x16(Gen 3 x16 在約 126 處就飽和)
1 × 200G / 2 × 100G(Gen 4)200 Gb/sGen 4 x16
2 × 200G400 Gb/sGen 5 x16
1 × 400G400 Gb/sGen 5 x16(或通過「socket direct」/多主機方式用兩個 x16)
2 × 400G800 Gb/sGen 6 x16,或兩個 Gen 5 x16

把 2 × 100G 網卡插進 Gen 3 x8 插槽,兩個端口都能鏈路建立在 100G,但總吞吐量只有約 60 Gb/s——光模組沒問題,是總線不夠。用 lspci -vv 查看協商到的鏈路寬度和速率(LnkSta),以及 BIOS 的 bifurcation 設定。

OCP NIC 3.0

項目SFF(小型封裝形式)LFF(大型)
尺寸76 × 115 mm139 × 115 mm
PCIe最高 x16最高 x32(兩個 x16)
功耗最高 80 W最高 150 W
端口2–4 × SFP28/QSFP28/QSFP56/QSFP1122 × QSFP-DD/OSFP 或更多
光模組存取從前面板插拔,無需工具相同

OCP 網卡位於伺服器後部,有自己的氣流通道;模組散熱通常好於夾在 GPU 之間的 PCIe 網卡。

卡上光模組的功耗與散熱

項目限制 / 規則
PCIe 插槽供電25 W(x1…x8 低矮型),75 W(x16);400G 網卡使用 8 針輔助電源介面
網卡每籠子的預算SFP28:1.5 W(II 級);QSFP28:3.5–4.5 W;QSFP56/112:5–8 W;QSFP-DD/OSFP:12–20 W——以網卡規格書為準(功耗
氣流網卡上約 200–300 LFM;1U 伺服器中靠近 CPU 排風口的網卡上,模組溫度較高——DDM 溫度超過 60 °C 很常見
熱降頻部分控制器在模組報告高溫時會將其降到低功耗模式,或直接關閉端口
網卡上的相干/ZR 模組標準網卡不支援——8 級功耗超出籠子預算

多主機與 socket direct

高端網卡可以同時呈現給兩個 CPU 插槽(兩條 x8 或 x16 鏈路),或呈現給多台主機。光模組側不受影響,拆分發生在 PCIe 層面。這在 Gen 4 平台上運行 400G,以及每個 GPU 的網卡必須掛在自己的 PCIe root 下的 GPU 伺服器中都很重要。

為光模組選購網卡前的檢查清單

  1. 籠子類型,以及控制器在該籠子上支援的速率。
  2. 目標插槽的 PCIe 代數和通道數,與端口總頻寬是否匹配。
  3. 是否需要拆分?控制器必須支援端口拆分。
  4. 驅動的模組策略(網卡上的光模組兼容性)。
  5. 籠子的功率預算與計劃使用的模組是否匹配;是否有輔助電源介面。
  6. 機箱該位置的氣流情況;如需更好散熱可考慮 OCP 3.0。
  7. 作業系統/驅動對 FEC 模式和速率強制設定的支援。

在 CodingBox 中

模組的合規代碼和功率等級說明它能否滿足網卡籠子和速率的要求;CodingBox 在模組安裝前就能讀出這些資訊,而端口拆分和 PCIe 方面的問題則要在伺服器側解決(Check transceiver)。


如果您發現本文有不準確之處或錯誤,請選取相應片段並按 Ctrl+Enter,即可