Chapitre3 :Ethernet-IEEE802.3 1. Histoire Le premier LAN Ethernet fut conçu au milieu des années 1970 par Robert Metcalfe et son assistant David Boggs. Le débit original était de 2,94 Mbps. Robert Metcalfe était un membre de la direction de recherche pour Xerox. Il a réussit à convaincre les entreprises Digital Equipment, Intel et Xerox de travailler ensemble pour promouvoir l'Ethernet comme un standard.
2. Principe de base Toutes les stations sont égales vis-à-vis du réseau : il n'y a pas d'équipement maître de contrôle du réseau. • La méthode d'accès employée est distribuée entre tous les équipements connectés. • Le mode de transmission est de type bidirectionnel alterné : les signaux transitent dans les deux sens, mais pas simultanément. • on peut relier ou retirer une machine du réseau sans perturber le fonctionnement de l'ensemble. Ces principes ont montré qu'il était plus facile de concevoir les réseaux et les équipements correspondants avec Ethernet qu'avec d'autres technologies aux définitions plus complètes. De nombreuses technologies réseaux «mieux définies» au départ comme Token Ring (IEEE 802.5) par exemple, se sont avérées très peu évolutives au fil du temps.
3. Domaines de collision
4. Définition du protocole CSMA/CD Les nœuds d'un réseau LAN Ethernet sont reliés les uns aux autres par un canal à diffusion. Lorsqu'un adaptateur transmet une trame, tous les autres adaptateurs la reçoivent. Ethernet repose sur un algorithme d'accès multiple CSMA/CD, signifiant Carrier Sense Multiple Access with Collision Detection . Les règles du protocole de discussion CSMA/CD : - Les adaptateurs (cartes réseaux) peuvent commencer à transmettre à n'importe quel moment - Les adaptateurs ne transmettent jamais lorsqu'ils détectent une activité sur le canal - Les adaptateurs interrompent leur transmission dès qu'ils détectent l'activité d'un autre adaptateur au sein du canal (détection de collisions) - Avant de procéder à la retransmission d'une trame, les adaptateurs patientent pendant une durée aléatoire relativement courte La méthode d’accès CSMA/CD Il s’agit d’un algorithme d’accès aléatoire inspiré de la méthode ALOHA. Le principe de ce protocole est que tous les ordinateurs émettent en même temps, reçoivent en même temps, donc communiquent en même temps sur la même bande de fréquence. L’émetteur découpe le message en trames comportant l’adresse du récepteur et un numéro d’ordre. Les ordinateurs reçoivent toutes les trames émises sur le réseau et trient celles qui leur sont destinées en lisant les adresses. Le destinataire reconstitue le message en ouvrant ces trames pour en extraire le contenu et le ranger dans l’ordre après celui des trames précédentes. Cependant si deux ordinateurs émettent une trame en même temps, il y a collision : le signal émis dans la bande de fréquence est incompréhensible. Il faut alors réémettre. Elle repose sur deux principes CSMA : Accès multiple avec écoute de la porteuse Avant d’émettre, la station écoute le canal s’il est libre, elle émet sinon elle attend. Le nombre de collisions est réduit mais le risque de collision n’est pas totalement supprimé
CD : Détection de collision La collision 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 (examinent) le canal durant leurs propres émissions. Si elles détectent un signal résultant d’une collision non conforme aux règles de codage, elles émettent une séquence de bourrage (Jamming signal) pour avertir les autres stations de la collision. Cette séquence doit être suffisamment longue pour que les autres stations puissent s’en apercevoir : La figure ci-joint définit la période de vulnérabilité et les fenêtres de collisions :
Figure 3.1 : La période de vulnérabilité et la fenêtre de collision
1à t0, la station S1 commence à émettre une trame, 2- à t0 +dt -x, la station S2, à l’autre extrémité détecte le canal libre et émet une trame 3- à t0 + dt, la station S2 détecte la collision et stoppe son émission et envoie une séquence de bourrage 4- à t0 + 2dt, 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.
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 le 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. ST=2dt=2 d/v (d : diamètre du réseau ; v : vitesse de propagation du signal) 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érieur au Slot-Time. Sur un réseau Ethernet à 10Mbit/s, le Slot-Time dure 51.2 µs et la taille minimale d’une trame est de 64 octets. T =D*ST
(D : débit ; ST : slot-time)
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 : 0 =< M < 2k, 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. Voici le fonctionnement détaillé étape par étape du dialogue sur un réseau Ethernet : 1- L'adaptateur Ethernet obtient un datagramme de la couche Réseau. Il prépare alors une trame en ajoutant les entêtes Ethernet avant et après ce datagramme. Puis il place cette trame Ethernet dans sa mémoire tampon 2 - Si l'adaptateur Ethernet ne détecte aucune activité sur le média physique, il commence à transmettre la trame préparée. Si le média est occupé, il se met en attente jusqu'à la fin du signal d'énergie (plus 96 fois la durée d'un bit) et commence alors la transmission de la trame 3 - Pendant la transmission, l'adaptateur continue de surveiller qu'il n'y a aucun autre signal en provenance d'un autre adaptateur. Si c'est le cas, il poursuit la transmission de la trame jusqu'au bout 4 - Si l'adaptateur Ethernet détecte le début d'une autre transmission, il interrompt la sienne et envoie un signal de brouillage de 48 bits 5 - Après cette interruption, l'adaptateur entre dans une phase d'attente exponentielle appelée "exponential backoff phase". Après la nième collision consécutive au cours de la transmission d'une trame, un adaptateur choisit de façon aléatoire une valeur K dans l'ensemble {0, 1, 2,..., 2m-1}, dans lequel m=min(n,10). Il attend ensuite K x 512 fois la durée d'un bit, puis revient
à l'étape 2. Ce tirage aléatoire permet d'éviter que les deux adaptateurs transmettent de nouveau ensemble. Après 16 tentatives d'émission d'un même message, l'émetteur abandonne l'émission.
a. L’algorithme d’émission
Figure 3.2 : l’algorithme d’émission
b. L’algorithme de réception
Figure 3.3 : L’algorithme de réception
5. Format des trames Les messages transmis par Ethernet sont appelés des trames. Les réseaux Ethernet permettent généralement de transmettre deux types de trames au format légèrement différent : les trames Ethernet V2 et les trames 802.3.
Figure 3.4 : Le format d’une trame Ethernet / IEEE 802.3
5.1.
Paramètres de la trame Ethernet IEEE 802.3
Le préambule : Le préambule est une suite de 0 et de 1 alternés. Il permet à l'horloge du récepteur de se synchroniser sur celle de l'émetteur. (7 octets) 01010101 (7fois) Le marqueur de début : il indique le début de la trame 01010111 (1 octet) Les adresses MAC identifient le ou les destinataire(s) de la trame puis l'émetteur. Elles sont constituées de 6 octets : Les 3 premiers octets font référence au constructeu²r de l'interface. Ils sont uniques et sont attribués par l'IEEE.
Les 3 octets suivants donnent le numéro d'interface chez ce constructeur. L'adresse source est toujours celle d'une interface unique (unicast). La destination peut être une adresse unique, de groupe (multicast) ou de diffusion générale (broadcast = FF-FF-FFFF-FF-FF). Le champ longueur/type : Ce champ de 2 octets a été défini dans le standard Ethernet II pour indiquer le type de protocole de niveau 3 employé pour transmettre le message. Avec la normalisation originale IEEE 802.3 ce champ a été redéfini pour contenir la longueur en octets du champ des données. Il faut convertir ce champ en une valeur décimale Si valeur décimale <=1500 champ = longueur (la longueur des données effectives) et la trame est du type IEEE802.3 Si valeur décimale >1536 champ= type (indique le type du protocole de la couche supérieure, à savoir la couche réseau exemples : IP=0x0800, ARP=0x0806, IPX=0x8137) et la trame est du type Ethernet V2 Le FCS : (Frame Check Sequence ) est un champ de 4 octets qui permet de valider l'intégrité de la trame. Il utilise un CRC (Cyclic Redundancy Check) qui englobe tous les champs de la trame. Ainsi, la station réceptrice peut décider si la trame est correcte et doit être transmise à la couche supérieure : LLC (Logical Link Control IEEE 802.2) ou réseau. Le temps inter-trame est appelé indifféremment Inter Frame Space ou Inter Frame Gap. Une machine ne peut émettre toutes les trames qu'elle a à transmettre les unes à la suite des autres. Le délai inter-trame normalisé est de 96 bits soit 9,6 microsecondes à 10Mbps. Remarque sur le codage Codage Manchester : - Une transition à chaque période - Synchronisation de l’horloge facile - Parfaitement équilibré - Facile à décoder
Figure 3.5 : Le codage Manchester
Résumé des paramètres :
Tranche canal : 512 temps bits
Slot time : 51,2 µs (10Mbps)
Silence inter-trame : 9,6 µs (10Mbps)
Nombre d’essai total : 16 (15 transmission)
Limite tirage BEB : 10
Taille minimale de brouillage : 32 bits
Taille maximale des trames : 1518 octets
Taille minimale des trames : 64 octets (46 octets pour les données)
Taille des adresses : 6 octets
5.2.
Trames erronées
A la suite d'incidents tels qu'une collision, le débranchement brutal d'une machine, la perte du bouchon d'adaptation d'impédance ou le mauvais fonctionnement d'une partie du matériel, des trames non cohérentes peuvent apparaître. Certains de ces défauts sont répertoriés avec un vocabulaire particulier. a) Runt
Ce terme désigne les trames trop courtes (moins de 64 octets). Ce type de trame est le plus souvent le résultat d'unecollision. b) Jabber
Il s'agit d'une trame trop longue (plus de 1518 octets). c) Misaligned frame
Une trame désalignée est une trame dont le nombre de bits n'est pas divisble par 8. Dans la pratique, ce type de tramepossède presque toujours un CRC faux. d) Bad FCS
Il s'agit d'une trame complète dont un bit n'a pas été reçu tel qu'il avait été transmis ou d'une trame tronquée résultantd'une collision.
6. Ethernet commuté Jusque là, la topologie Ethernet décrite était celle de l'Ethernet partagé (tout message émis est entendu par l'ensemble des machines raccordées, la bande passante disponible est partagée par l'ensemble des machines). Depuis quelques années une évolution importante s'est produite: celle de l'Ethernet commuté. La topologie physique reste une étoile, organisée autour d'un commutateur (switch). Le commutateur inspecte les adresses de source et de destination des messages, dresse une table qui lui permet alors de savoir quelle machine est connectée sur quel port. Connaissant le port du destinataire, le commutateur ne transmettra le message que sur le port adéquat, les autres ports restants dès lors libres pour d'autres transmissions pouvant se produire simultanément. Il en résulte que chaque échange peut s'effectuer à débit nominal (plus de partage de la bande passante), sans collisions, avec pour conséquence une augmentation très sensible de la bande passante du réseau (à vitesse nominale égale). Puisque la commutation permet d'éviter les collisions et que les techniques 10/100/1000 base T(X) disposent de circuits séparés pour la transmission et la réception (une paire torsadée par sens de transmission), la plupart des commutateurs modernes permet de désactiver la détection de collision et de passer en mode full-duplex sur les ports. De la sorte, les machines peuvent émettre et recevoir en même temps (ce qui contribue à augmenter la performance du réseau). Comme le trafic émis et reçu n'est plus transmis sur tous les ports, il devient beaucoup plus difficile d'espionner (sniffer) ce qui se passe. Ceci contribue à augmenter la sécurité générale du réseau. Pour terminer, l'usage de commutateurs permet de construire des réseaux plus étendus géographiquement. En Ethernet partagé, un message doit pouvoir atteindre toute autre machine dans le réseau dans un intervalle de temps précis (slot time) sans quoi le mécanisme de détection des collisions (CSMA/CD) ne fonctionne pas correctement. Ceci n'est plus d'application avec les commutateurs Ethernet. La distance n'est plus limitée que par les limites techniques du support utilisé (fibre optique ou paire torsadée, puissance du signal émis et sensibilité du récepteur, ...).
7. Ethernet rapide ou « Fast Ethernet » (100Base-T) Présentation & Généralités Historique : Au début des années 90, face à un besoin de plus en plus croissant de bande passante, la « haute autorité » de l’IEEE décida de faire travailler le comité 802.3 sur l’élaboration d’un réseau LAN à haut débit. Suite à de nombreux échanges entre le comité et les différents acteurs du marché (3com, Cisco, etc.…) 2 propositions émergèrent : Faire évoluer l’Ethernet 10Mbit/s. Redéfinition plus complète de la norme : Le 100VG Any Lan (soutenu par HP & IBM). La première proposition fut retenue pour des raisons évidentes de compatibilité ascendante avec tous les produits déjà existants et conformes à la norme 802.3. Parallèlement, les partisans du 100VG AnyLan créèrent leur propre standard. Caractéristiques communes avec Ethernet :
Reprise du protocole CSMA/CD donc compatibilité totale. Maintient de la taille des trames (de 64 à 1518 octets). Même topologie en étoile que le 10Base-T. La topologie Bus associée à l’utilisation du coaxial est abandonnée. Principales différences/évolutions : Fenêtre de collision ou TC (tranche canal) diminuée proportionnellement au débit : On passe de 51,2 µs à 5,12µs. Implicitement, le diamètre maximum du réseau est fortement diminué (distance maximale entre les stations les plus éloignées) et passe à environ à 200m au lieu de 2500m. Cette solution a été préférée à l’augmentation de taille minimum de la trame. Le silence inter-trames (IFG : InterFrame Gap) diminue également proportionnellement et passe à 0,96ns. De nouvelles fonctions de management font leur apparition au niveau de la couche physique. Enfin, même si techniquement il était possible d’implémenter Fast Ethernet sur du coaxial, cette solution n’a pas été retenue et la seule et unique topologie retenue est la topologie en étoile avec un câblage paires torsadées ou Fibre optique. La norme 100Base-T se décline en 2 sous-ensembles : Le 100Base-T4 qui utilise 4 paires torsadées et le 100Base-X qui se décline à nouveau en 2 sous-ensembles : 100Base-TX (2 paires torsadées) et 100Base-FX (sur fibre optique).
Figure 3.6 : les variantes du Fast Ethernet
8. Gigabit Ethernet Initialement soutenu par Intel, le Gigabit Ethernet est une technologie de réseau local qui est apparue dans le courant de l’année 1998. Cette norme porte l’appellation 802.3z et est prévue dans un premier temps pour de la fibre optique ainsi que du coaxial. Curieusement, le support coaxial refait son apparition après avoir disparu dans la norme précédente 100Base-T. Mais uniquement pour relier des appareils sur de très courtes distances de l’ordre de 25 m. Ce n’est qu’un an plus tard, en juin 1999, que la norme IEEE 802.3ab permettant d’implémenter le 1000Base-T sur un support cuivre fait son apparition. Utilisation envisagée : Le réseau Gigabit Ethernet est utilisé aujourd’hui pour l’implémentation de backbone Ethernet ou « dorsale de site ». Les gros consommateurs de bande passante sont essentiellement des serveurs à hautes performances. Filiation avec Ethernet : Méthode d’accès CSMA/CD préservée (half-duplex) mais avec un seul et unique hub répéteur autorisé. Mode « full-duplex » préservé (nouveauté apparue avec le 100Base-T). Même format de trame que le protocole Ethernet, la compatibilité est donc assurée.
Cependant, comme pour le passage de 10Mbit/s à 100Mbit/s, le problème se pose à nouveau dans la taille de la TC (tranche canal). Cette fois-ci, plutôt que de diviser par 10 la valeur TC comme sur Fast Ethernet et encore diminuer la taille globale du réseau, les concepteurs du Gigabit Ethernet ont préféré augmenter la taille de la trame minimum au détriment de la bande passante. La taille minimum d’une trame équivaut donc à 512 octets (et non pas 640 octets comme le voudrait la logique mathématique). Autre avantage de l’augmentation de la taille à 512 octets : Préserver la distance désormais habituelle de 100m reliant une station à son répéteur. Le silence inter-trame reste identique. L’ensemble des implémentations possibles du 1000Base : Le 1000Base CX : Support coaxial. Le 1000Base-LX : FO monomode. Le 1000Base-SX : FO multimode. Et enfin le 1000Base-T : Paires torsadées (4paires).