CodingBox 說明文件

合規代碼:位元組 3–10、36 與擴展表

主機並非通過廠商名稱得知模組是甚麼,而是通過 兼容性代碼(compliance codes):這些位元欄位表示「我是 10GBASE-LR」或「我是 1000BASE-T 銅纜 SFP」,此外還有一個 擴展代碼,用於容納位元欄位耗盡後才出現的所有新類型。主機據此命名模組類型、決定提供哪些速率、選擇 FEC 和拆分方式,在嚴格的平台上還會據此拒絕代碼與端口不匹配的模組。把這些代碼寫對,是為模組編碼時最重要的一件事。

兩代編碼方式

機制位置工作原理
經典位元欄位SFF-8472 位元組 3–10;SFF-8636 位元組 131–138 和 164每種標準佔一位元;可同時置位多個(雙速率、多協議)
擴展規範兼容性SFF-8472 位元組 36;SFF-8636 位元組 192取自 SFF-8024 表 4-4 的單一值:25G、100G、200G、400G、各類 MSA PMD
應用(Applications)CMIS 描述符主機介面 ID + 介質介面 ID + 通道數,每個模組可有多個 — 參見 CMIS

25G 或 100G 模組通常不置位大多數經典位元,而是把身份資訊寫入位元組 36 或 192;10G/1G 模組則相反。雙速率 10G/25G 模組兩者都用。

SFF-8472 位元組 3–10(SFP 系列)

位元組位元 7位元 6位元 5位元 4位元 3位元 2位元 1位元 0
3 — 10G 以太網 / InfiniBand10GBASE-ER10GBASE-LRM10GBASE-LR10GBASE-SRIB 1X SXIB 1X LXIB 1X 有源銅纜IB 1X 無源銅纜
4 — ESCON / SONETESCON MMF 1310 LEDESCON SMF 1310 激光器OC-192 短距離SONET reach 位元 1SONET reach 位元 2OC-48 長距離OC-48 中距離OC-48 短距離
5 — SONET保留OC-12 SM 長距離OC-12 SM 中距離OC-12 短距離保留OC-3 SM 長距離OC-3 SM 中距離OC-3 短距離
6 — 以太網BASE-PXBASE-BX10100BASE-FX100BASE-LX/LX101000BASE-T1000BASE-CX1000BASE-LX1000BASE-SX
7 — FC 鏈路長度 / 技術超長距離 (V)短距離 (S)中距離 (I)長距離 (L)中等距離 (M)保留短波激光器,線性接收 (SA)長波激光器 (LC)
8 — FC 技術 / 線纜機櫃間電氣連接 (EL)短波激光器,無 OFC (SN)短波激光器,帶 OFC (SL)長波激光器 (LL)有源電纜無源電纜保留保留
9 — FC 介質雙芯同軸 (TW)雙絞線 (TP)小型同軸 (MI)視頻同軸 (TV)62.5 µm 多模 (M6)50 µm 多模 (M5/M5E)保留單模 (SM)
10 — FC 速率1200 MB/s800 MB/s1600 MB/s400 MB/s3200 MB/s200 MB/s參見位元組 62100 MB/s

位元組 62(Fibre Channel speed 2,光纖通道速率 2)延續了 64GFC 及以上的速率列表。位元組 36 存放擴展代碼。位元組 12 以 ×100 Mb/s 為單位給出標稱速率(FFh → 位元組 66,單位為 ×250 Mb/s),位元組 11 給出編碼方式,位元組 13 給出速率選擇所用的速率標識符。

典型 SFP 編碼

模組位元組 3位元組 6位元組 8位元組 36位元組 12位元組 11波長
1000BASE-SX00h01h00h00h0Dh(1.3 Gb/s)01h 8B/10B850 nm
1000BASE-LX00h02h00h00h0Dh01h1310 nm
1000BASE-T 銅纜00h08h00h00h0Dh01h0(不適用)
10GBASE-SR10h00h00h00h67h(10.3 Gb/s)06h 64B/66B850 nm
10GBASE-LR20h00h00h00h67h06h1310 nm
10G 無源 DAC00h00h04h00h67h06h0,位元組 60 = 線纜兼容性
25GBASE-SR00h00h00h02hFFh(位元組 66 = 67h → 25.75 Gb/s)06h850 nm
25GBASE-LR00h00h00h03hFFh / 67h06h1310 nm
25G 無源 DAC CA-25G-N00h00h04h0DhFFh / 67h06h0
10G/25G 雙速率 SR10h00h00h02hFFh / 67h06h850 nm

長度位元組 14–19 必須與之匹配:SR 模組填寫 OM3/OM4 傳輸距離,LR 模組填寫公里數,DAC 則在位元組 18 中填寫米數。

SFF-8636 位元組 131–138、164(QSFP 系列)

位元組內容
131 — 10/40G 以太網位元 7 為 擴展(使用位元組 192),6 為 10GBASE-LRM,5 為 10GBASE-LR,4 為 10GBASE-SR,3 為 40GBASE-CR4,2 為 40GBASE-SR4,1 為 40GBASE-LR4,0 為 40G 有源電纜(XLPPI)
132 — SONETOC-48 長距離 / 中距離 / 短距離,40G OTN
133 — SAS/SATASAS 6 / 12 / 24 Gb/s
134 — 千兆以太網位元 3 為 1000BASE-T,2 為 1000BASE-CX,1 為 1000BASE-LX,0 為 1000BASE-SX
135 — FC 鏈路長度與技術位元含義與 SFP 位元組 7 相同
136 — FC 發射器技術EL、SN、SL、LL 位元定義與 SFP 位元組 8 相同
137 — FC 介質TW、TP、MI、TV、M6、M5、OM3、SM
138 — FC 速率100…3200 MB/s,擴展旗標
164 — 擴展模組InfiniBand 速率:SDR、DDR、QDR、FDR、EDR
192 — 擴展兼容性表 4-4 中的取值

典型示例:40GBASE-SR4 → 位元組 131 = 04h,位元組 192 = 00h;100GBASE-SR4 → 位元組 131 = 80h(擴展),位元組 192 = 02h;100G CWDM4 → 80h / 06h;100GBASE-CR4 DAC → 80h / 0Bh,連接器為 23h。

CMIS — 用應用取代位元欄位

CMIS 模組最多可列出 15 個應用,每個應用把一個主機電介面與一個介質介面配對(二者都是 SFF-8024 代碼),並給出通道數。一個 400G DR4 模組可能會同時廣播 400GAUI-8 ↔ 400GBASE-DR4(8:4)和 100GAUI-2 ↔ 100GBASE-DR(2:1,用於 4×100G 拆分)。主機為每條數據通路選擇其中一個;未廣播的組合無法配置。詳情與選擇流程參見 CMIS

主機如何使用這些代碼

  • 命名 — CLI 上顯示的類型字元串(10GBASE-LRQSFP-100G-SR4)由這些位元組推導得出,通常取按固定順序找到的第一個置位的位元。
  • 速率提供 — 主機只會列出代碼存在的速率;位元組 36 = 02h 但位元組 3 無對應位元的 25G 模組不會被提供 10G(速度與速率)。
  • FEC 選擇 — 擴展代碼攜帶 FEC 假設資訊(CA-25G-L/S/N;帶或不帶 RS-FEC 的 CAUI-4),部分主機據此設定 FEC(FEC 與鏈路訓練)。
  • 銅纜與光模組之分 — 位元組 8 位元 2–3、連接器 23h 以及位元組 147 的銅纜技術位元,會讓主機切換到 DAC 處理方式(自動協商、鏈路訓練)。
  • 策略 — 嚴格的平台會將代碼與端口模式及自身的兼容性資料庫比對;即使廠商資訊塊被接受,不匹配時仍會返回 unsupportedspeed and type not supported廠商鎖定)。

編碼規則

  1. 只置位硬件確實滿足的位元;在 SR 模組上聲明 10GBASE-LR,會把「無鏈路」變成「有錯誤的鏈路」。
  2. 保持整體身份資訊一致:兼容性 ↔ 波長 ↔ 長度 ↔ 編碼 ↔ 標稱速率 ↔ 連接器 ↔ 發射器技術。
  3. 25G 及以上速率要填寫位元組 36 / 192,並把位元組 12 / 140 設為 FFh,把 ×250 Mb/s 的速率填入位元組 66 / 222。
  4. 對於 DAC,用線纜技術位元、以米為單位的長度、連接器 23h 和衰減/兼容性位元組來編碼,而不是填寫波長。
  5. 之後重新計算校驗和(校驗和)。

在 CodingBox 中

Check transceiver 介面會把上面每一個位元都解碼成易懂的名稱,並列出 CMIS 應用;EEPROM editor 逐欄位編輯代碼位元組,顯示得到的類型字元串,並在寫入時修正 CC_BASE 和 CC_EXT。

完整的位元欄位表格及其位元組上下文:SFF-8472 A0h 映射表(位元組 3–10、36、62)、SFF-8636 上層頁面映射表(131–138、164、192)、XFP 映射表(131–138)。


如果您發現本文有不準確之處或錯誤,請選取相應片段並按 Ctrl+Enter,即可