Ethernet et le haut débit  
 

 

Ethernet peut avoir 2 modes de fonctionnement : le half-duplex et le full-duplex.
Le mode half-duplex est le mode traditionnel d’Ethernet utilisant le CSMA/CD, lorsque deux stations ou plus partagent le même média.
Le mode full-duplex, apparu lors de la spécification du Fast Ethernet, est plus simple et plus efficace puisqu’il permet un accès sans partage, et donc sans collision, au média.

I - Le mode half-duplex et le CSMA/CD

Le protocole CSMA/CD (Carrier Sense Multiple Access with Collision Detection, ou accès multiple avec détection de porteuse) est un protocole aléatoire où les stations peuvent émettre à tout instant, ce qui donne lieu à des contentions d’accès. Cette méthode est dite probabiliste puisque le délai d’attente après collision entre plusieurs trames suit une loi aléatoire. Elle est basée sur la connaissance de l’activité récente du canal. Le CSMA/CD consiste à forcer l’attente de la station tant que le canal est occupé.

1. Transmission d’une trame

Elle ne peut être émise que si le canal est libre. Avant de transmettre, la station voulant émettre se met à l’écoute. Si elle détecte un signal en ligne, elle attend que le canal soit libre pour émettre. De cette façon on évite les collisions si une autre station est déjà en train d’émettre sans pour autant les supprimer toutes.

Dans le 1er cas suivant, S1 détecte le média libre et décide d’émettre, il en est de même pour S2 qui attend que S1 libère le canal puis décide d’émettre après un délai inter-trame destiné à garantir un temps de silence minimum pour faciliter la gestion du niveau physique.

Dans le second cas, S3 et S2 scrutent le canal pendant la transmission de S1. A la fin de celle ci S2 et S3 transmettent simultanément et entrent en collision.

Inter-Frame Gap

Les normes Ethernet précise qu’un temps de silence doit être observé entre deux transmissions de trames. Ce temps inter-trame est appelé Inter-Frame Gap (IFG) ou Inter-Frame Space (IFS). Ce temps est prévu pour que chaque élément ait le temps de se préparer à la réception de la trame suivante. Physiquement, il s’agit également du temps nécessaire aux équipements électroniques et au média pour retrouver l’état de repos.
L’IFS minimum correspond à la transmission de 96 bits, ce qui équivaut à 9,6 µs en Ethernet 10 Mbps, 960 ns en Fast Ethernet, et 96 ns en Gigabit Ethernet.

2. Détection des collisions

Elle se produit lorsque deux stations constatent en même temps que le support de transmission est disponible et transmettent simultanément. Physiquement une collision est donc un signal brouillé violant les règles du codage en bande de base. Afin de détecter une collision éventuelle les stations scrutent le canal durant leurs propres émissions. Si elles détectent un signal résultant d’une collision (i.e. non conforme aux règles de codage), elles émettent une séquence de bourrage (Jam sequence) pour avertir les autres stations de la collision. Cette séquence doit être suffisamment longue pour que les autres stations puissent s’en apercevoir. Elle est au minimum de 32 bits.

Les figures suivantes définissent la période de vulnérabilité et les fenêtres de collisions :

A t0, la station S1 commence à émettre une trame.

A t0 +dt, la station S2, à l’autre extrémité, détecte le canal libre et émet une trame.

Les signaux entre en collision sur le média.

A t0 + tp, la station S2 détecte la collision, stoppe son émission, et envoie une séquence de bourrage. Le temps tp correspond au temps de propagation du signal entre les deux stations.

A t0 + tp + dt, S1 détecte à son tour la collision.

De cet exemple on peut définir la période de vulnérabilité : c’est la période qui représente la durée pendant laquelle une station éloignée peut détecter le canal libre et transmettre à son tour ; elle est au maximum égale au temps de propagation nécessaire entre les deux stations les plus éloignées sur le support (tpmax).

De même, on peut définir le Slot-Time ou fenêtre de collision : c’est le délai maximum qui s’écoule avant qu’une station détecte une collision ou encore délai après lequel une station peut être certaine d’avoir réussi sa transmission : elle est égale à deux fois le temps de propagation du signal sur le support. C’est l’unité de temps du protocole.

En effet, dans le pire des cas, la station 2 commencera à émettre alors que le signal est presque arrivé jusqu’à elle :

Le temps « dt » des équations précédentes sera alors quasiment identique au temps de propagation. La station 1 détectera alors la collision au bout d’un temps t0 + dt + tp, ou dt = tp. Ce Slot-Time doit donc être égal à 2tpmax. Ainsi, toute station est assurée au bout du Slot-Time de savoir si sa trame émise a subie ou non une collision.

La durée du Slot-Time a une influence sur la taille minimale d’une trame. En effet, pour que l’on puisse détecter la collision, il faut que la station écoute et donc qu’elle soit encore en train d’émettre. Il faut par conséquent, que le temps d’émission d’une trame de longueur minimale soit supérieure au Slot-Time. Sur un réseau Ethernet à 10Mbit/s, le Slot-Time dure 51.2 µs.

Ce « Slot Time » est un paramètre clef des réseaux Ethernet fonctionnant en half-duplex. Il est définit comme le temps de transmission de 512 bits (64 octets) pour les réseaux Ethernet et Fast Ethernet. En Gigabit Ethernet, le Slot Time est de 4096 bits : il a nécessité l’ajout du champ extension pour atteindre 512 octets.

C’est également ce Slot Time qui engendre des limites au niveau de la taille maximum des segments du réseau et le nombre de répéteurs que l’on peut utiliser. Si le réseau est trop grand, le phénomène des « late collision » peut apparaître, c’est-à-dire que la station termine son émission avant que l’information de collision ne lui soit revenue.

Une fois qu’une collision est détectée par une station, cette dernière émet la séquence de bourrage qui doit revenir jusqu’à l’émetteur pour que celui-ci détecte la collision. Ce temps de détection est appelé le « round trip propagation delay ».

Exemple de calcul pour le Gigabit Ethernet

Dans le pire des cas, le temps minimum d’émission de la station doit être 2 fois la distance maximum entre les 2 stations les plus éloignées du réseau. La vitesse de propagation des câbles coaxiaux est de 2,3 x 108 m/s, et celle des paires torsadées est de 1,77 x 108 m/s.

Ainsi, pour le Gigabit Ethernet, avec un Slot Time de 512 bits, on peut déterminer la longueur de câble possible :
2 td (temps de propagation max) = 1,77 x 108 m/s x 512 bits x 10-9 (temps / bit) soit 90 m.

Donc, avec 512 bits de Slot-Time, la distance maximum entre les 2 stations les plus éloignées du réseaux est de 45 mètres, soit moins de 23 mètres par segment. Avec un Slot time de 512 bits, les segments Gigabit Ethernet n’aurait pas pu excéder une vingtaine de mètres !

Qui plus est, ce calcul ne tient pas compte d’autres contraintes :
- le temps de passage d’un répéteur peut atteindre 7,5 bit-time
- le temps de passage du transceiver à l’émission peut atteindre 3 bit-time
- le temps de passage du transceiver à la réception peut atteindre 6 bit-time
- pour la norme, la longueur est calculée pour 499 bits, et non 512…

NB : Un bit-time est l’unité de temps du réseau. En seconde, il est égal à l’inverse du débit, soit 100 ns dans un réseau à 10 Mbps, et 1 ns dans un réseau Gigabit Ethernet.

3. Reprise après collision

Après la détection de la collision, la station doit retransmettre la même trame au bout d’un temps aléatoire qui dépend à la fois du Slot-Time et du nombre de collisions successives déjà subies pour cette trame.
L’algorithme de calcul de ce temps aléatoire est l’algorithme Binary Exponential Backoff. Il a été conçu de façon à minimiser la file d’attente en cas de trafic important et à réduire le nombre de collisions successives en cas de trafic important. Il consiste à tirer une variable aléatoire entière M telle que 0 =< M < 2^k, où k = min(n,10) et où n est le nombre total de collisions subies par la station pour la trame considérée. Le délai d’attente avant de tenter une nouvelle transmission est alors pris égal à M fois la fenêtre de collision. Lorsque n atteint 16, il y a abandon de la retransmission.
Ainsi, le nombre aléatoire est d’abord choisi dans l’intervalle [0,1], puis [0,3] à la deuxième tentative, puis [0,7], et ainsi de suite jusqu’à la 10ème tentative dans l’intervalle [0,1023]. Ensuite, l’intervalle reste celui-là jusqu’à la 16ème tentative, avant de déclarer que le nombre de collisions est trop important et d’abandonner la transmission.

4. Réception d’une trame

La topologie du réseau sous-jacent est équivalente à un support à diffusion où toutes les stations reçoivent tous les signaux transportés. La station est toujours à l'écoute du support ; dés qu'elle détecte un signal de porteuse, elle recopie les bits jusqu'à reconnaissance du délimiteur de fin de trame. Le champ de contrôleur d'erreur est ensuite vérifié puis l'adresse de la destination comparée à celle de la station, elle est remise au niveau supérieur (LLC) ; dans le cas contraire, elle est simplement détruite.

II - Le mode full-duplex

La norme 802.3 propose un second mode de fonctionnement pour Ethernet, appelé « full-duplex », et qui évite l’utilisation du CSMA/CD. En half-duplex, une station émet des données ou en reçoit, mais pas les deux en même temps. Le mode full-duplex permet aux stations d’échanger des données simultanément dans les deux sens sur une liaison point-à-point. De ce fait, la liaison double de débit. Une station 10 Mbps fonctionnant en full-duplex peut offrir une bande passante de 20 Mbps. Une station 100 Mbps offre une bande passante de 200 Mbps.

En full-dpulex, il ne peut y avoir que 2 stations reliées en point-à-point. Il n’y a plus de mécanisme de partage du média, les collisions ne peuvent avoir lieu et le protocole CSMA/CD est inutile. Les deux stations doivent être paramétrées et fonctionner en full-duplex.

Le full-duplex offre de nombreux avantages :
- La bande passante est doublée en permettant l’émission et réception simultannée.
- L’efficacité de la liaison est meilleure en éliminant la possibilité de collisions
- Les segments ne sont plus limités en taille comme en half-duplex pour détecter les collisions. Par exemple, 100Base-FX est limité à 412 mètres par segment en half-duplex, mais peut supporter des longueurs de 2 km en full-duplex.

Les médias ne supportant pas le full duplex sont : 10Base5, 10Base2, 10Base-FP, 10Base-FB, et 100Base-T4.

Agrégation de liens

L’agrégation de liens est une autre fonction d’Ethernet qui s’applique uniquement au mode full-duplex. Elle est définie dans la norme IEEE 802.3ad. Elle permet d’augmenter la bande passante disponible entre deux stations Ethernet en autorisant plusieurs liens physique à être utilisés comme un unique lien logique. Ces liens peuvent exister entre 2 switchs ou entre un switch et une station. Avant cette norme, il était impossible d’avoir plusieurs liens Ethernet sur une même station, sauf si ces liens étaient reliés à des réseaux ou des VLANs différents.

L’agrégation de liens apporte les avantages suivants :

  • La bande passante peut être augmentée à volonté, et par pallier. Par exemple, des liens Fast Ethernet additionnels peuvent augmenter une bande passante entre deux stations sans obliger le réseau à passer à la technologie Gigabit pour évoluer.
  • La fonction de « load balancing » (équilibrage de charge) peut permettre de distribuer le trafic entre les différents liens, ou au contraire de dédier une partie de ces liens (et donc de la bande passante) à un trafic particulier.
  • La redondance est assurée automatiquement : le trafic sur une liaison coupée est redirigé automatique sur un autre lien.

Le fait que les interfaces Ethernet soient toujours vu comme une interface unique (une seule adresse MAC) avec tous ces liens physiques, la fonction d’agrégation de liens est totalement transparente pour les couches de haut niveau comme pour les protocoles de routage. Par contre, pour conserver l’ordre d’arrivée des trames à leur destinataire, les algorithmes chargés de l’agrégation créent des sessions appelées « conversations » qui regroupe les trames Ethernet ayant les mêmes adresses sources et destinations. Les trames d’une même conversation sont alors limitées à un seul lien physique. Notons également que tous les liens physiques d’un même groupe doivent opérer en point-à-point, entre deux stations full-duplex, et que tous les liens doivent fonctionner au même débit.

III - Format de la trame Ethernet

Le format d’une trame Ethernet est le suivant :

Le préambule est une séquence de 56 bits alternant les valeurs 0 et 1 utilisées pour la synchronisation. Cela permet à toutes les stations de détecter la présence du signal et de se préparer à la réception de la trame. Le délimiteur de trame (SFD : Start Frame Délimiter) est la séquence 10101011 qui indique le début de la trame.

Les adresses MAC source et destination identifient de façon unique les stations qui émettent et reçoivent les données. Le standard permettait à l’origine d’utiliser des adresses sur 2 ou 6 octets, mais seule la version 6 octets est utilisée en pratique. L’adresse destination peut être une adresse unicast (une seule station), une adresse multicast (un groupe de station), ou une adresse de broadcast (FF-FF-FF-FF-FF-FF) qui indique l’ensemble des stations du réseau.

Le champ Longueur / Type donne soit l’identifiant du protocole de niveau supérieur OSI (Ethernet) s’il est supérieur à 1536 (par exemple, 2048 pour IP), soit le nombre d’octets du champ Données (trame 802.3) s’il est inférieur à 1500.

Le champ Données comprend au maximum 1500 octets. S’il est inférieur à 46 octets, le champ Bourrage devra être remplit en conséquence : au total, les champs Données et Bourrage doivent être compris entre 46 et 1500 octets.

Le champ FCS (Frame Check Sequence) contient un CRC (Cyclical Redundancy Check) sur 4 octets utilisé pour le contrôle d’erreur. Ce CRC est calculé sur les données comprises du champ d’adresse Destination jusqu’au champ de Bourrage.

La trame Ethernet doit avoir une longueur minimum de 64 octets et maximum de 1518 octets de l’adresse MAC Destination au champ FCS. Le préambule et le SFD ne sont pas inclus.

Extensions du format de la trame - VLANs

La norme 802.3ac (1998) a étendu la longueur maximum de la trame à 1522 octets pour permettre l’ajout d’une étiquette VLAN (Virtual Local Area Network Tagging) sur 4 octets, prenant ainsi en compte la norme 802.1Q.
Ces 4 octets sont ajoutés entre le champ « adresse Source » et le champ « Longueur /Type ».
Les deux premiers octets consistent uniquement à définir la présence de l’étiquette VLAN en précisant, le « 802.1Q Tag » Type, soit 0x8100.
Les 2 autres octets contiennent les informations suivantes :
- 3 bits pour le champ Priorité pour préciser un niveau de priorité de la trame.
- Le bit suivant est le CFI (Canonical Format Indicator), utilisé dans Ethernet pour indiquer la présence d’un champ d’Information sur le Routage (CFI)
- Les 12 derniers bits sont un identifiant de VLAN (VID, VLAN Identifier).

La trame prend alors le format suivant :

Extension du format de la trame - Gigabit Ethernet

Avec l’introduction du standard 802.3z en 1998 (Gigabit Ethernet), un champ d’extension a été ajouté à la fin de la trame Ethernet pour s’assurer que la trame sera suffisamment longue pour que les collisions soient propagées à tout le réseau. Ce champ d’extension permet d’assurer une longueur minimum de la trame de 512 octets de l’adresse Destination à ce champ d’extension. Cette extension n’est nécessaire qu’en mode half-duplex, puisque le protocole de détection de collision n’est pas utilisé en full-duplex.

Le Gigabit Ethernet introduit également un nouveau mode de transmission : le burst mode, ou mode rafale. Ce mode rafale est optionnel, et permet à une station de transmettre une série de trame sans interruption sur le média. Utilisé en half-duplex uniquement, cette fonction permet d’optimiser la performance des réseaux Gigabit Ethernet en cas de transmission d’une série de trames courtes.

Ainsi, après avoir transmis la première trame, la station continue à émettre jusqu’à un maximum de 8192 octets. Il y a toujours un temps intertrame (IFG), mais au lieu de garder le silence pendant cette période, la station émettrice remplit ce temps avec des bits d’extension.
La première trame émise nécessite alors l’ajout du champ d’extension comme vu précédemment. En revanche, les trames suivantes n’en ont pas besoin. En effet, seule la première trame émise peut subir une collision.

Trames de Pause – mode full-duplex

L’addition du mode full-duplex au standard Ethernet a entraîné l’ajout d’un mécanisme optionnel de contrôle de flux appelé Trames de Pause. Les trames de pause permettent à la station réceptrice d’arrêter temporairement le trafic reçu par la station émettrice (sauf les trames de contrôle). La trame de pause est la seule trame de contrôle définie à ce jour.

Si la station A transmet à la station B et que la station B entre en état de congestion (plus de mémoire pour enregistrer les nouvelles trames par exemple), B peut envoyer un trame de pause à A pour qu’elle cesse d’émettre pendant un certain temps indiqué dans la trame. La station A recommence à émettre au bout de ce temps.

NB : Seul la moitié du protocole des trames de pause peut être implémenté : un élément peut supporter l’envoi de trame de pause sans être capable de les décoder lorsqu’il en reçoit, et vice-versa.

IV - Les différentes implémentations

Ethernet 10 Mbps

Les différentes implémentations sont le 10 Base-5 (10 Mbps en bande de base sur câble coaxial d’une longueur maximale par segment de 500 mètres) qui est la version d’origine d’Ethernet, le 10 Base-2 (Thin Ethernet), sa version économique avec du câble coaxial souple et fin qui permet une longueur de segment de 185 mètres pour un débit de 10 Mbps, et la version 10 Base-T, sur paires torsadées où la longueur maximum des brins est de 100 à 150 mètres.

Avec un débit de 10 Mégabits par seconde, Ethernet 10 Base-X fait déjà partie des réseaux à hauts débits. La version 100 Mégabits est une évolution du 10 Base-T idéal pour les réseaux locaux d’entreprise.

Fast Ethernet

La compatibilité de la trame Ethernet vers 100 Mégabits est assurée par la reprise du protocole CSMA/CD et le maintien de la taille des trames. La topologie du réseau est la même que pour le 10 Base-T.

La fenêtre de collision est réduite à 5,12 µs (toujours 512 bits), et le silence inter-trame (IFG : InterFrame Gap) est de 0,96 µs (96 bits). Ceci induit de fortes contraintes sur le temps de propagation du signal et donc sur la distance maximale entre les deux stations les plus éloignées du réseau. La longueur d’un segment ne peut excéder 100 mètres.

Il existe deux classes de hubs différentes, le hubs de classe 1 qui régénèrent les signaux et les diffusent sur les autres ports selon le type de port (100 base TX ou 100 base T4) et les hubs de classe 2 qui répètent immédiatement les signaux reçus et donc qui autorisent une connexion avec une et uniquement une cascade avec une distance inter-hub de 5 mètres.

La norme 100 Base-T prévoit l’utilisation de 3 supports différents :

Le 100 base T4 utilise un codage de type 8B/6T (8 bits sur 3 temps d’horloge). Trois paires sont utilisées pour la transmission de données, la quatrième pour la détection de collision.

Le 100 base TX et 100 base FX utilise la signalisation 4B/5B (16 symboles parmi 32) sur une paire ou fibre d’émission et une paire ou fibre de réception.

La fibre optique permet une longueur de segment de 400 mètres.

Gigabit Ethernet

Le Gigabit Ethernet est une évolution naturelle du Fast Ethernet. Son architecture générale est la suivante :

Le Gigabit Ethernet fonctionne en full-duplex dans le mode switch-to-switch et dans le mode switch-to-end-station (de commutateur à commutateur ou à station) et en half-duplex pour les stations raccordées directement à un hub.

Pour maintenir un diamètre de réseau suffisant en half-duplex (200 mètres), la fenêtre de collision a été modifiée, la trame minimale étant portée à 512 octets. l’IFG reste à 96 bits.

Exemples d’architecture

Ces deux évolutions d’Ethernet sont généralement utilisés comme backbone sur les réseaux locaux. Les machines ne travaillent pas nécessairement à 100 ou 1000 Mbps mais les commutateurs qui forment la partie centrale du réseau l’utilisent.

Exemple d’architecture Fast Ethernet

Exemple d’architecture Gigabit Ethernet

guill - 05/2003
 

-= From guill.net =-