|

Entête Ethernet
par Sébastien FONTAINE (_SebF)
1 - L'histoire
2 - Définition du protocole
3 - CSMA/CD
4 - Structure de l'entête
5 - Définition des différents champs
5.1 - Préambule
5.2 - SFD
5.3 - Adresse destination
5.4 - Adresse source
5.5 - Ether Type
5.6 - 802.1Q
5.6.1 -
Priorité
5.6.2 -
CFI
5.6.3 -
VLAN ID
5.6.4 - EtherType
5.7 - Données
5.8 - FCS
6 - Les types d'équipements
6.1 -
Le répéteur (Repeater)
6.2 -
Le HUB (Concentrateur)
6.3 -
Le commutateur (Switch)
6.4 - Le pont (Bridge)
6.5 - Le routeur (Gateway)
6.6 -
Synthèse des équipements
7 - Discussion autour de la
documentation 8 - Suivi du document
Le premier LAN Ethernet fut conçu au
milieu des années 1970 par Robert Metcalfe et son assistant David Boggs. Le
débit original était de 2,94 Mbps. Robert Metcalfe était un membre de la
direction de recherche pour Xerox. Il travaillait au centre de recherche Palo
Alto au USA (PARC : Palo Alto Research Center) où certains des premiers PC ont
été construits. Il quitta Xerox en 1979 pour promouvoir l'utilisation du PC (personal
computer) et du LAN (Local Areas Network). Il a réussit à convaincre les
entreprises Digital Equipment, Intel et Xerox de travailler ensemble pour
promouvoir l'Ethernet comme un standard.

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
De plus, Ethernet paraît être en bonne
position pour conserver son statut de technologie prédominante pendant encore de
nombreuses années.
Une RFC
spécifique a été écrite spécialement pour l'interaction entre Ethernet et un
datagramme IP. (Un Erratum est paru)
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.
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 C'est un protocole permettant la discussion sur
un réseau de type Ethernet.
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 se 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
Voici un exemple d'une trame Ethernet saisie avec
Ethereal. Vous trouverez ci-dessous sa structure basé sur 14 octets.

Voici un exemple d'une trame Ethernet 802.1Q
saisie avec Ethereal. Vous trouverez ci-dessous sa structure basé sur 18 octets.

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.
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.
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érer 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.
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érer 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.
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.
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.
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.
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
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.
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.

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.

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é.

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 peux
commuter

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

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.
Voici une synthèse comparative des
différents équipements Ethernet :

Vous trouverez un complément
d'information sur les faiblesses des réseaux Ethernet en terme de sécurité. Pour
cela, rendez-vous sur la
documentation Attaques
Ethernet et VLAN
Vous pouvez poser toutes vos questions,
vos remarques et vos expériences à propos d'Ethernet. Pour cela,
rendez-vous sur le Forum
Ethernet.
Version 1.2, le 26 novembre 2007, par
Renaud ERBA, Correction dans le chapitre 5.7 sur la taille minimum des données à
46 octets.
Version 1.1, le 05 septembre 2007, par
Sébastien FONTAINE, Ajout du chapitre 5.6.4 afin de bien préciser que l'entête
802.1Q recopie le champ Ethertype
Version 1.0, le 19 novembre 2006, par
Sébastien FONTAINE, création du document.
|