Page Précédente Sommaire Page Suivante

I. La norme 802.3 et Ethernet


La norme IEEE 802.3 correspond à la famille des réseaux de type CSMA/CD. Elle a pour origine le système ALOHA, créé par Abramson à Hawaii, enrichi par la suite à l'aide de la société Xerox qui y ajouta la fonction "écoute par porteuse" et construisit alors le système CSMA/CD. Il fut baptisé Ethernet en référence à l'éther : on croyait en effet à l'époque que les ondes électromagnétiques se propageaient à travers cet élément.

La réussite de ce système a conduit à l'élaboration d'un standard par Xerox, DEC et Intel ; ce travail a servi de base pour la norme IEEE 802.3 mais il est important de souligner les différences entre Ethernet et IEEE 802.3. La norme IEEE 802.3 est en effet plus générale qu'Ethernet : elle décrit toute une famille de protocoles et utilise différents types de supports de transmission dont les débits varient de 1 à 10Mbit/s. Le terme Ethernet a été généralisé au point qu'il est employé la plupart du temps de manière générique pour désigner IEEE 802.3 et son utilisation est donc devenue abusive, il est donc important de bien faire la distinction entre ces deux normes.

Le principe de fonctionnement est le suivant : lorsqu'une station désire émettre elle se met à l'écoute du câble. Si ce câble est utilisé par une autre station alors elle doit attendre qu'il devienne disponible, sinon elle transmet le message. Si deux stations transmettent un message en même temps il se produit alors une "collision" et les messages sont alors renvoyés à leur point de départ, nous verrons ce cas un peu plus loin.

Que se soit pour IEEE 802.3 ou bien pour Ethernet c'est l'encodage Manchester qui est utilisé. La transition entre les temps bit permet de maintenir la synchronisation entre les stations émettrices et réceptrices. Le niveau haut est ainsi représenté par une tension de 0,85 volts et le niveau bas par -0,85 volts. Cela nous permet également de définir un état "libre" qui correspond à une tension de 0 volt.

Les données sont transmises sous forme de "paquets" ou "trames" : l'information est décomposée en petits morceaux et sera acheminée sous cette forme. Ces trames, en plus de contenir l'information à transporter contiennent des indications relatives au transport (adresse de source et de destination...) et au contrôle, voir à la correction, des données transmises. Cette étape, qui fait partie de la sous couche MAC, est exécutée par les composants de la carte d'interface réseau de la station. La structure d'une trame 802.3 est la suivante :


nombres d'octets :

7

1

6

6

2

0-1500

0-46

4

PRE

SFD

DA

SA

LEN

DATAS

PAD

FCS


Une trame commence par une amorce fournie par PRE (préambule). L'octet 10101010 est ainsi envoyé sept fois de suite afin de permettre aux stations de se mettre en synchronisation bit. On utilise ensuite un délimiteur de début de trame (SFD pour Start Frame Delimiter) qui est toujours de la forme 10101011 et qui permet alors aux stations d'avoir une synchronisation caractère et une synchronisation trame.

La trame contient l'adresse de destination (Destination Adress) et l'adresse source (Source Adress). Chaque ordinateur possède une adresse unique au monde formée de 6 octets, inscrite dans la carte réseau par le constructeur lors de sa fabrication. Ces adresses sont généralement affichées comme une séquence de nombres hexadécimaux sur deux digits, séparés par deux points, par exemple aa : bb : cc : dd : ee : ff. Le bit de poids fort de l'adresse de destination indique si on a une adresse individuelle (0) ou de groupe (1), cette transmission est appelée "multicast". Si tous les bits de la destination sont à 1 alors la diffusion sera générale et transmise à toutes les stations du réseau, on parle alors de "broadcast".

La séquence LEN (length) correspond à la longueur des 2 champs suivants (DATAS et PAD). La norme IEEE 802.3 stipule qu'une trame doit contenir au moins 64 octets à partir de l'adresse de destination, soit 46 pour les champs DATAS et PAD. La partie d'une trame qui contient les données ne doit pas être trop courte : si la quantité des données (DATAS) n'atteint pas 46 octets alors le champ PAD va la compléter afin d'atteindre ce minimum. PAD sert donc au remplissage. L'intérêt de ce système est de permettre de différencier les trames valides des non valides : lorsqu'il y a une collision une partie de la trame a quand même été envoyée et subsiste sur le câble, elle contient des fragments de données que l'on ne doit pas confondre avec une trame valide qui n'a pas eu de collision. On impose donc une taille minimale de trame qui caractérise au mieux une trame valide. Les champs DATAS et PAD sont aussi appelés champ LLC-PDU, ce qui correspond à la norme 802.2 que l'on a évoqué plus haut ainsi que la sous-couche LLC.

Le dernier champ de la trame sert à la vérification des données transmises. Les erreurs dues à des parasites seront détectées à l'aide d'algorithmes de vérification à caractère cyclique. Lorsqu'une trame est transmise et qu'il n'y a pas de collision il est en effet possible qu'elle soit altérée du fait de parasites dans le câble de transmission. Un test de validité sera alors effectué à l'aide du dernier champ de la trame et si le résultat est positif alors une autre trame d'accusé de réception est alors transmise. En prévision de cet événement l'envoi d'une trame est toujours suivi d'un intervalle de temps d'attente afin de libérer le support de transmission pour l'accusé de réception.

 

La transmission de trames par plusieurs stations peut entraîner des situations de collision que nous avons déjà évoquées. Lorsqu'une station détecte une collision elle arrête immédiatement sa transmission et attend pendant un temps aléatoire avant de recommencer la transmission de ses trames. Ce temps aléatoire est défini en fonction de deux fois la distance entre les deux stations les plus éloignées du réseau.

D'après IEEE 802.3 la longueur maximum d'un câble Ethernet épais est de 500 mètres. Si l'on utilise le maximum de répéteurs tolérés par cette norme, c'est à dire quatre, on obtient cinq tronçons de câbles de 500 mètres au maximum, soit 2500 mètres. Pour cette distance l'intervalle de temps est fixé à 512 temps bits, soit 51,2 microsecondes. Lors d'une première collision la station attends pendant 0 ou 1 intervalle de temps, puis si une deuxième collision se produit, elle attend à nouveau entre 0 et 3 intervalles de temps. Pour une troisième collision elle patiente entre 0 et 23-1 intervalles de temps. Si cette situation continue l'attente correspond ensuite à l'intervalle compris entre 0 et 2i-1. Après la dixième collision le choix se fige à 1023 possibilités. Les tentatives pourront aller jusqu'à 16 collisions, puis la situation sera transmise à la station de travail qui décidera des suites à donner.

Ce système permet de limiter les temps d'attente après les premières collisions : un délai moyen de 512 intervalles dès le début produirait un retard significatif alors que l'encombrement du câble ne le justifie pas forcément.


Page Précédente Sommaire Page Suivante