网卡端口、速率与 PCIe 带宽 · 网卡 · 网卡与交换机 · 文档 · CodingBox
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,即可。