Códigos de conformidad: bytes 3–10, 36 y tablas extendidas
Un host no sabe qué es un módulo por el nombre del fabricante, sino por los códigos de conformidad: campos de bits que dicen «soy 10GBASE-LR» o «soy un SFP de cobre 1000BASE-T», más un único código extendido para todo lo inventado después de que los campos de bits se quedaran sin espacio. Los hosts los usan para nombrar el tipo de módulo, decidir qué velocidades ofrecer, elegir FEC y breakout y, en plataformas estrictas, para rechazar un módulo cuyos códigos no coincidan con el puerto. Acertar con ellos es la parte más importante de codificar un módulo.
Dos generaciones de codificación
| Mecanismo | Dónde | Cómo funciona |
|---|---|---|
| Campos de bits clásicos | SFF-8472 bytes 3–10; SFF-8636 bytes 131–138 y 164 | un bit por estándar; pueden estar activos varios (doble tasa, multiprotocolo) |
| Conformidad de especificación extendida | SFF-8472 byte 36; SFF-8636 byte 192 | un valor de la Tabla 4-4 de SFF-8024: 25G, 100G, 200G, 400G, PMD de MSA |
| Aplicaciones | descriptores CMIS | ID de interfaz de host + ID de interfaz de medio + número de carriles, varias por módulo — véase CMIS |
Un módulo de 25G o 100G deja la mayoría de los bits clásicos en cero y coloca su identidad en el byte 36 o 192; un módulo de 10G/1G hace lo contrario. Los módulos de doble tasa 10G/25G usan ambos.
SFF-8472 bytes 3–10 (familia SFP)
| Byte | Bit 7 | Bit 6 | Bit 5 | Bit 4 | Bit 3 | Bit 2 | Bit 1 | Bit 0 |
|---|---|---|---|---|---|---|---|---|
| 3 — Ethernet 10G / InfiniBand | 10GBASE-ER | 10GBASE-LRM | 10GBASE-LR | 10GBASE-SR | IB 1X SX | IB 1X LX | IB 1X cobre activo | IB 1X cobre pasivo |
| 4 — ESCON / SONET | ESCON MMF 1310 LED | ESCON SMF 1310 láser | OC-192 alcance corto | SONET bit de alcance 1 | SONET bit de alcance 2 | OC-48 largo | OC-48 intermedio | OC-48 corto |
| 5 — SONET | reservado | OC-12 SM largo | OC-12 SM intermedio | OC-12 corto | reservado | OC-3 SM largo | OC-3 SM intermedio | OC-3 corto |
| 6 — Ethernet | BASE-PX | BASE-BX10 | 100BASE-FX | 100BASE-LX/LX10 | 1000BASE-T | 1000BASE-CX | 1000BASE-LX | 1000BASE-SX |
| 7 — FC longitud de enlace / tecnología | muy larga (V) | corta (S) | intermedia (I) | larga (L) | media (M) | reservado | láser de onda corta, Rx lineal (SA) | láser de onda larga (LC) |
| 8 — FC tecnología / cable | interenclosure eléctrico (EL) | láser de onda corta sin OFC (SN) | láser de onda corta con OFC (SL) | láser de onda larga (LL) | cable activo | cable pasivo | reservado | reservado |
| 9 — FC medio | twin axial (TW) | par trenzado (TP) | coaxial miniatura (MI) | coaxial de vídeo (TV) | multimodo 62,5 µm (M6) | multimodo 50 µm (M5/M5E) | reservado | monomodo (SM) |
| 10 — FC velocidad | 1200 MB/s | 800 MB/s | 1600 MB/s | 400 MB/s | 3200 MB/s | 200 MB/s | véase el byte 62 | 100 MB/s |
El byte 62 (Fibre Channel speed 2) continúa la lista de velocidades para 64GFC y superiores. El byte 36 contiene el código extendido. El byte 12 da la tasa nominal en ×100 Mb/s (FFh → byte 66 en ×250 Mb/s), el byte 11 la codificación, el byte 13 el identificador de tasa para selección de tasa.
Codificaciones típicas de SFP
| Módulo | Byte 3 | Byte 6 | Byte 8 | Byte 36 | Byte 12 | Byte 11 | Longitud de onda |
|---|---|---|---|---|---|---|---|
| 1000BASE-SX | 00h | 01h | 00h | 00h | 0Dh (1,3 Gb/s) | 01h 8B/10B | 850 nm |
| 1000BASE-LX | 00h | 02h | 00h | 00h | 0Dh | 01h | 1310 nm |
| 1000BASE-T cobre | 00h | 08h | 00h | 00h | 0Dh | 01h | 0 (n/d) |
| 10GBASE-SR | 10h | 00h | 00h | 00h | 67h (10,3 Gb/s) | 06h 64B/66B | 850 nm |
| 10GBASE-LR | 20h | 00h | 00h | 00h | 67h | 06h | 1310 nm |
| DAC pasivo 10G | 00h | 00h | 04h | 00h | 67h | 06h | 0, byte 60 = conformidad del cable |
| 25GBASE-SR | 00h | 00h | 00h | 02h | FFh (byte 66 = 67h → 25,75 Gb/s) | 06h | 850 nm |
| 25GBASE-LR | 00h | 00h | 00h | 03h | FFh / 67h | 06h | 1310 nm |
| DAC pasivo 25G CA-25G-N | 00h | 00h | 04h | 0Dh | FFh / 67h | 06h | 0 |
| SR de doble tasa 10G/25G | 10h | 00h | 00h | 02h | FFh / 67h | 06h | 850 nm |
Los bytes de longitud 14–19 deben ser coherentes: un módulo SR declara alcance OM3/OM4, un módulo LR kilómetros, un DAC metros en el byte 18.
SFF-8636 bytes 131–138, 164 (familia QSFP)
| Byte | Contenido |
|---|---|
| 131 — Ethernet 10/40G | bit 7 extendido (usar byte 192), 6 10GBASE-LRM, 5 10GBASE-LR, 4 10GBASE-SR, 3 40GBASE-CR4, 2 40GBASE-SR4, 1 40GBASE-LR4, 0 cable activo 40G (XLPPI) |
| 132 — SONET | OC-48 alcance largo / intermedio / corto, OTN 40G |
| 133 — SAS/SATA | SAS 6 / 12 / 24 Gb/s |
| 134 — Gigabit Ethernet | bit 3 1000BASE-T, 2 1000BASE-CX, 1 1000BASE-LX, 0 1000BASE-SX |
| 135 — FC longitud de enlace y tecnología | mismos significados de bit que el byte 7 de SFP |
| 136 — FC tecnología del transmisor | bits EL, SN, SL, LL como el byte 8 de SFP |
| 137 — FC medio | TW, TP, MI, TV, M6, M5, OM3, SM |
| 138 — FC velocidad | 100 … 3200 MB/s, indicador extendido |
| 164 — Módulo extendido | tasas InfiniBand: SDR, DDR, QDR, FDR, EDR |
| 192 — Conformidad extendida | valor de la Tabla 4-4 |
Típico: 40GBASE-SR4 → byte 131 = 04h, byte 192 = 00h; 100GBASE-SR4 → byte 131 = 80h (extendido), byte 192 = 02h; 100G CWDM4 → 80h / 06h; DAC 100GBASE-CR4 → 80h / 0Bh con conector 23h.
CMIS — aplicaciones en lugar de bits
Un módulo CMIS enumera hasta 15 aplicaciones, cada una emparejando una interfaz eléctrica de host con una interfaz de medio (ambas códigos de SFF-8024) e indicando el número de carriles. Un módulo DR4 de 400G podría anunciar 400GAUI-8 ↔ 400GBASE-DR4 (8:4) y 100GAUI-2 ↔ 100GBASE-DR (2:1, para breakout 4×100G). El host selecciona una por ruta de datos; lo que no se anuncia no se puede configurar. Detalles y el flujo de selección: CMIS.
Cómo usan los hosts los códigos
- Nomenclatura — la cadena de tipo en la CLI (
10GBASE-LR,QSFP-100G-SR4) se deriva de estos bytes, a menudo el primer bit activo encontrado en un orden fijo. - Oferta de velocidad — un host solo lista las tasas cuyo código está presente; a un módulo de 25G con byte 36 = 02h pero sin ningún bit en el byte 3 no se le ofrecerá 10G (Velocidad y tasa).
- Selección de FEC — los códigos extendidos llevan la suposición de FEC (CA-25G-L/S/N; CAUI-4 con o sin RS-FEC) y algunos hosts configuran el FEC a partir de ellos (FEC y entrenamiento de enlace).
- Cobre frente a óptico — los bits 2–3 del byte 8, el conector 23h y las tecnologías de cobre del byte 147 hacen que el host pase al manejo de DAC (autonegociación, entrenamiento de enlace).
- Política — las plataformas estrictas comparan los códigos con el modo del puerto y con su base de datos de compatibilidad; una discrepancia produce unsupported o speed and type not supported incluso cuando el bloque del fabricante se acepta (Bloqueo de fabricante).
Reglas de codificación
- Active solo los bits que el hardware realmente cumple; declarar 10GBASE-LR en un módulo SR convierte «sin enlace» en «enlace con errores».
- Mantenga toda la identidad coherente: conformidad ↔ longitud de onda ↔ longitudes ↔ codificación ↔ tasa nominal ↔ conector ↔ tecnología del transmisor.
- Para 25G o más, complete el byte 36 / 192 y ponga el byte 12 / 140 en FFh con la tasa ×250 Mb/s en el byte 66 / 222.
- Para DAC, codifique los bits de tecnología de cable, la longitud en metros, el conector 23h y los bytes de atenuación/conformidad en lugar de una longitud de onda.
- Recalcule las sumas de comprobación después (Sumas de comprobación).
En CodingBox
La pantalla Check transceiver decodifica cada bit anterior en nombres sencillos y enumera las aplicaciones CMIS; el EEPROM editor edita los bytes de código campo por campo, muestra la cadena de tipo resultante y corrige CC_BASE y CC_EXT al escribir.
Las tablas completas de bits en su contexto de byte: Mapa A0h de SFF-8472 (bytes 3–10, 36, 62), Mapa de página superior de SFF-8636 (131–138, 164, 192), Mapa de XFP (131–138).