媒体无关接口:端口的电气侧
交换机 ASIC 或 NIC 控制器内部的以太网 MAC 与介质(铜缆、光纤、背板)之间,是一个标准化的电气接口。IEEE 把这一族接口称为媒体独立接口(MII):只要对端使用约定的接口,MAC 就不关心它是铜缆 PHY、SFP 笼子还是 400G 模块。以太网每一代都增加了一种接口:10/100 用 MII 和 RMII,千兆用 GMII/RGMII/SGMII,10G 用 XGMII/XAUI/XFI/SFI,此后的所有速率用 AUI 家族(CAUI-4、400GAUI-8、800GAUI-8)。本节从光模块的角度讲解这些接口——到达笼子的是什么、铜缆 SFP 必须模拟什么,以及为什么处于"错误模式"的端口会拒绝一个完全正常的模块。
为什么要分层
| 层 | 位置 | 到下一层的接口 |
|---|---|---|
| MAC(成帧、地址) | 交换机 ASIC、NIC 控制器、SoC | 协调子层 → xMII |
| PCS(编码:8b/10b、64b/66b、FEC) | 可插拔模块由 ASIC/控制器实现;铜缆由 PHY 芯片实现 | PMA |
| PMA / SerDes | ASIC SerDes 或 PHY | 通往模块或介质的 AUI 通道 |
| PMD(激光器、铜缆驱动器) | 光模块或 PHY 芯片 | 光纤 / 线缆 |
对于可插拔光模块,PCS 和 SerDes 留在主机侧;模块接收串行通道(SFI、CAUI-4、400GAUI-8)并转换为光信号。对于铜缆,PHY 芯片完成 PCS+PMA+PMD,并通过并行(RGMII)或串行(SGMII)接口与 MAC 通信。铜缆 SFP 把该 PHY 放在模块内部,因此笼子必须向它传送 SGMII 或 1000BASE-X(参见SGMII 与串行千兆)。
接口阶梯
| 接口 | 速率 | 形式 | 信号 | 传输距离 | 定义标准 | 典型场景 |
|---|---|---|---|---|---|---|
| MII | 10/100 | 4 位并行 @ 2.5/25 MHz | 16–18 | cm | IEEE 802.3 Cl. 22 | 旧式 MAC ↔ PHY |
| RMII | 10/100 | 2 位 @ 50 MHz | 7–9 | cm | RMII Consortium | 嵌入式 SoC ↔ PHY |
| SMII / SS-SMII | 10/100 | 1 位 @ 125 MHz | 每端口 2–3 | cm | Cisco | 多端口 PHY |
| GMII | 1G(+10/100) | 8 位 @ 125 MHz | 24+ | cm | Cl. 35 | MAC ↔ PHY,如今多用于片内 |
| RGMII | 1G(+10/100) | 4 位 DDR @ 125 MHz | 12 | ≤ 10–15 cm | HP/Marvell RGMII v1.3/2.0 | 小型交换机/路由器上的 SoC ↔ 铜缆 PHY |
| TBI / RTBI | 1G | 10 位 @ 125 MHz | 20+ | cm | Cl. 36 | MAC ↔ 外部 SerDes(旧式) |
| 1000BASE-X(SerDes) | 1G | 1 通道 1.25 GBd,8b/10b | 2 对差分线 | 50 cm+ | Cl. 36/37 | SFP 笼子在 1G 下传送的内容 |
| SGMII | 10/100/1000 | 1 通道 1.25 GBd,8b/10b | 2 对(+ 时钟) | 50 cm+ | Cisco SGMII v1.8 | MAC ↔ 铜缆 PHY;MAC ↔ 铜缆 SFP |
| 2500BASE-X | 2.5G | SGMII/1000BASE-X 速率的 1.25 倍:3.125 GBd | 2 对 | 50 cm | 事实标准 | 2.5G SFP、PON 棒 |
| QSGMII | 4 × 1G | 1 通道 5 GBd | 2 对 | 50 cm | Cisco | ASIC ↔ 四路铜缆 PHY |
| USXGMII | 10M–10G | 1 通道 10.3125 GBd,64b/66b | 2 对 | 30 cm | Cisco/Marvell | ASIC ↔ mGig PHY;10GBASE-T SFP+ |
| XGMII | 10G | 32 位 DDR @ 156.25 MHz | 74 | < 7 cm | Cl. 46 | 片内 |
| XAUI | 10G | 4 × 3.125 GBd,8b/10b | 8 对 | 50 cm | Cl. 47 | XENPAK/X2 模块、旧式 PHY |
| XFI / SFI | 10G | 1 × 10.3125 GBd,64b/66b | 2 对 | 20–30 cm | XFP MSA / SFF-8431 | XFP / SFP+ 笼子 |
| 10GBASE-KR | 10G | 1 × 10.3125 GBd | 2 对 | 1 m 背板 | Cl. 72 | 背板、10GBASE-T PHY |
| 25GAUI | 25G | 1 × 25.78 GBd NRZ | 2 对 | C2M | Annex 109A/B | SFP28 笼子 |
| XLAUI / CAUI-10 | 40G / 100G | 4 / 10 × 10.3125 GBd | 8 / 20 对 | C2C/C2M | Annex 83A/B | QSFP+ / CFP、CXP |
| CAUI-4 | 100G | 4 × 25.78 GBd NRZ | 8 对 | C2M | Annex 83D/E | QSFP28 笼子 |
| 50GAUI-2 / -1 | 50G | 2 × 26.5625 NRZ / 1 × 26.5625 GBd PAM4 | 4 / 2 对 | C2M | Annex 135B–E | SFP56 |
| 100GAUI-4 / -2 / -1 | 100G | 4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4 | — | C2M | Annex 135D–G、120G | QSFP28(PAM4 变体)、QSFP112 |
| 200GAUI-8 / -4 / -2 | 200G | 8 × 26.5 PAM4 / 4 × 53 / 2 × 106 | — | C2M | Annex 120C–G | QSFP56、QSFP112 |
| 400GAUI-16 / -8 / -4 | 400G | 16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4 | — | C2M | Annex 120B–G | CFP8 / QSFP-DD、OSFP / QSFP112、OSFP |
| 800GAUI-8 / -4 | 800G | 8 × 106 PAM4 / 4 × 212 PAM4 | — | C2M | 802.3df / dj | OSFP、QSFP-DD800 / OSFP224、OSFP-XD |
详情参见:MII、RMII、GMII、RGMII、 SGMII、1000BASE-X、QSGMII、USXGMII、 XGMII、XAUI、SFI 与 AUI 家族。
各接口的位置
| 设备 | MAC → … | … → 介质 |
|---|---|---|
| 48 口 1G 铜缆交换机 | ASIC → QSGMII → 四路 PHY | PHY → RJ45 |
| 小型路由器 / SoC 板卡 | SoC → RGMII 或 SGMII → PHY | PHY → RJ45;或 SoC → 1000BASE-X/SGMII → SFP 笼子 |
| 10G/25G 交换机或 NIC 的 SFP+/SFP28 端口 | ASIC SerDes → SFI / 25GAUI → 笼子 | 模块 → 光纤或 DAC |
| 100G QSFP28 端口 | ASIC → CAUI-4(4 × 25G) → 笼子 | 模块 → 4 个波长或 4 根光纤 |
| 400G QSFP-DD / OSFP 端口 | ASIC → 400GAUI-8(8 × 50G PAM4) → 笼子 | 模块变速器 → 4 × 100G 光信号 |
| 800G OSFP 端口 | ASIC → 800GAUI-8(8 × 100G PAM4) → 笼子 | 模块 → 8 × 100G(DR8)或 4 × 200G |
| 铜缆 1000BASE-T SFP | 主机 1000BASE-X 或 SGMII → 模块的 PHY | PHY → RJ45 |
| 10GBASE-T SFP+ | 主机 SFI(10GBASE-R) → 模块的 PHY(USXGMII 类) | PHY → RJ45 |
| 多速率 RJ45 交换机端口 | ASIC → USXGMII → mGig PHY | 2.5/5/10GBASE-T |
PHY 与模块的管理方式
| 铜缆 PHY 芯片 | 可插拔模块 | |
|---|---|---|
| 总线 | MDIO/MDC(Clause 22:5 位地址,32 个 16 位寄存器;Clause 45:面向 10G+ 的设备/寄存器对) | I²C 双线(A0h/A2h,CMIS 页)(双线接口) |
| 链路状态 | PHY 状态寄存器(寄存器 1),RGMII/SGMII 上的带内状态 | LOS/LOL 引脚与标志、DDM |
| Linux 工具 | mii-tool、phytool、ethtool(PHY 驱动程序) | ethtool -m、i2c-dev(NIC 工具) |
| 铜缆 SFP 的特殊之处 | 模块内部的 PHY 可通过 I²C 的第二地址访问(例如基于 Marvell 88E1111 的模块使用 0xAC),或通过厂商页面访问——即 MDIO 隧道 | — |
为什么这与光模块工作相关
- 笼子的模式。 1G SFP 端口可以处于 1000BASE-X 或 SGMII 模式;铜缆 SFP 在两种模式下行为不同,10/100 客户端只能在 SGMII 模式下工作(或使用隐藏这一差异的模块)(参见SGMII 与串行千兆)。
- 速率与编码。 模块必须接受主机的通道速率和编码:SFI 为 10.3125 GBd,CAUI-4 为 25.78, 400GAUI-8 为 PAM4——这正是合规代码和 CMIS 应用所声明的内容(参见合规代码)。
- 谁负责重定时。 SFP+ 模块通常是线性/限幅型,依赖主机均衡;25G+ 模块内置 CDR;PAM4 模块内置 DSP;LPO 模块再次采用线性方式,依赖主机 SerDes (参见CDR、DSP 与 LPO)。
- 电通道 ≠ 光通道。 400G-FR4 接收 8 条电通道并发出 4 个波长;变速器位于模块内部(参见XGMII、XAUI 与 AUI 家族)。
- Linux 根据 EEPROM 选择接口。 内核的 SFP 层读取字节 3–10、12 和 36,在 1000BASE-X、 SGMII、2500BASE-X、10GBASE-R 之间做出选择——错误的合规字节会让一个正常的模块以错误的模式链接(参见内存映射)。
延伸阅读
- MII、RMII、GMII、RGMII —— 并行接口:引脚、时钟、 RGMII 延迟模式、带内状态、通过 MDIO 的 PHY 管理、常见故障。
- SGMII、1000BASE-X、QSGMII、USXGMII —— 到 PHY 和 SFP 笼子的串行接口:自动协商的差异、铜缆 SFP、100BASE-FX、2.5G、多速率、 Linux 如何选择模式。
- XGMII、XAUI、XFI/SFI 与 AUI 家族 —— 从 10G 到 800G:通道数、C2C 与 C2M、合规点、OIF CEI 映射、电到光的通道映射、重定时与线性模块。
在 CodingBox 中
CodingBox 显示的字节是模块对其支持的主机接口的声明:合规代码(1000BASE-T → 支持 SGMII/1000BASE-X 的铜缆)、标称比特率、编码字节(8b/10b、64b/66b 或 PAM4)、CDR 位和 CMIS 主机接口 ID。编辑这些字节会改变主机将尝试使用的接口(参见 Check transceiver、 合规代码)。