兼容性代码:字节 3–10、36 与扩展表 · 规范与标准 · 光模块与线缆 · 文档 · CodingBox
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-LR、QSFP-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 处理方式(自动协商、链路训练)。
  • 策略 — 严格的平台会将代码与端口模式及自身的兼容性数据库比对;即使厂商信息块被接受,不匹配时仍会返回 unsupported 或 speed 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,即可。