媒體獨立介面:端口的電氣側
交換機 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、 合規代碼)。