網卡端口、速率與 PCIe 頻寬
網卡的前面板上寫著「2 × 100G」;伺服器能否真的跑到 200 Gb/s,取決於卡後面的 PCIe 插槽,而某個模組能否工作,取決於籠子和控制器的通道映射——和交換機上一樣,只是端口更少,總線也更容易配置不足。本文列出網卡上常見的籠子和速率、雙速率端口與拆分線纜的規則、PCIe 的算法、OCP 3.0 封裝形式,以及卡上光模組相關的功耗和散熱限制。
網卡上的籠子與速率
| 籠子 | NIC 上常見的速率 | 常見控制器 | 說明 |
|---|---|---|---|
| SFP+ | 10G(部分支援 1G) | Intel X520/X710、Broadcom 5741x | 是否支援 1G 因卡而異;查閱規格書 |
| SFP28 | 25G、10G(罕見 1G) | Intel XXV710/E810-XXV、ConnectX-4 Lx/-6 Lx、Broadcom P225 | 25G 需要 FEC 協商一致(FEC & AN) |
| SFP56 | 50G、25G、10G | 部分 ConnectX-6 Lx/Dx | PAM4 通道 |
| QSFP28 | 100G、4 × 25G、2 × 50G、40G、4 × 10G | Intel E810-CQDA2、ConnectX-5/6、Broadcom P2100 | 僅在控制器允許的情況下可通過線纜拆分 |
| QSFP56 | 200G、100G、2 × 100G | ConnectX-6 Dx/-7、Broadcom P2200、Pensando | — |
| QSFP112 | 400G、200G、100G、4 × 100G | ConnectX-7、Broadcom P1400GD | 每通道 100G;可兼容 QSFP28/56 |
| QSFP-DD | 400G、2 × 200G、4 × 100G | Broadcom BCM57608 | — |
| OSFP(雙端口) | 2 × 400G、800G | ConnectX-7/-8、BlueField-3 | 在 Nvidia 雙端口設計中,一個籠子對應兩個邏輯端口 |
| RJ45 | 1G / 10GBASE-T / mGig | X550、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 × 100G | Nvidia 雙端口網卡:每個籠子 2 個邏輯端口;能否進一步拆分取決於固件 |
| 從 QSFP28 端口拆出 2 × 50G | 部分控制器支援 |
PCIe:端口的真實速率
| PCIe 代 | 每通道(原始) | x8 可用(≈) | x16 可用(≈) |
|---|---|---|---|
| Gen 3 | 8 GT/s | 56–63 Gb/s | 112–126 Gb/s |
| Gen 4 | 16 GT/s | 112–126 Gb/s | 225–252 Gb/s |
| Gen 5 | 32 GT/s | 225–252 Gb/s | 450–504 Gb/s |
| Gen 6 | 64 GT/s | ~450–500 Gb/s | ~900–1 000 Gb/s |
扣除編碼和報文開銷後,可用吞吐量約為原始速率的 85–90 %。把端口與通道數對應起來:
| 卡 | 端口 | 需求 |
|---|---|---|
| 2 × 25G | 50 Gb/s | Gen 3 x8 |
| 2 × 100G | 200 Gb/s | Gen 4 x16(Gen 3 x16 在約 126 處就飽和) |
| 1 × 200G / 2 × 100G(Gen 4) | 200 Gb/s | Gen 4 x16 |
| 2 × 200G | 400 Gb/s | Gen 5 x16 |
| 1 × 400G | 400 Gb/s | Gen 5 x16(或通過「socket direct」/多主機方式用兩個 x16) |
| 2 × 400G | 800 Gb/s | Gen 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 mm | 139 × 115 mm |
| PCIe | 最高 x16 | 最高 x32(兩個 x16) |
| 功耗 | 最高 80 W | 最高 150 W |
| 端口 | 2–4 × SFP28/QSFP28/QSFP56/QSFP112 | 2 × 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 伺服器中都很重要。
為光模組選購網卡前的檢查清單
- 籠子類型,以及控制器在該籠子上支援的速率。
- 目標插槽的 PCIe 代數和通道數,與端口總頻寬是否匹配。
- 是否需要拆分?控制器必須支援端口拆分。
- 驅動的模組策略(網卡上的光模組兼容性)。
- 籠子的功率預算與計劃使用的模組是否匹配;是否有輔助電源介面。
- 機箱該位置的氣流情況;如需更好散熱可考慮 OCP 3.0。
- 作業系統/驅動對 FEC 模式和速率強制設定的支援。
在 CodingBox 中
模組的合規代碼和功率等級說明它能否滿足網卡籠子和速率的要求;CodingBox 在模組安裝前就能讀出這些資訊,而端口拆分和 PCIe 方面的問題則要在伺服器側解決(Check transceiver)。