Codici di conformità: byte 3–10, 36 e tabelle estese
Un host non sa cosa è un modulo dal nome del produttore — lo sa dai codici di conformità: campi di bit che dicono «sono un 10GBASE-LR» o «sono un SFP in rame 1000BASE-T», più un unico codice esteso per tutto ciò che è stato inventato dopo che i campi di bit hanno esaurito lo spazio. Gli host li usano per nominare il tipo di modulo, decidere quali velocità offrire, scegliere FEC e breakout e — sulle piattaforme più rigorose — per rifiutare un modulo i cui codici non corrispondono alla porta. Impostarli correttamente è di gran lunga la parte più importante della codifica di un modulo.
Due generazioni di codifica
| Meccanismo | Dove | Come funziona |
|---|---|---|
| Campi di bit classici | SFF-8472 byte 3–10; SFF-8636 byte 131–138 e 164 | un bit per standard; possono essere impostati più bit (doppia velocità, multiprotocollo) |
| Conformità di specifica estesa | SFF-8472 byte 36; SFF-8636 byte 192 | un valore dalla Tabella 4-4 di SFF-8024: 25G, 100G, 200G, 400G, PMD MSA |
| Applicazioni | descrittori CMIS | ID interfaccia host + ID interfaccia media + numero di lane, più di una per modulo — vedi CMIS |
Un modulo da 25G o 100G lascia la maggior parte dei bit classici a zero e mette la propria identità nel byte 36 o 192; un modulo 10G/1G fa il contrario. I moduli a doppia velocità 10G/25G usano entrambi.
SFF-8472 byte 3–10 (famiglia 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 rame attivo | IB 1X rame passivo |
| 4 — ESCON / SONET | ESCON MMF 1310 LED | ESCON SMF 1310 laser | OC-192 portata corta | SONET bit di portata 1 | SONET bit di portata 2 | OC-48 lungo | OC-48 intermedio | OC-48 corto |
| 5 — SONET | riservato | OC-12 SM lungo | OC-12 SM intermedio | OC-12 corto | riservato | OC-3 SM lungo | 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 lunghezza del collegamento / tecnologia | molto lunga (V) | corta (S) | intermedia (I) | lunga (L) | media (M) | riservato | laser a onda corta, Rx lineare (SA) | laser a onda lunga (LC) |
| 8 — FC tecnologia / cavo | elettrico tra contenitori (EL) | laser a onda corta senza OFC (SN) | laser a onda corta con OFC (SL) | laser a onda lunga (LL) | cavo attivo | cavo passivo | riservato | riservato |
| 9 — FC medio | twinax (TW) | doppino intrecciato (TP) | coassiale miniaturizzato (MI) | coassiale video (TV) | multimodale 62,5 µm (M6) | multimodale 50 µm (M5/M5E) | riservato | monomodale (SM) |
| 10 — FC velocità | 1200 MB/s | 800 MB/s | 1600 MB/s | 400 MB/s | 3200 MB/s | 200 MB/s | vedi byte 62 | 100 MB/s |
Il byte 62 (Fibre Channel speed 2) continua l’elenco delle velocità per 64GFC e oltre. Il byte 36 contiene il codice esteso. Il byte 12 indica la velocità nominale in ×100 Mb/s (FFh → byte 66 in ×250 Mb/s), il byte 11 la codifica, il byte 13 l’identificatore di velocità per selezione della velocità.
Codifiche SFP tipiche
| Modulo | Byte 3 | Byte 6 | Byte 8 | Byte 36 | Byte 12 | Byte 11 | Lunghezza d’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 in rame | 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 passivo 10G | 00h | 00h | 04h | 00h | 67h | 06h | 0, byte 60 = conformità del cavo |
| 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 passivo 25G CA-25G-N | 00h | 00h | 04h | 0Dh | FFh / 67h | 06h | 0 |
| SR a doppia velocità 10G/25G | 10h | 00h | 00h | 02h | FFh / 67h | 06h | 850 nm |
I byte di lunghezza 14–19 devono essere coerenti: un modulo SR dichiara la portata OM3/OM4, un modulo LR i chilometri, un DAC i metri nel byte 18.
SFF-8636 byte 131–138, 164 (famiglia QSFP)
| Byte | Contenuto |
|---|---|
| 131 — Ethernet 10/40G | bit 7 esteso (usa byte 192), 6 10GBASE-LRM, 5 10GBASE-LR, 4 10GBASE-SR, 3 40GBASE-CR4, 2 40GBASE-SR4, 1 40GBASE-LR4, 0 cavo attivo 40G (XLPPI) |
| 132 — SONET | OC-48 portata lunga / intermedia / corta, 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 lunghezza del collegamento e tecnologia | stessi significati di bit del byte 7 SFP |
| 136 — FC tecnologia del trasmettitore | bit EL, SN, SL, LL come il byte 8 SFP |
| 137 — FC medio | TW, TP, MI, TV, M6, M5, OM3, SM |
| 138 — FC velocità | 100 … 3200 MB/s, flag esteso |
| 164 — Modulo esteso | velocità InfiniBand: SDR, DDR, QDR, FDR, EDR |
| 192 — Conformità estesa | valore della Tabella 4-4 |
Tipico: 40GBASE-SR4 → byte 131 = 04h, byte 192 = 00h; 100GBASE-SR4 → byte 131 = 80h (esteso), byte 192 = 02h; 100G CWDM4 → 80h / 06h; DAC 100GBASE-CR4 → 80h / 0Bh con connettore 23h.
CMIS — applicazioni al posto dei bit
Un modulo CMIS elenca fino a 15 applicazioni, ciascuna delle quali abbina un’interfaccia elettrica host a un’interfaccia media (entrambe codici SFF-8024) e indica il numero di lane. Un modulo DR4 da 400G potrebbe annunciare 400GAUI-8 ↔ 400GBASE-DR4 (8:4) e 100GAUI-2 ↔ 100GBASE-DR (2:1, per breakout 4×100G). L’host ne seleziona una per percorso dati; tutto ciò che non è annunciato non può essere configurato. Dettagli e flusso di selezione: CMIS.
Come gli host usano i codici
- Denominazione — la stringa di tipo nella CLI (
10GBASE-LR,QSFP-100G-SR4) è derivata da questi byte, spesso il primo bit impostato trovato in un ordine fisso. - Offerta di velocità — un host elenca solo le velocità il cui codice è presente; a un modulo da 25G con byte 36 = 02h ma senza alcun bit nel byte 3 non verrà offerto il 10G (Velocità e rate).
- Selezione del FEC — i codici estesi portano con sé l’ipotesi di FEC (CA-25G-L/S/N; CAUI-4 con o senza RS-FEC) e alcuni host impostano il FEC a partire da essi (FEC e link training).
- Rame contro ottica — i bit 2–3 del byte 8, il connettore 23h e le tecnologie in rame del byte 147 fanno passare l’host alla gestione DAC (autonegoziazione, link training).
- Policy — le piattaforme rigorose confrontano i codici con la modalità della porta e con il proprio database di compatibilità; una discrepanza produce unsupported o speed and type not supported anche quando il blocco del produttore viene accettato (Blocco del produttore).
Regole di codifica
- Imposta solo i bit che l’hardware soddisfa davvero; dichiarare 10GBASE-LR su un modulo SR trasforma «nessun collegamento» in «collegamento con errori».
- Mantieni coerente l’intera identità: conformità ↔ lunghezza d’onda ↔ lunghezze ↔ codifica ↔ velocità nominale ↔ connettore ↔ tecnologia del trasmettitore.
- Per 25G e oltre, compila il byte 36 / 192 e imposta il byte 12 / 140 su FFh con la velocità ×250 Mb/s nel byte 66 / 222.
- Per i DAC, codifica i bit di tecnologia del cavo, la lunghezza in metri, il connettore 23h e i byte di attenuazione/conformità al posto di una lunghezza d’onda.
- Ricalcola i checksum in seguito (Checksum).
In CodingBox
La schermata Check transceiver decodifica ogni bit qui sopra in nomi semplici ed elenca le applicazioni CMIS; l’EEPROM editor modifica i byte di codice campo per campo, mostra la stringa di tipo risultante e corregge CC_BASE e CC_EXT alla scrittura.
Le tabelle complete dei bit nel loro contesto di byte: Mappa A0h SFF-8472 (byte 3–10, 36, 62), Mappa della pagina superiore SFF-8636 (131–138, 164, 192), Mappa XFP (131–138).