交换机内部:ASIC、SerDes、端口组与控制平面
交换机端口是光模块之前的最后一站,模块被允许做什么——支持哪些速率、能否拆分、同时能有多少端口跑 25G、DDM 轮询多快——大部分由端口背后的芯片和固件决定。本页打开这个黑箱:转发 ASIC 及其 SerDes、通道如何组成端口、控制平面 CPU 对两线总线做了什么,以及光模块的电源和散热从何而来。
三个平面
| 平面 | 硬件 | 对光模块的作用 |
|---|---|---|
| 数据平面 | 转发 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 GBd | SFP 1G、RJ45 |
| 10G | 10.3 GBd | SFP+;4 通道 → QSFP+ 40G |
| 25G | 25.78 GBd NRZ | SFP28;4 通道 → QSFP28 100G;通常可降到 10G |
| 50G | 26.5 GBd PAM4 | SFP56;QSFP56 200G;8 通道 → 400G(QSFP-DD/OSFP) |
| 100G | 53.1 GBd PAM4 | QSFP112;8 通道 → 800G |
| 200G | 106 GBd PAM4 | 8 通道 → 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 的完整体系:媒体独立接口。
这些部件如何被封装——固定式、带线卡和交换网板的机箱式、可堆叠、工业级、白牌——以及风流方向和冗余设计:交换机类型与外形;设备上架后端口的命名方式: 端口命名与指示灯。