Interfaces indépendantes du média : le côté électrique du port
Entre le MAC Ethernet, à l’intérieur d’un ASIC de commutateur ou d’un contrôleur NIC, et le média — paire cuivre, fibre, backplane — se trouve une interface électrique normalisée. L’IEEE appelle cette famille interfaces indépendantes du média (MII) : peu importe pour le MAC que le côté distant soit un PHY cuivre, une cage SFP ou un module 400G, tant qu’il parle l’interface convenue. Chaque génération d’Ethernet en a ajouté une : MII et RMII pour le 10/100, GMII/RGMII/SGMII pour le gigabit, XGMII/XAUI/XFI/SFI pour le 10G, et la famille AUI (CAUI-4, 400GAUI-8, 800GAUI-8) pour tout ce qui a suivi depuis. Cette section les explique du point de vue du transceiver — ce qui arrive à la cage, ce qu’un SFP cuivre doit émuler, et pourquoi un port « dans le mauvais mode » refuse un module parfaitement valide.
Pourquoi cette séparation existe
| Couche | Où elle se trouve | Interface avec la couche suivante |
|---|---|---|
| MAC (trames, adresses) | ASIC de commutateur, contrôleur NIC, SoC | sous-couche de réconciliation → xMII |
| PCS (codage : 8b/10b, 64b/66b, FEC) | ASIC/contrôleur pour les modules enfichables ; puce PHY pour le cuivre | PMA |
| PMA / SerDes | SerDes de l’ASIC ou PHY | voies AUI vers le module ou le média |
| PMD (laser, pilote cuivre) | module transceiver ou puce PHY | fibre / câble |
Pour l’optique enfichable, le PCS et le SerDes restent dans l’hôte ; le module reçoit des voies série (SFI, CAUI-4, 400GAUI-8) et les convertit en lumière. Pour le cuivre, une puce PHY assure PCS+PMA+PMD et parle au MAC via une interface parallèle (RGMII) ou série (SGMII). Un SFP cuivre place ce PHY à l’intérieur du module, si bien que la cage doit lui transporter du SGMII ou du 1000BASE-X (SGMII et gigabit série).
L’échelle
| Interface | Débit | Forme | Signaux | Portée | Défini par | Emplacement typique |
|---|---|---|---|---|---|---|
| MII | 10/100 | parallèle 4 bits @ 2,5/25 MHz | 16–18 | cm | IEEE 802.3 Cl. 22 | MAC ↔ PHY historique |
| RMII | 10/100 | 2 bits @ 50 MHz | 7–9 | cm | RMII Consortium | SoC embarqué ↔ PHY |
| SMII / SS-SMII | 10/100 | 1 bit @ 125 MHz | 2–3 par port | cm | Cisco | PHY multiport |
| GMII | 1G (+10/100) | 8 bits @ 125 MHz | 24+ | cm | Cl. 35 | MAC ↔ PHY, surtout sur puce aujourd’hui |
| RGMII | 1G (+10/100) | 4 bits DDR @ 125 MHz | 12 | ≤ 10–15 cm | HP/Marvell RGMII v1.3/2.0 | SoC ↔ PHY cuivre sur les petits commutateurs/routeurs |
| TBI / RTBI | 1G | 10 bits @ 125 MHz | 20+ | cm | Cl. 36 | MAC ↔ SerDes externe (historique) |
| 1000BASE-X (SerDes) | 1G | 1 voie 1,25 GBd, 8b/10b | 2 paires diff. | 50 cm+ | Cl. 36/37 | ce qu’une cage SFP transporte en 1G |
| SGMII | 10/100/1000 | 1 voie 1,25 GBd, 8b/10b | 2 paires (+ horloges) | 50 cm+ | Cisco SGMII v1.8 | MAC ↔ PHY cuivre ; MAC ↔ SFP cuivre |
| 2500BASE-X | 2,5G | 1,25 × débit SGMII/1000BASE-X : 3,125 GBd | 2 paires | 50 cm | de facto | SFP 2,5G, clés PON |
| QSGMII | 4 × 1G | 1 voie 5 GBd | 2 paires | 50 cm | Cisco | ASIC ↔ PHY cuivre quadruple |
| USXGMII | 10M–10G | 1 voie 10,3125 GBd, 64b/66b | 2 paires | 30 cm | Cisco/Marvell | ASIC ↔ PHY mGig ; SFP+ 10GBASE-T |
| XGMII | 10G | 32 bits DDR @ 156,25 MHz | 74 | < 7 cm | Cl. 46 | sur puce |
| XAUI | 10G | 4 × 3,125 GBd, 8b/10b | 8 paires | 50 cm | Cl. 47 | modules XENPAK/X2, PHY historiques |
| XFI / SFI | 10G | 1 × 10,3125 GBd, 64b/66b | 2 paires | 20–30 cm | XFP MSA / SFF-8431 | cage XFP / SFP+ |
| 10GBASE-KR | 10G | 1 × 10,3125 GBd | 2 paires | 1 m backplane | Cl. 72 | backplanes, PHY 10GBASE-T |
| 25GAUI | 25G | 1 × 25,78 GBd NRZ | 2 paires | C2M | Annexe 109A/B | cage SFP28 |
| XLAUI / CAUI-10 | 40G / 100G | 4 / 10 × 10,3125 GBd | 8 / 20 paires | C2C/C2M | Annexe 83A/B | QSFP+ / CFP, CXP |
| CAUI-4 | 100G | 4 × 25,78 GBd NRZ | 8 paires | C2M | Annexe 83D/E | cage QSFP28 |
| 50GAUI-2 / -1 | 50G | 2 × 26,5625 NRZ / 1 × 26,5625 GBd PAM4 | 4 / 2 paires | C2M | Annexe 135B–E | SFP56 |
| 100GAUI-4 / -2 / -1 | 100G | 4 × NRZ / 2 × 53 GBd PAM4 / 1 × 106 GBd PAM4 | — | C2M | Annexe 135D–G, 120G | QSFP28 (variantes PAM4), QSFP112 |
| 200GAUI-8 / -4 / -2 | 200G | 8 × 26,5 PAM4 / 4 × 53 / 2 × 106 | — | C2M | Annexe 120C–G | QSFP56, QSFP112 |
| 400GAUI-16 / -8 / -4 | 400G | 16 × 25 NRZ / 8 × 53 PAM4 / 4 × 106 PAM4 | — | C2M | Annexe 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 |
Détails : MII, RMII, GMII, RGMII, SGMII, 1000BASE-X, QSGMII, USXGMII, XGMII, XAUI, SFI et la famille AUI.
Où se situe chacune
| Device | MAC → … | … → medium |
|---|---|---|
| Commutateur cuivre 1G 48 ports | ASIC → QSGMII → PHY quadruples | PHY → RJ45 |
| Petit routeur / carte SoC | SoC → RGMII ou SGMII → PHY | PHY → RJ45 ; ou SoC → 1000BASE-X/SGMII → cage SFP |
| Port SFP+/SFP28 de commutateur ou de NIC 10G/25G | SerDes de l’ASIC → SFI / 25GAUI → cage | module → fibre ou DAC |
| Port QSFP28 100G | ASIC → CAUI-4 (4 × 25G) → cage | module → 4 λ ou 4 fibres |
| Port QSFP-DD / OSFP 400G | ASIC → 400GAUI-8 (8 × 50G PAM4) → cage | gearbox du module → 4 × 100G optique |
| Port OSFP 800G | ASIC → 800GAUI-8 (8 × 100G PAM4) → cage | module → 8 × 100G (DR8) ou 4 × 200G |
| SFP cuivre 1000BASE-T | hôte 1000BASE-X ou SGMII → PHY du module | PHY → RJ45 |
| SFP+ 10GBASE-T | hôte SFI (10GBASE-R) → PHY du module (classe USXGMII) | PHY → RJ45 |
| Port RJ45 multigig de commutateur | ASIC → USXGMII → PHY mGig | 2,5/5/10GBASE-T |
Gestion des PHY et des modules
| Copper PHY chip | Pluggable module | |
|---|---|---|
| Bus | MDIO/MDC (clause 22 : adresse 5 bits, 32 registres 16 bits ; clause 45 : paires appareil/registre pour le 10G et au-delà) | I²C deux fils (A0h/A2h, pages CMIS) (Interface deux fils) |
| État de la liaison | registre d’état du PHY (reg 1), dans la bande sur RGMII/SGMII | broches et indicateurs LOS/LOL, DDM |
| Outils Linux | mii-tool, phytool, ethtool (pilote PHY) | ethtool -m, i2c-dev (Outils NIC) |
| Particularité du SFP cuivre | le PHY à l’intérieur du module est accessible en I²C à une seconde adresse (par exemple 0xAC sur les modules à base de Marvell 88E1111) ou via des pages constructeur — MDIO tunnellisé | — |
Pourquoi c’est important pour le travail sur les transceivers
- Mode de la cage. Un port SFP 1G peut être en mode 1000BASE-X ou SGMII ; un SFP cuivre se comporte différemment dans chaque cas, et les clients 10/100 ne fonctionnent qu’en SGMII (ou avec un module qui masque la différence) (SGMII et gigabit série).
- Débit et codage. Le module doit accepter le débit de voie et le codage de l’hôte : SFI à 10,3125 GBd, CAUI-4 à 25,78, 400GAUI-8 en PAM4 — c’est ce qu’annoncent les codes de conformité et les applications CMIS (Codes de conformité).
- Qui retime. Les modules SFP+ sont souvent linéaires/limiteurs avec égalisation côté hôte ; les modules 25G et plus embarquent des CDR ; les modules PAM4 embarquent des DSP ; les modules LPO sont de nouveau linéaires et dépendent du SerDes de l’hôte (CDR, DSP et LPO).
- Voies électriques ≠ voies optiques. Le 400G-FR4 prend 8 voies électriques et émet 4 longueurs d’onde ; le gearbox est dans le module (XGMII, XAUI et la famille AUI).
- Linux choisit l’interface à partir de l’EEPROM. La couche SFP du noyau lit les octets 3–10, 12 et 36 pour choisir entre 1000BASE-X, SGMII, 2500BASE-X, 10GBASE-R — un octet de conformité erroné fait établir la liaison d’un bon module dans le mauvais mode (Plan mémoire).
Pour aller plus loin
- MII, RMII, GMII, RGMII — les interfaces parallèles : broches, horloges, modes de délai RGMII, état dans la bande, gestion du PHY via MDIO, défauts typiques.
- SGMII, 1000BASE-X, QSGMII, USXGMII — les interfaces série vers les PHY et les cages SFP : différences d’autonégociation, SFP cuivre, 100BASE-FX, 2,5G, multigig, comment Linux choisit le mode.
- XGMII, XAUI, XFI/SFI et la famille AUI — du 10G au 800G : nombre de voies, C2C contre C2M, points de conformité, correspondance OIF CEI, correspondance des voies électriques vers optiques, modules retimés contre linéaires.
Dans CodingBox
Les octets qu’affiche CodingBox sont la déclaration par le module des interfaces hôtes qu’il prend en charge : codes de conformité (1000BASE-T → cuivre compatible SGMII/1000BASE-X), débit binaire nominal, octet d’encodage (8b/10b contre 64b/66b contre PAM4), bits CDR et identifiants d’interface hôte CMIS. Les modifier change l’interface que l’hôte va essayer (Check transceiver, Codes de conformité).