web-dev-qa-db-fra.com

Clarification sur Ethernet, MII, SGMII, RGMII et PHY

Je viens principalement du milieu des logiciels embarqués et j'ai donc une connaissance très limitée du matériel en général. J'utilise toujours Ethernet comme le petit connecteur physique de votre ordinateur auquel vous connectez votre câble Ethernet. Et du point de vue logiciel, tout ce que vous devez faire est d'installer le pilote (sous Windows) ou de configurer le noyau Linux pour inclure le pilote pour votre Ethernet.

Des questions:

Mais comme j'ai commencé à descendre d'un niveau (vers le matériel) et à regarder diverses fiches techniques et schémas, j'ai commencé à trouver des termes comme PHY, MII, SGMII, RGMII, etc. Et maintenant, je ne suis pas confus quant à ce qui constitue un Ethernet? Par exemple, quand je dis le port Ethernet Intel 82574L 1,0 Gbit/s, où se trouvent tous ces termes?

29
modest

Permettez-moi d'essayer d'expliquer:

(1) Les MII, SGMII, RGMII sont trois types d'interface entre la puce MAC et la puce PHY. L'Intel 82574L est une puce MAC. À la figure suivante:

 _______         __________                  ___________
  CPU  | PCI-E   |        |  MII/SGMII/RGMII |         |
  or   |<=======>| MAC    |<================>| PHY     |<==========>physical interface 
  board| or else |        |                  |         |
________         __________                  ___________

Pour plus de détails sur la définition MII (100Mbps), SGMII (1Gbps, série), RGMII (1Gbps, réduit), vous pouvez les consulter sur Google.

(2) Fondamentalement, la carte d'interface réseau (NIC) se compose d'une puce MAC et d'une puce PHY associée, ainsi que d'autres modules périphériques. De plus, un pilote de périphérique Ethernet devrait fonctionner avec le matériel NIC. La puce MAC possède une interface avec le CPU de contrôle ou la carte mère du PC, comme le bus PCI-E ou autre.

36
tian_yufeng

Quelques définitions:

  • MAC - contrôleur d'accès aux médias. Il s'agit de la partie du système qui convertit un paquet du système d'exploitation en un flux d'octets à mettre sur le câble (ou la fibre). S'interface souvent avec le processeur hôte via quelque chose comme PCI Express (par exemple).
  • PHY - couche physique - convertit un flux d'octets du MAC en signaux sur un ou plusieurs fils ou fibres.
  • MII - interface indépendante des médias. Juste un ensemble standard de broches entre le MAC et le PHY, de sorte que le MAC n'a pas besoin de savoir ou de prendre soin de ce qu'est le support physique, et le PHY n'a pas besoin de savoir ou de se soucier de l'apparence de l'interface du processeur hôte.

Le MII a été normalisé il y a longtemps et prend en charge des vitesses de 100 Mbits/s. Une version utilisant moins de broches est également disponible, RMII ("R" pour réduit).

Pour les vitesses en gigabit, l'interface GMII ('G' pour gigabit) est utilisée, avec une version à nombre réduit appelé RGMII. Une version très réduite du nombre de broches appelée SGMII est également disponible (`` S '' pour série) qui nécessite des capacités spéciales sur les broches IO du MAC), tandis que les autres xMII sont des signaux logiques relativement conventionnels.

Il existe également de nombreuses autres variétés d'interfaces utilisées dans d'autres circonstances, dont certaines sont liées à la page Wikipedia MII:

http://en.wikipedia.org/wiki/Media_Independent_Interface

En ce qui concerne votre question spécifique sur la puce Intel - pour autant que je sache (le lien de la fiche technique semble mort), cette puce est un MAC, avec PCIe. Il se placera donc entre le bus PCIe sur l'hôte et une sorte de couche physique gigabit (PHY).

30
Martin Thompson

Vous voudrez peut-être chercher le terme "7 couches d'OSI" dans lequel certains termes fréquemment entendus;

** Ethernet PHY correspond à la couche physique qui se compose des composants littéralement physiques de la communication.

** Ethernet MAC (pas l'adresse Mac mais le contrôleur d'accès aux médias) correspond à la couche liaison de données, qui est chargée d'organiser les trames avant de les envoyer à la couche physique.

Des configurations telles que MII, RMII, Auto-Negotion sont configurées à partir de ces deux et il existe des bibliothèques pour vous faciliter la vie.

** La couche réseau est celle responsable du routage des paquets. Les protocoles tels que IP et DHCP sont considérés comme faisant partie de cette couche. Cette couche est également la première couche la plus basse uniquement basée sur un logiciel. Si vous utilisez une IP légère, par exemple, les bibliothèques ip et netif sont celles sur lesquelles tout le reste s'appuie.

** La couche de transport est l'endroit où les protocoles de transmission tels que TCP & UDP peuvent être trouvés.

J'espère que cela aide, je ne sais malheureusement pas grand-chose sur les couches supérieures.

2
İlkerK