Chaque fois que vous envoyez un fichier sur votre réseau local, des millions de petits paquets traversent les câbles à des vitesses vertigineuses – sans que vous en sachiez quoi que ce soit.
Ces paquets ont un nom précis, une structure rigoureuse, et des règles de taille immuables. Ce sont les trames Ethernet, et comprendre leur fonctionnement, c’est comprendre comment Internet tient debout.
C’est quoi une trame Ethernet?
Une trame Ethernet est l’unité fondamentale de données transmise sur un réseau Ethernet. Concrètement, c’est l’enveloppe structurée dans laquelle vos données sont glissées avant d’être envoyées d’une machine à une autre sur un réseau local.
Dans le modèle OSI, la trame opère au niveau de la couche liaison de données (layer 2). Elle ne se préoccupe pas de savoir si vous naviguez sur le web ou si vous transférez un fichier – elle transporte simplement des octets d’un point A à un point B, sur un segment réseau donné.
Ce qui distingue la trame Ethernet des autres unités de données, c’est qu’elle s’appuie sur les adresses MAC pour identifier la source et la destination. Pas d’adresses IP ici – on reste au niveau physique du réseau.
Quel est le format et les champs d’une trame Ethernet?

La trame Ethernet format est standardisée et chaque champ a une fonction précise. Voici la structure complète, champ par champ :
| Champ | Taille | Rôle |
|---|---|---|
| Préambule | 7 octets (56 bits) | Synchronisation des horloges entre émetteur et récepteur |
| SFD (Start Frame Delimiter) | 1 octet (8 bits) | Signale le début effectif de la trame |
| Adresse MAC destination | 6 octets | Identifie la machine destinataire |
| Adresse MAC source | 6 octets | Identifie la machine émettrice |
| Type / Longueur | 2 octets | Indique le protocole (Ethernet II) ou la taille des données (802.3) |
| Données (payload) | 46 à 1 500 octets | Contenu utile transporté |
| FCS (Frame Check Sequence) | 4 octets | CRC 32 bits pour la détection d’erreurs |
Le préambule de 7 octets ne transporte aucune donnée utile – il sert uniquement à synchroniser l’émetteur et le récepteur avant la transmission réelle. Le SFD qui le suit, lui, annonce que les données commencent immédiatement après.
Le champ données doit peser au minimum 46 octets. Si votre payload est plus court, un mécanisme de bourrage – le padding – complète la trame avec des octets nuls jusqu’à atteindre ce seuil. C’est une contrainte technique liée à la détection de collisions.
Le FCS clôture la trame. Ce CRC 32 bits sur 4 octets est calculé sur l’ensemble des champs précédents. Si le calcul du récepteur ne correspond pas à la valeur reçue, la trame est silencieusement jetée.
Quelle est la taille d’une trame Ethernet?
Les deux standards – Ethernet II et IEEE 802.3 – s’accordent sur des limites strictes : 64 octets minimum et 1 518 octets maximum. Ces bornes ne sont pas arbitraires, elles découlent directement des contraintes physiques du protocole CSMA/CD.
Le MTU (Maximum Transfer Unit) du champ données est fixé à 1 500 octets. En ajoutant les en-têtes fixes (adresses MAC, type/longueur, FCS), vous atteignez logiquement le plafond de 1 518 octets.
Une trame inférieure à 64 octets est appelée un runt. Une trame qui dépasse 1 518 octets est un giant. Dans les deux cas, le périphérique récepteur l’abandonne sans préavis – ces anomalies sont souvent le symptôme d’une collision ou d’un dysfonctionnement matériel.
Quelle est la différence entre une trame Ethernet II et une trame 802.3?

Cette question revient souvent, et la réponse tient en un seul champ. Historiquement, Ethernet II (DIX 2.0) a été défini en 1982 par DEC, Intel et Xerox. L’IEEE a publié sa propre variante – le standard 802.3 – dès 1983, introduisant une différence de fond dans la structure.
La distinction clé porte sur le champ de 2 octets situé après les adresses MAC :
- Ethernet II : ce champ est un Type – il indique quel protocole de couche supérieure transporte la trame. Une valeur supérieure ou égale à 1 536 (0x0600) identifie une trame Ethernet II.
- IEEE 802.3 : ce champ est une Longueur – il indique le nombre d’octets de données utiles. Une valeur inférieure ou égale à 1 500 indique une trame 802.3.
Les principaux EtherType d’Ethernet II que vous rencontrerez en pratique :
| EtherType | Protocole |
|---|---|
| 0x0800 | IPv4 |
| 0x0806 | ARP |
| 0x86DD | IPv6 |
En pratique, aujourd’hui, la quasi-totalité du trafic TCP/IP utilise Ethernet II. Le format 802.3 pur reste présent dans certains contextes industriels ou dans les protocoles réseau plus anciens.
Sur votre réseau domestique ou d’entreprise, vous naviguez presque exclusivement sur des trames Ethernet II.
Comment fonctionne le tag VLAN dans une trame 802.1Q?
Quand vous segmentez votre réseau en VLANs, vos trames Ethernet doivent transporter une information supplémentaire : l’identifiant du VLAN auquel elles appartiennent. C’est précisément ce que définit la norme IEEE 802.1Q, en insérant un tag de 4 octets dans la trame.
Ce tag est composé de deux éléments essentiels. Le TPID (Tag Protocol Identifier), fixé à 0x8100, signale au commutateur qu’il s’agit d’une trame taguée.
Vient ensuite le VLAN ID (VID), codé sur 12 bits, qui permet d’identifier jusqu’à 4 094 VLANs distincts – les valeurs 0 et 4095 étant réservées.
L’ajout de ces 4 octets fait dépasser la taille maximale classique. La norme IEEE 802.3ac a donc officiellement porté la taille maximale d’une trame taguée à 1 522 octets.
Et comme le FCS est calculé sur l’intégralité de la trame, l’insertion du tag force un recalcul du CRC – une opération transparente pour l’équipement, mais qu’il faut garder en tête lors du débogage.
Comment puis-je savoir si une trame Ethernet est valide?

Valider une trame Ethernet repose sur trois vérifications concrètes, dans l’ordre.
Première vérification : la taille. Une trame valide pèse entre 64 et 1 518 octets (ou 1 522 avec un tag VLAN). En dehors de ces bornes, elle est rejetée. Un runt sous les 64 octets trahit souvent une collision sur un réseau half-duplex.
Deuxième vérification : le FCS. Le récepteur recalcule le CRC 32 bits sur les champs reçus et compare le résultat à la valeur du FCS transmis. Une discordance signale une corruption des données en transit – câble défectueux, perturbation électromagnétique, ou matériel en fin de vie.
Troisième vérification : la cohérence du champ Type/Longueur. Une valeur entre 1 501 et 1 535 est invalide selon les deux standards – aucune trame ne devrait porter cette valeur dans ce champ. Si vous en rencontrez une, c’est un signal d’anomalie réseau à investiguer.
Comment analyser une trame Ethernet avec Wireshark?
Wireshark est l’outil de référence pour capturer et disséquer des trames Ethernet en temps réel. Son usage est gratuit, disponible sur Windows, Linux et macOS, et il décode automatiquement chaque champ de la trame.
Pour analyser une trame Ethernet avec Wireshark, lancez une capture sur l’interface réseau de votre choix, puis sélectionnez n’importe quel paquet dans la liste.
Dans le panneau central, déroulez la section « Ethernet II » – vous y verrez les adresses MAC source et destination, l’EtherType, et la longueur du payload.
Pour filtrer uniquement le trafic Ethernet de niveau 2, utilisez les filtres d’affichage comme eth.src, eth.dst ou eth.type == 0x0800 pour isoler le trafic IPv4. Si une trame présente une erreur de FCS, Wireshark la signale en rouge avec la mention « Bad FCS » – ce qui rend immédiatement visible les trames corrompues sur votre réseau.
Sur les VLANs, Wireshark affiche le tag 802.1Q dans une section dédiée « 802.1Q Virtual LAN », avec le VLAN ID en clair. C’est probablement la façon la plus rapide de vérifier qu’un trunk est correctement configuré entre deux équipements.
Une trame Ethernet, c’est finalement 64 à 1 518 octets de rigueur absolue – chaque bit à sa place, chaque champ avec sa règle. C’est cette discipline invisible qui permet à des milliards d’appareils de se parler sans se compromettre.