Dans cet article je vais expliquer les bases d’Ethernet, qui est le standard le plus utilisé pour les réseaux locaux. Pourquoi cet article ? Car en réalisant mon tuto sur le TAP réseau Ethernet 100BASE-TX je me suis aperçu qu’il était difficile de trouver un article qui explique de manière concise et simple les bases d’Ethernet. Soit les articles sont très détaillés, mais on se perd dans les détails, soit il est trop basique et on comprend difficilement le fonctionnement précis de ce réseau. Dans ce article j’ai essayé de trouver un compromis afin de comprendre les bases en quelques minutes.
Le câble Ethernet à paires torsadées
Il existe plusieurs types de câbles regroupés par catégories, pour simplifier on peut dire qu’une catégorie va indiquer le débit maximum que le câble peut transmettre. Un câbles de catégorie 5e par exemple permet un débit allant jusqu’à 1 Gbit/s.
Les câbles sont constitués de 4 paires torsadées (8 fils). Ethernet utilise une signalisation différentielle pour la transmission des données, la tension différentielle varie de 0 à environ +1 V sur le câble positif et de 0 à environ -1 V sur le câble négatif. C’est pourquoi pour Ethernet 100BASE-T on nomme RX+ et RX- les 2 fils de la paire qui est utilisée pour recevoir les données sur une station, et TX+ et TX- les 2 fils de la paire qui est utilisée pour envoyées des données sur une station.
La prise RJ45
Les câbles Ethernet à paires torsadées sont équipés de connecteurs RJ45 composés de 8 broches.
Câblage du connecteur RJ45 :
- La paire 1 correspondant aux fils bleu et blanc-bleu est reliée aux broches 4 et 5
- La paire 2 correspondant aux fils blanc-orange et orange est reliée aux broches 1 et 2
- La paire 3 correspondant aux fils blanc-vert et vert est reliée aux broches 3 et 6
- La paire 4 correspondant aux fils blanc-marron et marron est reliée aux broches 7 et 8
Il existe différentes normes de câblage mais la plus répandue actuellement pour l’utilisation informatique est la norme T568B qui correspond au câblage décrit ci-dessus. L’autre norme T568A est très similaires puisque seules les paires 2 (orange, blanc-orange) et 3 (vert, blanc-vert) sont interchangées.
Lorsque l’on regarde de face un connecteur RJ45 mâle avec la languette de verrouillage sur le dessus, la paire 2 composée des fils de couleurs blanc-orange et orange se situe à gauche. La broche 1 du connecteur est reliée au fil blanc-orange et la broche 2 au fil orange. La broche 8 est reliée au fil marron qui appartient à la paire 4.
Le câble croisé
Dans le cas d’un réseau Ethernet 100BASE-TX (100 Mbit/s) seules 2 paires du câble sont utilisées. La paire sur laquelle une station reçoit les données est composée des fils RX+ (broche 3) et RX- (broche 6). La paire sur laquelle cette station émet ses données est composée des fils TX+ (broche 1) et TX- (broche 2).
Pour que 2 stations communiquent en étant reliées ensemble directement par un câble Ethernet, sans passer par un commutateur (switch), il faut utiliser un câble croisé entre ces deux stations. En effet on comprend aisément que les broches TX+/TX- du port RJ45 de la station qui émet vont devoir être connectées aux broches RX+/RX- du port RJ45 de la station qui reçoit les données. Il est donc nécessaire de croiser les 2 paires RX+/RX- et TX+/TX- à l’intérieur du câble Ethernet.
Pour relier deux stations entre elles via à un concentrateur (hub) ou un commutateur (switch), il ne faut pas utiliser de câble croisé. En effet pour relier une station à cet type d’équipement réseau il faut toujours utiliser un câble droit.
Note : maintenant la plupart des équipements incorporent la fonction Auto MDI-X qui détermine automatiquement s’il faut croiser les signaux ou pas. Il devient donc inutile de se soucier d’utiliser un câble droit ou croisé dans votre installation.
La couche MAC
Le couche MAC (Media Access Control) est la couche liaison dans le modèle OSI. Elle se situe au dessus de la couche physique (le câble) et gère l’adressage physique des machines. Une adresse MAC est attribuée à chaque machine d’un réseau Ethernet. Une adresse MAC se compose de 6 octets et est représentée sous la forme d’octets en hexadécimal séparés par des double points.
Par exemple l’adresse MAC de mon PC est :
a0:c5:89:6d:d4:32
Les 3 premiers octets sont le OUI (Organisationally Unique Identifier) qui indique le fournisseur de la puce qui gère Ethernet sur votre machine. Il existe des sites qui permettent de retrouver ce fabricant en fonction d’une adresse MAC. Par exemple, le site https://macvendors.com/ m’indique qu’Intel est le fabricant de ma carte réseau.
Il existe des adresses MAC particulières. Par exemple FF:FF:FF:FF:FF:FF correspond à une l’adresse de “broadcast”, une trame envoyée vers cette adresse sera reçue par toutes les machines présentes sur le réseau.
La trame Ethernet
Une trame Ethernet est composée de 3 parties :
- L’entête MAC (MAC Header) qui indique l’expéditeur et le destinataire du message ainsi que le type des données contenues dans le message
- Les données (Data) contenues dans le message
- Un contrôle de redondance cyclique (CRC) utilisé pour que le destinataire puisse vérifier que le message n’a pas été altéré pendant sa transmission sur le câble
Les données contenues dans une trame Ethernet est en général une encapsulation d’un protocole d’une couche supérieure du modèle OSI. Le champ “EtherType” de l’entête permet de savoir à quel type de protocole correspondent les données. Par exemple 0x0800 correspond au protocole internet (IP V4), et c’est donc une trame IP qui sera contenue dans le champ Data de la trame Ethernet.
Mode Half-duplex et Full-duplex
Il existe trois types de canaux de communication :
- Simplex : le canal transporte l’information dans un seul sens
- Half-duplex : le canal transporte l’information dans les deux sens mais alternativement
- Full-duplex : le canal transporte l’information dans le deux sens simultanément
L’utilisation de concentrateur (hub) ne permet que le mode de fonctionnement half-duplex, alors que l’utilisation de commutateur (switch) permet le mode de fonctionnement full-duplex. La plupart des cartes réseaux supportent aujourd’hui le full-duplex.
Ethernet Gigabit 1000BASE-T
Comme nous l’avons vu Ethernet 100BASE-T est limité à un débit de 100Mbit/s, et il utilise 2 paires de fils sur les 4 disponibles.
Afin d’augmenter le débit et d’atteindre le Gigabit, Ethernet 1000BASE-T utilise les 4 paires de fils en mode full-duplex (l’information est transportée simultanément dans les deux sens).
A noter qu’il existe une norme 1000BASE-TX qui n’utilise que 2 paires, mais cela a été un échec commercial et aucun produit n’est disponible.
Ethernet sur un Arduino
En règle général, les Arduino ne possèdent pas de connecteur Ethernet, il faut utiliser un Shield Ethernet prévu pour offrir une connectivité Ethernet à un Arduino Uno.