Formation I.S.N.

Trame Ethernet

Introduction

Ethernet est un protocole de réseau local à commutation de paquets (en savoir plus). C'est une norme internationale : ISO/IEC 8802-3.

Il a été développé par Xerox Corporation au milieu des années 70. Son débit élevé (jusqu'à 10 Gbits/s de nos jours), son faible coût, sa simplicité de mise en oeuvre, sa stabilité, l'ajout et le retrait de machines même à chaud lui ont permis de s'imposer comme la référence.

Il existe de nombreux types de trames Ethernet. Nous développerons uniquement la trame Ethernet II qui est la plus couramment utilisée.

Constitution d'une trame Ethernet II

Une trame Ethernet II est constituée des éléments suivants :

Constituion d'une trame Ethernet

Préambule

Afin de permettre l'annonce de la trame et la synchronisation des horloges de transmission, on y ajoutera un préambule composé de :

  • 7 octets dont la valeur est 10101010 (alternance de 1 et de 0). Les valeurs hexadécimales sont 0xAA.
  • 1 octet dont la valeur est 10101011. On l'appelle le SFD : "Starting Frame Delimiter". Sa valeur hexadécimale est 0xAB. Il doit être reçu en entier pour valider le début de la trame.

Le préambule est donc : 10101010 10101010 10101010 10101010 10101010 10101010 10101010 10101011

En-Tête de liaison

L'en-tête de liaison ou Mac Header est une suite de 14 octets qui se décomposent comme suit :

  • 6 octets pour l'adresse MAC du destinataire
  • 6 octets pour l'adresse MAC de l'émetteur
  • 2 octets pour l'EtherType. Cela indique quel protocole est concerné par le message. La carte réalise un démultiplexage en fournissant les données au protocole concerné.
    Voici quelques types courants (en hexadécimal) définis par la RFC 1700 :
    • 0x0800 pour IPv4
    • 0x0806 pour ARP
    • 0x809B pour AppleTalk
    • 0x86DD pour IPv6

Données

Ce sont les données véhiculées par la trame, il s'agit d'une encapsulation du datagramme IP issu de la couche précédente : la couche Internet du modèle TCP/IP ou couche Réseau du modèle OSI.

Sur la station destinataire de la trame, ces octets seront communiqués à l’entité (protocole) indiquée par le champ EtherType, vu précédemment.

Notons que la taille minimale des données est de 46 octets. Des octets à 0, dits de “bourrage”, sont utilisés pour compléter des données dont la taille est inférieure à 46 octets.

CRC CheckSum

Le CRC (Cyclic Redundancy Code) est le champ de contrôle de la redondance cyclique, il est composé de 4 octets. Il permet de s’assurer que la trame a été correctement transmise et que les données peuvent donc être délivrées au protocole destinataire.

Exemple de trame Ethernet II

Voici un exemple de trame Ethernet capturé avec le logiciel libre WireShark. On voit clairement l'encapsulation du datagramme IP avec les 2 adresses MAC qui apparaissent en clair sous format hexadécimal :

Exemple d'une trame Ethernet