Nous avons vu quels éléments étaient nécessaires aux machines pour communiquer ensemble. Mais nous n’avons pas vu comment celles-ci dialoguaient entre elles, ou plutôt comment et à l’aide de quoi ces dernières interprètent les bits circulant en couche 1.
Pour se faire elles vont donc et peu importe leurs systèmes d’exploitation utilisés un même langage ou protocole qui se nomme Ethernet.
Le protocole Ethernet va nous permettre deux choses :
Ce qui va permettre de structurer le message et comprendre le message, qu’on appelle trame. Cette trame peut prendre plusieurs formes que nous allons devoir décortiquer dans les prochaines pages.
À noter : en couche 2 il y a d’autres protocoles qu’Ethernet, mais il est de très loin le plus utilisé.**
Les trames Ethernet modernes ont été utilisées pour la première fois dans la structure dite Ethernet II avant qu’Ethernet ne soit développé en 1983 par l’IEEE dans le protocole standard IEEE 802.3. Nous allons donc commencer par étudier cette structure avant de voir ces différentes variations.
Voici les différents champs qui composent le cœur de la trame; l’ensemble des champs est égal à 1518 octets :
À quoi sert le CRC?
Le CRC est une valeur mathématique qui représente l’ensemble des champs de la trame. La machine de destination peut décider si la trame est valide ou non. Voyons un exemple pour mieux comprendre.
Imaginons que nous avons une trame de 100 octets, et que nous avons un CRC de 4 octets. La machine de destination va calculer le CRC de la trame reçue, si le CRC calculé est différent du CRC reçu, alors la trame est corrompue et elle sera jetée. Si le CRC est identique, alors la trame est valide et elle sera transmise à la couche supérieure.
Enfin pour terminer plusieurs champs vont venir encadrer notre Trame Ethernet afin de former un Paquet Ethernet:
A noter que les deux derniers bits sont systematiquement à 1.