交换机内部:ASIC、SerDes、端口组与控制平面 · 交换机基础 · 网卡与交换机 · 文档 · CodingBox
CodingBox 文档

交换机内部:ASIC、SerDes、端口组与控制平面

交换机端口是光模块之前的最后一站,模块被允许做什么——支持哪些速率、能否拆分、同时能有多少端口跑 25G、DDM 轮询多快——大部分由端口背后的芯片和固件决定。本页打开这个黑箱:转发 ASIC 及其 SerDes、通道如何组成端口、控制平面 CPU 对两线总线做了什么,以及光模块的电源和散热从何而来。

交换机框图:前面板笼子、PHY 与 retimer、转发 ASIC、运行 NOS 的控制平面 CPU、I²C 总线、电源与风扇

三个平面

平面硬件对光模块的作用
数据平面转发 ASIC(商用芯片,如 Broadcom Trident/Tomahawk、Marvell、Nvidia Spectrum,或厂商自研芯片)、其 SerDes、PHY/retimer驱动进入模块的电通道,运行 PCS/FEC、MAC、转发
控制平面运行网络操作系统的通用 CPU通过 I²C 读取模块 EEPROM,校验身份,应用策略,配置通道,轮询 DDM,触发告警
管理平面带外以太网/console,有时是 BMC可以看到 show interface transceiver 和 syslog 的地方

数据平面速度快但不做判断;控制平面速度慢,却是做决定的一方。这就是为什么一个电气上完全正常的模块仍会被判定为"不支持":是 CPU 拒绝了它(主机的处理流程)。

SerDes 与通道

每个端口都是来自 ASIC 的一束 SerDes 通道。每条通道的速率取决于芯片的代际:

ASIC 代际(典型)SerDes 通道端口选项
1G 时代1.25 GBdSFP 1G、RJ45
10G10.3 GBdSFP+;4 通道 → QSFP+ 40G
25G25.78 GBd NRZSFP28;4 通道 → QSFP28 100G;通常可降到 10G
50G26.5 GBd PAM4SFP56;QSFP56 200G;8 通道 → 400G(QSFP-DD/OSFP)
100G53.1 GBd PAM4QSFP112;8 通道 → 800G
200G106 GBd PAM48 通道 → 1.6T(OSFP224、16 通道的 OSFP-XD)

模块需要一个 SerDes 能够产生的通道速率。25G SerDes 端口要驱动 10G 模块,前提是该 SerDes 同时支持较低速率(大多数都支持);在部分芯片上,50G PAM4 通道无法降速为 25G NRZ 通道,这正是"该端口不支持 25G"的由来(以太网代际)。

端口组与速率限制

SerDes 以 四通道组(共享同一时钟/PLL 的四条通道)为单位组织。由此带来以下结果:

  • 速率组——在许多 25G 平台上,一个四通道组内的四个 SFP28 端口必须统一跑 10G 或统一跑 25G;混用会被拒绝或被静默降速(速率问题)。
  • 拆分(breakout)——只有在 ASIC 和该端口的 PHY 映射允许时,QSFP 端口的四条通道才能拆成四个端口;通常只有特定端口(或隔一个端口)能拆分,启用拆分会禁用相邻端口(拆分与 MPO 布线)。
  • 按端口组共享 FEC——FEC 模式有时在整个组内共享。
  • 上行超订——有些设计复用的前面板通道数超过 ASIC 实际拥有的数量,因此并非所有端口都能同时跑满速率。

这些按端口划分的规则记录在平台的硬件手册中;模块本身并不会显示它们。

板上的 PHY、retimer 与齿轮盒(gearbox)

在 ASIC 和笼子之间可能还有 PHY(用于 RJ45 端口)、retimer(用于清理高密度设备上过长的 PCB 走线)、齿轮盒(例如部分 100G 设计中 2 × 50G ASIC 通道 ↔ 4 × 25G 模块通道的转换)或 MACsec 引擎。每一个都会增加延迟,并带来各自的速率/FEC 限制,也都是通道可能被错误配置的又一环节。端口是否 "直连 ASIC"对 LPO 光模块很关键,因为它需要 ASIC 自身的均衡器才能到达模块(调制与 DSP)。

控制平面与两线总线

  • CPU 通过 I²C 多路复用器(每个端口或每组一条总线)访问模块 EEPROM,通常经由一块同时处理 presence、LPMode、reset 和中断引脚的 CPLD/FPGA (两线接口)。
  • 上电流程是一个软件序列:检测 → 读取身份 → 校验 → 上电 → 配置通道 → 使能 Tx → 轮询 DDM;不同 NOS 版本对 CMIS 的实现完整度不同(CMIS 问题)。
  • DDM 轮询由 CPU 调度,通常间隔几秒到一分钟;数百个端口共用一颗管理 CPU,繁重的 SNMP 轮询会拖慢它(用工具读取 DDM)。
  • 策略(白名单、errdisable、第三方覆盖)完全是控制平面的代码逻辑(各操作系统如何校验模块)。

光模块的电源与散热

项目典型值说明
每个笼子 3.3 V 供电按功率等级限制:1.5 W(SFP+)、3.5–5 W(QSFP28)、12–15 W(QSFP-DD)、15–25+ W(OSFP)超出限制 → 模块被锁定在低功耗状态(电源与热管理)
面板风流方向前进风或后进风模块散热片朝向不匹配或进风口被挡都会导致光模块过热
光模块总功耗预算400G 设备:32 × 12 W ≈ 0.4 kW;800G 设备:64 × 16 W ≈ 1 kW占交换机电源额定功率相当大的一部分

缓存、转发与光模块的关系

几乎没有关系,唯一的联系是拥塞特性(PFC、ECN)会与链路错误相互影响:一个因 CRC 而丢帧的端口,在存储和 RDMA 看来就像是发生了拥塞(无损以太网)。决定交换机角色的是转发能力(Tb/s)、缓存大小和表项容量(角色与拓扑),而不是它的光模块。

商用芯片与自研芯片、开放与封闭 NOS

模式示例对光模块的影响
商用 ASIC + 厂商 NOS大多数企业级和数据中心交换机厂商策略决定光模块支持范围;硬件限制来自 ASIC
商用 ASIC + 开放 NOS白牌硬件上的 SONiC、Cumulus策略限制很少;兼容性测试由自己承担
自研 ASIC + 厂商 NOS部分运营商和高端数据中心平台集成度高,校验通常最严格

各 NOS 的生态及其光模块行为一览:网络操作系统概览。

在 CodingBox 中

交换机的判断依据是模块的身份字节,这些正是 CodingBox 展示和编辑的内容:SerDes 必须支持的速率码和应用、相对于笼子的功率等级、端口 PHY 路径所需的连接器和技术类型(检测光模块、EEPROM 编辑器)。

SerDes 交给笼子的通道束(SFI、25GAUI、CAUI-4、400GAUI-8、800GAUI-8),以及对应的 C2M 合规点和通道映射:XGMII、XAUI 与 AUI 系列;从 MII 到 AUI 的完整体系:媒体独立接口。

这些部件如何被封装——固定式、带线卡和交换网板的机箱式、可堆叠、工业级、白牌——以及风流方向和冗余设计:交换机类型与外形;设备上架后端口的命名方式: 端口命名与指示灯。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。