ETHERNET
1- Introduction
Ethernet est un protocole de réseau local à commutation de paquets. le
protocole Ethernet est classé dans les couches de liaison de données (niveau
2) et physique (niveau 1)
Depuis les années 1990, on utilise très fréquemment Ethernet sur paires
torsadées pour la connexion des postes clients, et des versions sur fibre
optique pour le cœur du réseau.
Depuis quelques années, les variantes sans-fil d'Ethernet (normes IEEE
802.11, dites « Wi-Fi ») ont connu un fort succès.
Dans un réseau Ethernet, le câble diffuse les données à toutes les machines
connectées, de la même façon que les ondes radiofréquences parviennent à
tous les récepteurs. Le nom Ethernet dérive de cette analogie2 : propagation
dans l’éther. Quant au suffixe net, il s'agit de l'abréviation du mot network
(réseau) en anglais.
Jusqu'au début des années 1990, Ethernet n'était qu'une technologie parmi
d'autres bien d'autres tel que Token Ring (IEEE 802.5), FDDI (802.7), ATM
et etc. La technologie Ethernet a conquis depuis la majeure partie du
marché. Cela grâce aux point suivants :
Première technologie LAN haut débit grand public
Les autres technologies sont sensiblement plus complexes
Usage d'un protocol entièrement décentralisé (CSMA/CD)
synonyme de simplicité. Toutes les stations sont égales vis-à-vis du
réseau, il n'y a pas d'équipement maître de contrôle du réseau
il est possible de connecter ou retirer une machine du réseau sans
perturber le fonctionnement de l'ensemble
Un coût de l'équipement beaucoup plus faible que ses technologies
concurrentes
2- Définition du protocole
La technologie Ethernet se décline dans de nombreuses variantes tel que :
Deux topologies différentes qui sont bus et étoile
Multi supports permettant d'être capable de faire usage de câbles
coaxiaux, de fils en cuivre à paires torsadées ou de fibres optiques.
Une Offre d'une large gamme de débit avec 10 Mbps, 100 Mbps, 1
Gbps et 10 Gbps
L'Ethernet est basé sur un principe de dialogue sans connexion et donc sans
fiabilité. Les trames sont envoyées par l'adaptateur sans aucune procédure
de type « handshake » avec l'adaptateur destinataire. Le service sans
connexion d'Ethernet est également non-fiable, ce qui signifie qu'aucun
acquittement, positif ou négatif, n'est émis lorsqu'une trame passe le
contrôle CRC avec succès ou lorsque celle-ci échoue. Cette absence de
fiabilité constitue sans doute la clé de la simplicité et des coûts modérés des
systèmes Ethernet. Ce service de couche 2 du modèle OSI est similaire au
service en mode datagramme de couche 3 assuré par IP et au service sans
connexion de couche 4 d'UDP.
3- CSMA/CD
Les noeuds d'un réseau LAN Ethernet sont reliés les uns aux autres par un
canal à diffusion. Lorsqu'un adaptateur transmet une trame, tous les autres
adaptateurs la reçoivent. Ethernet repose sur un algorithme d'accès multiple
CSMA/CD, signifiant Carrier Sense Multiple Access with Collision Detection .
Voici les règles schématiques du protocole de discussion CSMA/CD :
Les adaptateurs peuvent commencer à transmettre à n'importe
quel moment
Les adaptateurs ne transmettent jamais lorsqu'ils détectent une
activité sur le canal
Les adaptateurs interrompent leur transmission dès qu'ils détectent
l'activité d'un autre adaptateur au sein du canal (détection de
collisions)
Avant de procéder à la retransmission d'une trame, les adaptateurs
patientent pendant une durée aléatoire relativement courte
Voici le fonctionnement détaillé étape par étape du dialogue sur un réseau
Ethernet :
1- L'adaptateur Ethernet obtient un datagramme de la couche Réseau. Il
prépare alors une trame en ajoutant les entêtes Ethernet avant et après
ce datagramme. Puis il place cette trame Ethernet dans sa mémoire
tampon
2 - Si l'adaptateur Ethernet ne détecte aucune activité sur le média
physique, il commence à transmettre la trame préparée. Si le média est
occupé, il se met en attente jusqu'à la fin du signal d'énergie (plus 96 fois
la durée d'un bit) et commence alors la transmission de la trame
3 - Pendant la transmission, l'adaptateur continu de surveiller qu'il n'y a
aucun autre signal en provenance d'un autre adaptateur. Si c'est le cas, il
poursuit la transmission de la trame jusqu'au bout
4 - Si l'adaptateur Ethernet détecte le début d'une autre transmission, il
interrompt la sienne et envoie un signal de brouillage de 48 bits
5 - Après cette interruption, l'adaptateur entre dans une phase d'attente
exponentielle appelée "exponential backoff phase". Après la nième
collision consécutive au cours de la transmission d'une trame, un
adaptateur choisit de façon aléatoire une valeur K dans l'ensemble {0, 1,
2,..., 2m-1}, dans lequel m=min(n,10). Il attend ensuite K x 512 fois la
durée d'un bit, puis revient à l'étape 2. Ce tirage aléatoire permet d'éviter
que les deux adaptateurs transmettent de nouveau ensemble.
Voici les astuces et avantages employés par le protocole CSMA/CD :
Le rôle des signaux de brouillage est d'informer tous les autres
adaptateurs des collisions qui se produisent sur le média
La norme Ethernet impose des limites à la distance entre 2 stations
au sein d'un LAN. Cette limite permet de garantir que si un
adaptateur choisit une valeur de K inférieure à celle de tous les
autres adaptateurs impliqués dans une collision, il pourra
transmettre sa trame sans risquer une nouvelle collision
L'avantage d'une attente exponentielle est que cela permet de
s'adapter au nombre d'adaptateurs impliqués dans une collision
4- Structure de l'entête
Voici un exemple d'une trame Ethernet. Vous trouverez ci-dessous sa
structure basé sur 14 octets.
Voici un exemple d'une trame Ethernet 802.1Q. Vous trouverez ci-dessous
sa structure basé sur 18 octets.
5- Définition des différents champs
5.1 - Préambule
Ce champ est codé sur 7 octets et permet de synchroniser l'envoi.
Chacun des octets vaut 10101010 et cette série permet à la carte
réceptrice de synchroniser son horloge.
5.2 - SFD
Ce champ est codé sur 1 octet et indique à la carte réceptrice que le
début de la trame va commencer. La valeur de SFD (Starting Frame
Delimiter) est 10101011.
5.3 - Adresse destination
Ce champ est codé sur 6 octets et représente l'adresse MAC (Medium
Access Control) de l'adaptateur destinataire. Dans le cadre d'un
broadcast, l'adresse utilisée est FF-FF-FF-FF-FF-FF.
Cette adresse est ce que l'on appelle l'adresse physique d'une carte
Ethernet (Hardware address). En fait cette adresse est divisée en deux
parties égales :
Les trois premiers octets désignent le constructeur. C'est le
l'organisation OUI (Organizationally Unique Identifier) géré par
l'IEEE, qui référence ces correspondances.
Les trois derniers octets désignent le numéro d'identifiant de la
carte, dont la valeur est laissée à l'initiative du constructeur qui
possède le préfixe
L'association de l'IEEE et du constructeur assure ainsi l'unicité de
l'attribution des numéros d'adresse MAC.
5.4 - Adresse source
Ce champ est codé sur 6 octets et représente l'adresse MAC (Medium
Access Control) de l'adaptateur émetteur.
Cette adresse est ce que l'on appelle l'adresse physique d'une carte
Ethernet (Hardware address). En fait cette adresse est divisée en deux
parties égales :
Les trois premiers octets désignent le constructeur. C'est le
l'organisation OUI (Organizationally Unique Identifier) géré par
l'IEEE, qui référence ces correspondances.
Les trois derniers octets désignent le numéro d'identifiant de la
carte, dont la valeur est laissée à l'initiative du constructeur qui
possède le préfixe
L'association de l'IEEE et du constructeur assure ainsi l'unicité de
l'attribution des numéros d'adresse MAC.
5.5 - Ether Type
Ce champ est codé sur 2 octets et indique le type de protocole inséré
dans le champ donnée. Voici un extrait des différentes correspondances :
0x6000 - DEC
0x0609 - DEC
0x0600 - XNS
0x0800 - IPv4
0x0806 - ARP
0x8019 - Domain
0x8035 - RARP
0x809B - AppleTalk
0x8100 - 802.1Q
0x86DD - IPv6
Dans le cadre d'une trame VLAN taggé 802.1Q, ce champs doit être à
0x8100 afin de spécifier l'ajout des 4 octets suivants.
5.6 - 802.1Q
5.6.1 - Priorité
Ce champ est codé sur 3 bits et représente une information sur la
priorité de la trame. Il y a donc 8 niveaux où 000 représente une
priorité basse et 111 une haute.
5.6.2 - CFI
Ce champ est codé sur 1 bit et doit être marqué à 0. CFI (canonical
format indicator) est utilisé pour des raisons de compatibilité entre les
réseaux Ethernet et les réseaux de type Token ring.
5.6.3 - VLAN ID
Ce champ est codé sur 12 bits et représente le numéro du VLAN. Il est
donc possible d'intégrer la trame dans 1 VLAN parmi 4096 possibilités.
La valeur 0 indique qu'il n'y a pas de VLAN, c'est souvent utilisée dans
le cas où l'on désire appliquer une priorité sans avoir besoin de la
notion de VLAN.
5.6.4 - EtherType
Ce champ est codé sur 2 octets et indique le type de protocole inséré
dans le champ donnée. Voici un extrait des différentes
correspondances :
0x6000 - DEC
0x0609 - DEC
0x0600 - XNS
0x0800 - IPv4
0x0806 - ARP
0x8019 - Domain
0x8035 - RARP
0x809B - AppleTalk
0x86DD - IPv6
5.7 - Données
Ce champ est codé entre 46 et 1500 octets et contient les données de la
couche 3. Dans le cas de TCP/IP, c'est ici que vient se loger le
datagramme IP. L'unité de transfert maximale est le MTU (Maximale
Transfer Unit) et sa valeur est classiquement de 1500 octets. Si la taille
des données est inférieure à 46 octets, alors elle devra être complétée
avec des octets de bourrage (padding) et c'est la couche réseau qui sera
chargée de les éliminer.
5.8 - FCS
Ce champ est codé sur 4 octets et représente la séquence de contrôle de
trame. Il permet à l'adaptateur qui réceptionnera cette trame de détecter
toute erreur pouvant s'être glissée au sein de la trame.
Les erreurs binaires sont principalement créées par les variations
d'affaiblissement du signal et l'induction électromagnétique parasite dans
les câbles Ethernet ou les cartes d'interface. La valeur de FCS (Frame
Check Sequence) est le résultat d'un calcul polynomial appelé CRC (Cyclic
Redundancy Code). A la réception de la trame, la couche liaison effectue
le même calcul et compare les deux résultats qui doivent être égaux afin
de valider la conformité de la trame reçue.
6- Les types d'équipements
6.1 - Le répéteur (Repeater)
Cet équipement agît au niveau 1 du modèle OSI. Sa fonction est de
répéter un signal électrique en le régénérant. L'avantage est de pouvoir
augmenter la distance physique, cependant, l'inconvénient est qu'il
répète aussi le bruit du fait qu'il n'applique aucun filtre ni contrôle.
6.2 - Le HUB (Concentrateur)
Cet équipement agît au niveau 1 du modèle OSI. Sa fonction est
d'interconnecter plusieurs cartes d'interfaces ensembles. Ainsi, chaque
signal électrique reçu est rediffusé sur tous les autres ports du HUB.
Dans le cadre d'un HUB 100Mbps, on obtient un débit partagé de
100Mbps pour l'ensemble de équipement Ethernet raccordé.
6.3 - Le commutateur (Switch)
Cet équipement agît au niveau 2 du modèle OSI. Identiquement à un
HUB, sa fonction est d'interconnecter plusieurs cartes d'interfaces
ensembles. Cependant, lorsqu'il réceptionne une trame, il compare
l'adresse MAC de destination avec sa table de correspondance. Ainsi, il ne
diffuse cette trame uniquement sur le port physique concerné.
Dans le cadre d'un Switch 100Mbps, on obtient un débit dédié de
100Mbps par équipement Ethernet raccordé. les caractéristiques
principales à vérifier lors de la sélection d'un Switch sont :
Le nombre d'adresse MAC maximum qui peuvent mise en
mémoire
Le nombre de paquet par seconde (PPS) que la matrice de fond
de panier peut commuter
6.4 - Le pont (Bridge)
Cet équipement agît au niveau 2 du modèle OSI. Il permet
d'interconnecter deux réseaux de Liaison différente. Par exemple, on
trouvera fréquemment des ponts permettant de relier des réseaux :
Ethernet et WIFI
Ethernet et Token Ring
6.5 - Le routeur (Gateway)
Cet équipement agît au niveau 3 du modèle OSI. Il permet de relier
plusieurs réseau IP différents. Pour cela, lorsqu'il reçoit une trame, il
compare l'adresse IP destination du datagramme avec sa table de
routage et route ce datagramme sur l'interface de sortie correspondante.
6.6 - Synthèse des équipements
Voici une synthèse comparative des différents équipements Ethernet :