Ethernet

protocole réseau

Ethernet est un protocole de communication utilisé pour les réseaux informatiques, exploitant la commutation de paquets. Il réalise les fonctions de la couche physique et de la couche liaison de données (couches 1 et 2) du modèle OSI. C'est une norme internationale ISO/IEC/IEEE 8802-3[1].

Connecteur RJ45 pour Ethernet.

Il a été conçu au début des années 1970 pour faire communiquer des ordinateurs rattachés à un même « éther », c'est-à-dire un milieu passif capable de transférer des données, comme un câble coaxial. Depuis les années 1990, on utilise très fréquemment une transmission sur un câble de paires torsadées pour la connexion des postes clients, et sur fibre optique pour le cœur du réseau. D'abord développé pour un débit binaire inférieur à 3 Mb/s[2],[3], Ethernet est maintenant standardisé jusqu'à 400 Gb/s[4] et des débits plus rapides sont à l'étude. À l'origine prévu pour des transmissions sur des réseaux locaux, Ethernet est aujourd'hui utilisé sur tout type de réseau (réseau étendu, dorsale Internet, automobile…) mais aussi pour des communications sur circuit imprimé.

Ethernet divise le flux de données en petites sections appelées trames. Chaque trame consiste en un entête contenant des informations liées au message à transmettre, une charge utile contenant le message lui-même et un postambule incorporant un code de détection d'erreurs qui élimine les trames corrompues. La simplicité du protocole le rend très flexible et adaptable à d'autres technologies : c'est la raison de sa popularité. Les trames sont envoyées et reçues à l'aide d'un émetteur-récepteur qui assure la liaison entre le médium de transmission et l'équipement informatique.

Ethernet est fréquemment utilisé pour transmettre les télécommunications personnelles ou professionnelles et se combine facilement avec les technologies sans fil (protocoles Wi-Fi). Il a largement supplanté d'autres standards comme le Token Ring, FDDI et ARCnet. Le protocole internet est communément porté par le protocole Ethernet, ce qui fait de ce dernier une importante base technologique d'Internet.

Par métonymie, on parle parfois de câble Ethernet et de port Ethernet pour désigner un câble de paires torsadées avec connecteur 8P8C (appelé aussi connecteur RJ45) et du port associé, voire de connexion Ethernet pour désigner tout type de connexion filaire, même si le protocole Ethernet n'est pas forcément utilisé.

Origine du nom modifier

Dans les premiers réseaux Ethernet, le câble coaxial diffusait les données à toutes les machines connectées, de la même façon que les ondes radiofréquences parviennent à tous les récepteurs. Le nom Ethernet dérive de cette analogie[5] : avant le XXe siècle, on imaginait que les ondes se propageaient dans l'éther, milieu hypothétique censé baigner l'Univers. Quant au suffixe net, il s'agit de l'abréviation du mot network (« réseau ») en anglais. On peut écrire parfois le nom francisé Éthernet.

Modèle OSI modifier

Le protocole Ethernet réalise les fonctions de la couche physique (couche 1 du modèle OSI) et de la sous-couche contrôle d'accès au support (MAC, Media Access Control). Il est possible d'ajouter des protocoles supplémentaires en les encapsulant dans la trame Ethernet. Par exemple, quand elle est implémentée, la sous-couche contrôle de la liaison logique (LLC, Logical Link Control), standard IEEE 802.2[6],[7], complète la couche liaison de données (couche 2 du modèle OSI). L'image ci-dessous schématise le rapport entre modèle OSI et le standard IEEE 802.3.

 
AUI = Attachment Unit Interface, MAU = Medium Attachment Unit, MDI = Medium Dependent Interface, MII = Media Independent Interface, PCS = Physical Coding Sublayer, PLS = Physical Layer Signaling, PMA = Physical Medium Attachment, PMD = Physical Medium Dependent, RS-FEC Reed-Solomon Forward Error Correction, xMII est le terme générique pour un MII à 100 Mbit/s ou plus. Par exemple, à 100 Mbit/s, l'interface s'appelle MII ; à 40 Gb/s, XLGMII ; etc. Les sous-couches en bleu sont définies par IEEE 802.3.

Histoire modifier

Ethernet a été développé au Xerox Palo Alto Research Center, à Palo Alto en Californie (États-Unis) à partir de 1973[5],[8], grâce aux travaux de Robert Metcalfe[9] s'inspirant d'ALOHAnet. Un brevet, dont les inventeurs sont Metcalfe, David Boggs, Charles Thacker et Butler Lampson, est déposé par Xerox en 1975[10]. L'année suivante, Metcalfe et Boggs décrivent, dans un article, un système Ethernet opérationnel pour 256 stations réparties sur un kilomètre de câble coaxial[2].

Metcalfe quitte Xerox en 1979 et fonde l'entreprise 3Com pour promouvoir l'utilisation des ordinateurs personnels et des réseaux locaux. Il convainc Digital Equipment Corporation, Intel et Xerox de travailler ensemble[11] pour promouvoir Ethernet en tant que standard, au terme d'une période au cours de laquelle la réflexion des constructeurs s'oriente vers une informatique décentralisée[12]. 3Com deviendra une compagnie majeure du domaine des réseaux informatiques, jusqu'à son rachat par Hewlett-Packard en 2010.

La spécification Ethernet I (10 Mb/s), surnommée « DIX » (pour « DEC Intel Xerox ») est publiée en 1980[13],[14], puis révisée en 1982 (Ethernet II)[15]. L'Institut des ingénieurs électriciens et électroniciens (IEEE) s'inspire de la spécification DIX et publie la norme IEEE 802.3 en 1983[16],[17]. Les standards DIX et 802.3 sont interopérables[18]. Par la suite les mises à jour normatives ont été formalisées par l'IEEE, et 802.3 a du reste pris officiellement en compte les aspects de DIX en 1998 (révision 802.3-1998)[19].

Ethernet était à l'époque en compétition avec deux systèmes propriétaires, Token Ring (IBM, plus récent) et ARCnet (TRW-Matra, plus ancien) ; ces deux systèmes ont au fil du temps diminué en popularité[14] puis disparu face à Ethernet, en raison de la baisse de coûts due à la production de masse, et aux modernisations ultérieures d'Ethernet. Ethernet avait par ailleurs moins de contraintes topologiques que le Token Ring (au CeBIT de 1995, on pouvait voir à titre expérimental un simili plafond blanc utilisé comme medium Ethernet, les signaux transitant par infrarouge).

Normalisation modifier

Au niveau de la couche MAC, le protocole Ethernet a très peu changé depuis son invention. Des protocoles supplémentaires se sont ajoutés pour pallier le manque de fonctionnalités d'Ethernet sans que le principe de base soit bouleversé. Quelques-uns sont décrits à la section Évolutions protocolaires ultérieures de cet article. Au niveau de la couche physique, au contraire, les évolutions d'Ethernet ont été nombreuses et motivées par plusieurs facteurs, dont le besoin d'un plus grand débit, l'adaptation aux structures préexistantes, le coût des équipements et du médium de transmission, etc. La section ci-dessous donne un bref résumé de quelques versions d'Ethernet les plus connues. En plus de tous ces standards officiels, plusieurs fabricants ont implémenté des versions propriétaires pour différentes raisons, par exemple pour opérer à de plus longues distances sur de la fibre optique.

Premières versions d'Ethernet sur câble coaxial modifier

  • Ethernet expérimental à Xerox.
  • Ethernet I et Ethernet II (spécifications DIX).
  • 10BASE5, aussi appelé Thick Ethernet, car le câble coaxial de type RG-8 est dit « épais ».
  • 10BROAD36. Un standard obsolète gérant l'Ethernet sur de longues distances. Il utilisait des techniques de modulation en large bande similaires à celles employées par les modems câble, opérées sur un câble coaxial.
  • 1BASE5. Une tentative de standardisation de solution pour réseaux locaux à bas prix. Il opère à 1 Mbit/s mais a été un échec commercial.
  • 10BASE2, aussi appelé ThinNet ou Cheapernet car le câble coaxial de type RG-58A/U est dit « mince » et est moins cher. Pendant plusieurs années, ce fut le standard Ethernet dominant.

Ethernet 10 Mbit/s sur paires torsadées ou fibre optique modifier

  • 10BASE-T. Fonctionne avec au minimum quatre fils (deux paires torsadées, conventionnellement les 1, 2 et 3, 6) sur un câble de catégorie 3 ou de catégorie 5 avec connecteur RJ45. Un concentrateur (ou hub) ou un commutateur (ou switch) est au centre du réseau, ayant un port pour chaque nœud. C'est aussi la configuration utilisée pour certaines versions du 100BASE-T et du Gigabit Ethernet.
  • FOIRL (Fiber-optic inter-repeater link, Lien inter-répéteur sur fibre optique). Le premier standard pour l'Ethernet sur la fibre optique.
  • 10BASE-F. Terme générique pour la nouvelle famille d'Ethernet 10 Mbit/s sur fibre optique : 10BASE-FL, 10BASE-FB et 10BASE-FP. De ceux-ci, seulement 10BASE-FL est beaucoup utilisé.

Fast Ethernet (100 Mbit/s) modifier

  • 100BASE-T. Terme générique pour les standards 100 Mbit/s sur paire torsadée. Inclut 100BASE-TX, 100BASE-T4 et 100BASE-T2.
    • 100BASE-TX. Utilise deux paires de fils sur câble de catégorie 5.
    • 100BASE-T4. Utilise quatre paires de fils sur câble de câble catégorie 3, qui était utilisé dans les installations 10BASE-T. Ne permet seulement l'utilisation en semi-duplex. Le standard est maintenant désuet car le câble catégorie 5 ou supérieure a remplacé les câbles de catégorie inférieure.
    • 100BASE-T2. Utilise deux paires de fils sur câble de catégorie 3 et permet le mode full-duplex. Il est équivalent au 100BASE-TX sur le plan des fonctionnalités, mais supporte les câbles de catégorie inférieure. Il n'a jamais eu d'applications commerciales.
  • 100BASE-FX. Ethernet 100 Mbit/s sur fibre optique.

Gigabit Ethernet (1 000 Mbit/s) modifier

  • 1000BASE-T (IEEE 802.3ab). (Utilise quatre paires de fils sur câble de catégorie 5 ou supérieure, sur une longueur maximale de 100 m. Les paires sont utilisées en full duplex, chaque paire transmettant deux bits par top d'horloge, soit un octet pour l'ensemble des quatre paires, dans chaque sens. Le codage en ligne est une modulation d'impulsions en amplitude sur cinq niveaux. Le standard est compatible avec 100BASE-TX et 10BASE-T, grâce au mécanisme d'autonégociation. La topologie est toujours en étoile car il n'existe pas de concentrateurs (hubs) 1 000 Mbit/s. On utilise donc obligatoirement des commutateurs (switch).
  • 1000BASE-X (IEEE 802.3z). 1 Gbit/s qui utilise des interfaces modulaires (des transceivers en anglais, appelés GBIC ou SFP selon leur technologie) adaptées au média (fibre optique multimode ou monomode, cuivre).
    • 1000BASE-SX. Utilise une fibre optique multimode à 850 nm.
    • 1000BASE-LX. Utilise une fibre optique monomode ou multimode à 1 300 nm.
    • 1000BASE-LH. Utilise une fibre optique, pour une longue distance.
    • 1000BASE-ZX. Utilise une fibre optique monomode longue distance.
    • 1000BASE-CX. Utilise un câble de cuivre sur de courtes distances (jusqu'à 25 m).

10 Gigabit Ethernet modifier

10 Gigabit Ethernet (10GbE) et les standards plus rapides encore prennent seulement en charge le mode full duplex. L'utilisation de concentrateurs n'est plus possible.

Le standard a été spécifié par le groupe de travail IEEE 802.3ae, dont la première publication date de 2002, puis a été incorporé dans une révision de l'IEEE 802.3.

  • 10GBASE-CX4 (802.3ak). Utilise un câble en cuivre de type infiniBand quad-data rate sur une longueur maximale de 15 mètres.
  • 10GBASE-T. Utilise un câble catégorie 6, 6 A ou 7 (802.3an), en full duplex sur quatre paires avec une modulation qui dépend de la catégorie du câble et de l'immunité au bruit souhaitée, sur une longueur maximale de 100 mètres. Compatible avec 1000BASE-T, 100BASE-TX et 10BASE-T.

Sur fibre optique, le mode LAN[20] fonctionne à un débit ligne physique de 10,3 Gbit/s ce qui représente un débit à la couche MAC de 10 Gbit/s, car la sous-couche PCS utilise un codage 64B66B. Le sur-débit de ce code est de 3 %, à comparer aux 25 % du codage 8B10B du Gigabit Ethernet.

  • 10GBASE-SR (850 nm MM, 300 mètres, dark fiber). Créé pour gérer de courtes distances sur de la fibre optique multimode, il a une portée de 26 à 82 mètres, en fonction du type de câble. Il supporte aussi les distances jusqu'à 300 m sur fibre multimode 2 GHz.
  • 10GBASE-LX4. Utilise le multiplexage par division de longueur d'onde sur quatre longueurs d'onde pour opérer à des distances entre 240 et 300 mètres sur fibre multimode.
  • 10GBASE-LR (1 310 nm SM, 10 km, dark fiber) et 10GBASE-ER (1 550 nm SM, 40 km, dark fiber). Ces standards opèrent à des distances jusqu'à 10 et 40 km respectivement, sur fibre monomode.
  • 10GBASE-SW (850 nm MM, 300 mètres, SONET), 10GBASE-LW (1 310 nm SM, 10 km, SONET) et 10GBASE-EW (1 550 nm SM, 40 km, SONET). Ces variétés utilisent le WAN PHY[21], étant conçu pour inter-opérer avec les équipements SONET/SDH, encore en place dans beaucoup de réseaux. Le mode WAN PHY opère à un débit légèrement inférieur à 10GbE, à savoir 9 953 280 kbit/s (ce qui correspond au débit STM64/OC192). Le conteneur virtuel 64c ou 192c véhicule des codes 64B66B. Elles correspondent aux niveaux physiques 10GBASE-SR, 10GBASE-LR et 10GBASE-ER respectivement, et utilisent le même type de fibre, en plus de supporter les mêmes distances. Il n'y a aucun standard WAN PHY correspondant au 10GBASE-LX4.

25 Gigabit et 50 Gigabit Ethernet modifier

Le 25 Gigabit Ethernet et 50 Gigabit Ethernet sont des standards destinés aux connexions de centres de données, définies sous les normes 802.3by[22] et 802.3cd[23], et sont proposés par plusieurs constructeurs. Ils ont été validés en 2016[24].

Ethernet 40 gigabits par seconde et 100 gigabits par seconde modifier

Ces deux familles de standards (40GBASE et 100GBASE) ont été initialement définies en 2010 sous la norme IEEE 802.3ba.

Ethernet 200 gigabits par seconde et 400 gigabits par seconde modifier

Ces deux familles de standards (200GBASE et 400GBASE) ont été définies en décembre 2017 sous la norme IEEE 802.3bs.

Interfaçage avec le médium de transmission modifier

La connexion entre le médium de transmission (le plus souvent un câble) et l'équipement informatique (parfois via une carte réseau) est très importante, car elle réalise la transition entre lien physique et lien logique. Cette connexion est réalisée grâce à un émetteur-récepteur (transceiver), dont le format a évolué avec les différentes normes Ethernet.

Câble coaxiaux modifier

Dans les premières versions d'Ethernet, l'interfaçage avec le câble coaxial de transmission se fait grâce un adaptateur externe appelé Medium Attachment Unit (MAU). La connexion au médium de transmission est assurée en perçant le câble pour se connecter au centre et à la masse (prises vampires). Par la suite (notamment avec 10BASE2), on utilise des connecteurs BNC en T pour se brancher. Cependant un adaptateur d'impédance (souvent surnommé « bouchon ») à chaque extrémité du bus reste nécessaire pour limiter les pertes par réflexion du signal. Le signal est transféré du MAU à l'ordinateur grâce à un Attachment unit interface (AUI), d'interface D-sub.

Modules optiques : couche PMD (PHY) modifier

Divers fabricants (Fiberxon, Sumitomo, Finisar[25], etc) proposent des modules optiques (ou cuivre, selon la technologie employée) appelés transceivers en anglais, permettant une interopérabilité. Ces modules permettent de convertir le signal optique (côté ligne) en un signal électrique différentiel (côté matériel) au débit de 10,3 Gbit/s; c'est donc l'équivalent de la couche PHY au niveau PMD du modèle OSI.

Il existe plusieurs normes pour ces transceivers, par exemple (en 10 Gb/s) : XENPAK, XPAK, X2, XFP (normalisés selon le XFP MSA Group), SFP+ (normalisés selon le Small Form Factor Committee).

Serdes : couche PMA (PHY) modifier

Ce signal de 10 Gbit/s, trop rapide à l'époque de sa standardisation, ne pouvait pas être traité directement, il a donc fallu le paralléliser, en général sur 64 bits. Des circuits dédiés spécialisés permettent cette conversion.

Le terme serdes vient de l'anglais serialiser/deserialiser.

Codage 64B66B : couche PCS (PHY) modifier

Le code en ligne utilisé 64B66B transforme le format XGMII (64 bits de données plus 8 bits de contrôle) en mots de 66 bits. L'objectif est multiple :

  • apporter une dispersion d'énergie et éviter de longues suites consécutives de '0' ou '1' que les modules optiques peuvent ne pas trop apprécier.
  • ceci apporte donc des transitions afin de faciliter les mécanismes de récupération d'horloge.

Le code 66 bits est composé de deux bits de synchronisation suivis de 64 bits de données.

  • Si la synchro est '01', les 64 bits sont de type données
  • Si la synchro est '10', les 64 bits contiennent au moins un octet de contrôle
  • Les préambules '00' et '11' ne sont pas utilisés.

Les 64 bits de données sont embrouillés par un embrouilleur auto synchronisé.

À ce niveau-là nous retrouvons un format équivalent MII, les couches suivantes : data link (MAC), network (IP), transport (TCP/UDP) fonctionnant de façon similaire au gigabit Ethernet.

Topologie et collisions modifier

Topologie initiale modifier

Ethernet est initialement fondé sur le principe de membres (ou pairs) connectés sur le réseau et recevant tous les messages transmis à l'intérieur d'un fil ou d'un canal commun. Ainsi, Ethernet est conçu à l'origine pour une topologie physique et logique en bus : tous les signaux émis sont reçus par l'ensemble des machines connectées. On parle de réseau de type diffusion (broadcast). Chaque pair est identifié par une adresse MAC unique, pour s'assurer que tous les postes sur un réseau Ethernet aient des identifiants distincts sans avoir besoin de configuration préalable.

Cependant, les pairs ne sont pas synchronisés, il peut donc y avoir des situations où plusieurs trames sont reçues en même temps, d'autant plus fréquemment qu'il y a de pairs. On parle alors de collision de trames.

Historiquement[26], Ethernet utilisait des bus sur câbles coaxiaux, avec les normes 10BASE5 puis 10BASE2. Il fut ensuite adapté en 10BASE-T pour utiliser des topologies physiques en étoile sur câbles à paires torsadées, les pairs étant raccordés à des concentrateurs (hubs), ce qui ne change, toutefois, rien à la nature d'Ethernet : la topologie logique reste le bus, le médium reste partagé, tout le monde reçoit toutes les trames, il n'y a toujours qu'un seul segment, tout le monde voit les collisions[27].

Il est possible de raccorder deux segments Ethernet par le biais d'un pont (bridge)[19] qui va répéter et retransmettre à l'identique, contrairement à un routeur, les trames d'un segment vers un autre segment. Les deux segments ainsi raccordés forment un seul domaine de diffusion, en revanche ils forment chacun leur propre domaine de collision car les collisions ne traversent pas le pont.

Gestion des collisions modifier

Une technologie connue sous le nom de CSMA/CD (Carrier Sense Multiple Access with Collision Detection, Écoute de porteuse avec accès multiples et détection de collision) régit la façon dont les postes accèdent au médium. Au départ développée durant les années 1960 pour ALOHAnet à Hawaï en utilisant des signaux radio, la technologie est relativement simple comparée à Token Ring ou aux réseaux contrôlés par un maître. Lorsqu'un pair veut envoyer de l'information, il obéit à l'algorithme suivant[28] :

  • Procédure principale :
  1. Trame prête à être transmise.
  2. Si le medium n'est pas libre, attendre jusqu'à ce qu'il le devienne puis attendre la durée inter-trame (9,6 μs pour l'Ethernet 10 Mbit/s) et démarrer la transmission.
  3. Si une collision est détectée, lancer la procédure de gestion des collisions en émettant un signal de collision appelé jam signal (une séquence de 4 à 6 octets)[29]. Sinon, la transmission est réussie.
  • Procédure de gestion des collisions :
  1. Continuer la transmission à hauteur de la durée d'une trame de taille minimale (64 octets) pour s'assurer que toutes les stations détectent la collision.
  2. Si le nombre maximal de transmissions (16) est atteint, annuler la transmission.
  3. Attendre un temps aléatoire dépendant du nombre de tentatives de transmission.
  4. Reprendre la procédure principale.

En pratique, CSMA/CD fonctionne comme une discussion ordinaire, où les gens utilisent tous un médium commun, l'air, pour parler à quelqu'un d'autre[30]. Avant de parler, chaque personne attend poliment que plus personne ne parle. Si deux personnes commencent à parler en même temps, les deux s'arrêtent et attendent un court temps aléatoire. Il y a de bonnes chances que les deux personnes attendent un délai différent, évitant donc une autre collision. Des temps d'attente en progression exponentielle sont utilisés lorsque plusieurs collisions surviennent à la suite.

Comme dans le cas d'un réseau non commuté, toutes les communications sont émises sur un médium partagé, toute information envoyée par un poste est reçue par tous les autres, même si cette information était destinée à une seule personne. Les ordinateurs connectés par Ethernet doivent donc filtrer ce qui leur est destiné ou non. Ce type de communication « quelqu'un parle, tous les autres entendent » d'Ethernet était une de ses faiblesses, car, pendant que l'un des nœuds émet, toutes les machines du réseau reçoivent et doivent, de leur côté, observer le silence. Ce qui fait qu'une communication à fort débit entre seulement deux postes pouvait saturer tout un réseau local[31].

De même, comme les chances de collision sont proportionnelles au nombre de transmetteurs et aux données envoyées, le réseau devient extrêmement congestionné au-delà de 50 % de sa capacité (indépendamment du nombre de sources de trafic).

Suivant le débit utilisé, il faut tenir compte du domaine de collision régi par les lois de la physique et notamment la vitesse de propagation finie des signaux dans un câble de cuivre. Si l'on ne respecte pas des distances maximales entre machines, le protocole CSMA/CD devient inopérant et la détection des collisions ne fonctionne plus correctement.

Évolution majeure : Ethernet commuté modifier

Pour résoudre les problèmes liés aux collisions, les commutateurs (switchs) ont été développés afin de maximiser la bande passante disponible. Les premiers commutateurs commerciaux voient le jour en 1989. Un commutateur est une sorte de pont multiport, chaque lien point à point entre un hôte et le commutateur étant alors un segment avec son propre domaine de collision. Dans ce cas, les caractéristiques d'Ethernet changent nettement[32] :

  • la topologie physique n'est plus en bus mais en étoile (comme avec les hubs) ;
  • la topologie logique n'est plus celle d'un bus (médium partagé), mais est également en étoile : les communications entre deux pairs donnés sont isolées (contrairement aux hubs et aux bus coaxiaux Ethernet), ce qui augmente clairement les capacités de transmission globales du réseau. Chaque paire hôte1/hôte2 communique ensemble par une sorte de lien point à point[32] virtuel établi par le commutateur ;
  • les communications peuvent se faire en full-duplex (émission et réception simultanées) et il n'y a plus de collision. Pour ce faire CSMA/CD est désactivé (en mode CSMA/CD l'émetteur écoute ce qu'il émet, et si quelqu'un parle en même temps que l'émetteur il y a collision, ce qui est incompatible avec le mode full-duplex) ;
  • les distances maximales ne sont plus contraintes par la vitesse de propagation (il n'y a plus de collision à détecter) mais uniquement par l'atténuation des signaux dans les câbles.

Trames Ethernet modifier

Une trame Ethernet est un message écrit en système binaire, avec des bits pouvant prendre 0 ou 1 comme valeur. Afin de limiter la taille de l'affichage, on choisit parfois de grouper ces bits en octets et de les représenter sous forme hexadécimale.

La trame est précédée d'un préambule et d'un délimiteur de début de trame (SFD, Start Frame Delimiter), qui font partie du paquet Ethernet à la couche physique. Le préambule est un motif de 0 et de 1 en alternance, avec les deux derniers bits valant 1, qui permet aux équipements de réseau de synchroniser leurs horloges au bit près. Le champ SFD, qui suit immédiatement le préambule, est un octet de valeur 0xD5, qui marque le début de la trame, donc qui délimite les octets. Chaque trame Ethernet débute par un entête, qui contient les adresses MAC de destination et de source dans ses deux premiers champs. L'entête est suivi par la charge utile à transmettre, qui contient elle-même les entêtes des protocoles de couche plus haute, par exemple le protocole Internet. La trame finit par une séquence de vérification de trame (FCS, Frame Check Sequence), qui consiste en un contrôle de redondance cyclique de 32 bits utilisé pour détecter si les données sont corrompues pendant la transmission. Le délai inter-paquet (IPG, Interpacket gap) correspond à la durée séparant deux paquets Ethernet, au minimum de 12 octets.

Structure d'un paquet et d'une trame Ethernet typique
Couche OSI Préambule Délimiteur de début de trame (SFD) Adresse MAC destination Adresse MAC source Tag 802.1Q (optionnel) Ethertype (Ethernet II) ou longueur (IEEE 802.3) LLC/SNAP (si 802.2) + Charge utile Séquence de vérification de trame (FCS) Délai inter-paquet (IPG)
7 octets 1 octet 6 octets 6 octets (4 octets) 2 octets 46 à 1 500 octets 4 octets 12 octets
Couche 2: trame Ethernet ← 64 à 1 522 octets →
Couche 1: paquet Ethernet & IPG ← 72 à 1 530 octets → ← 12 octets →

Types de trames modifier

Hormis les expérimentations d'avant 1982, on trouve principalement quatre types de trames Ethernet[33].

Ces différents types de trame ont des formats différents mais peuvent coexister sur un même médium physique et être distinguées par les membres du réseau[35].

La différence de base entre les trames Ethernet II et les autres trames est l'utilisation du champ de 16 bits (soit 2 octets) situé après les adresses MAC :

  • En Ethernet II / DIX, il est utilisé comme champ d'identification « EtherType » pour indiquer protocole de la couche supérieure (ARP, IPv4, IPv6…). Comme il n'y a pas d'indication sur la longueur des données, il n'y a pas de couche LLC (Logical Link Control) pour supprimer un bourrage potentiel, ce sera donc à la couche supérieure (couche réseau) de supprimer le bourrage s'il y en a.
  • En IEEE 802.3 il indique la taille de la charge utile (payload), qui est toutefois limitée par la norme à 1 500 octets.

Par convention les valeurs de ce champ entre 0 et 1 500 (0x0000 à 0x05DC en système hexadécimal) indiquent une taille de charge utile, donc permettent d'identifier une trame Ethernet 802.3 ; et les valeurs plus grandes indiquent un EtherType, donc l'utilisation du format Ethernet II. Cette utilisation double du même champ justifie son appellation courante de champ « longueur/type ».

L'IEEE 802.3 ayant initialement défini ce champ de 16 bits après les adresses MAC comme la longueur du payload, il est fait appel à un nouveau champ pour préciser la charge utile transporté et les niveaux et types de service utilisés (Service Access Point). Les trames 802.3 doivent ainsi avoir un champ LLC de 3 octets défini par la norme IEEE 802.2. Le LLC étant trop petit par rapport aux besoins potentiels, un champ supplémentaire SNAP de 5 octets a été défini ultérieurement, utilisable en option. En examinant le champ LLC, il est possible de déterminer s'il est suivi par un champ SNAP ou non.

En outre, Novell a utilisé des trames 802.3 sans LLC (avant la normalisation IEEE 802.2) dans son système d'exploitation Netware[33] pour y faire passer son protocole IPX. Netware ayant été très répandu (à une époque), ce non-standard en est devenu un de fait.

Résumé des éléments de détermination du type de trame Ethernet
Type de trame Valeur du champ longueur/type Deux premiers octets du payload
Ethernet II ≥ 1536 Peu importe
Novell raw IEEE 802.3 ≤ 1500 0xFFFF
IEEE 802.2 LLC ≤ 1500 Autres
IEEE 802.2 SNAP ≤ 1500 0xAAAA

Note : Les valeurs de champ longueur/type entre 1 500 et 1 536 ne sont pas standardisées et ne devraient jamais être employées.

Taille de trame modifier

La taille minimale d'une trame Ethernet (entête, charge utile et FCS) est de 64 octets, pour permettre le bon fonctionnement du CSMA/CD[36]. Par conséquent, la taille minimale de la charge utile est de 46 octets. Si les données à transmettre sont de taille encore plus petite, on ajoute artificiellement des 0 (bourrage) à la fin de la charge utile[37]. Si la trame est plus petite que la taille minimale, ce qui arrive parfois en cas de collision, on parle de trame « nabot » (runt).

La taille maximum d'une trame Ethernet est importante à connaître, afin de maximiser l'unité de transmission maximale, donc le rapport taille de la charge utile sur taille du paquet Ethernet, ce qui correspond à l'efficacité du protocole. Les trames contiennent, en théorie, au maximum 1 500 octets, l'IEEE n'ayant pas normalisé de valeur supérieure. Cependant, certains équipements modernes savent gérer des trames géantes (jumbo) pouvant dépasser les 9 000 octets de données, sous réserve de configuration locale spécifique. Le champ longueur des trames 802.3 ne peut dépasser 1500 (sous peine d'être reconnues comme des trames Ethernet II), ce qui les empêche apparemment d'utiliser des trames jumbo. Une proposition pour résoudre ce conflit est d'utiliser un EtherType spécial 0x8870 quand une longueur supérieure à 1500 aurait dû être indiquée[38]. Quoique théoriquement obsolète du point de vue de l'IEEE, cette solution est implémentée par certains équipements[39],[40].

Évolutions protocolaires ultérieures modifier

Autonégociation modifier

Une station et un commutateur qui se connectent ensemble peuvent utiliser l'autonégociation[41],[42], c'est-à-dire qu'ils négocient automatiquement sans configuration préalable nécessaire, les éléments de la communication Ethernet et notamment, la vitesse, le duplex, et l'utilisation ou non de contrôle de flux.

Contrôle de flux modifier

En Ethernet commuté, toutes les stations du réseau peuvent communiquer en même temps (ou à des vitesses différentes, le médium physique n'étant pas partagé), il est donc possible pour une station que son port soit saturé en réception par plusieurs communications entrantes. Pour limiter la perte de paquets, le commutateur peut alors stocker temporairement et/ou détruire les trames qui ne peuvent être transmises, ou opter pour d'autres méthodes[43],[44] comme le backpressure ou les trames Pause.

Backpressure modifier

Dans ce cas le commutateur génère un signal de collision factice[45] vers la station émettrice (en fait il n'y a pas de collision puisqu'il s'agit d'Ethernet commuté, full-duplex, mais ce signal est toujours pris en compte), ce qui fait cesser temporairement son émission.

Trames Pause : 802.3x et 802.1Qbb modifier

La norme IEEE 802.3x, publiée en 1997, définit un type de trame Ethernet appelées Pause (EtherType 0x8808). Un équipement dont le lien sature en réception peut envoyer une trame Pause pour faire taire l'émetteur le temps que le lien ne soit plus saturé, fournissant ainsi un mécanisme normalisé de contrôle de flux[46].

Toutefois cette solution ne permet pas d'être spécifique en fonction du trafic car tout le trafic de la station émettrice est stoppé et il n'y a pas d'exception pour les flux prioritaires, ayant une plus haute qualité de service. Une solution, proposée par Cisco Systems puis standardisée en 2011 (IEEE 802.1Qbb), consiste à adapter la durée de la pause selon la classe de service[47].

Réseaux locaux virtuels (VLAN) et Classes de Service (CoS) modifier

La norme IEEE 802.1Q permet de créer des réseaux virtuels (VLAN, Virtual LAN) au sein du réseau Ethernet réel. La trame Ethernet est modifiée avec l'ajout d'un champ de quatre octets après les adresses MAC et avant l'EtherType. Les deux premiers octets sont fixés à la valeur de 0x8100 (ce champ correspond à l'EtherType si 802.1Q n'est pas mis en place). Les bits suivants définissent une valeur de priorité et d'identification[48]. Cette valeur de priorité permet de distinguer huit différentes classes de service (Class of Service, CoS) définies par la norme 802.1p[49]. Ainsi, par un mécanisme de qualité de service (Quality of Service, QoS), chaque VLAN peut être traité différemment, selon sa priorité, par les équipements du réseau.

Alimentation électrique modifier

Les normes IEEE 802.3af et IEEE 802.3at permettent à un commutateur d'alimenter électriquement un équipement raccordé par paire torsadée dans le cadre du concept d'alimentation électrique par câble Ethernet (Power over Ethernet, PoE)[50].

Le PoDL (Power over Data Lines) a été introduit par l'amendement IEEE 802.3bu-2016[51] pour alimenter électriquement avec une paire unique pour des applications automobiles et industrielles[52]. Sur les normes à deux ou quatre paires utilisant le PoE, l'alimentation est transmise uniquement entre les paires, de sorte qu'à l'intérieur de chaque paire, il n'y a aucune tension présente autre que celle représentant les données transmises. Avec l'Ethernet à une paire, la puissance est transmise en parallèle aux données.

Prévus au départ pour la norme 100BASE-T1 et 1000BASE-T1[53], la PoDL a été ajoutée aux variantes à paire unique 10BASE-T1, 2,5GBASE-T1, 5GBASE-T1 et 10GBASE-T1.

Synchronisation modifier

Contrairement aux protocoles multiplexés temporellement (TDM), comme PDH, SDH ou SONET, Ethernet ne contient pas, nativement, de moyens de synchroniser les différents éléments du réseau.

Le Synchronous Ethernet (SyncE), standardisé par l'UIT-T G.826x, permet de propager les signaux d'une horloge de référence, appelée Primary Reference Clock (PRC), à partir de la couche physique (en faisant appel à la synchronisation symbole) et, ainsi, de synchroniser en fréquence les différents équipements du réseau.

Pour synchroniser en phase et en temps, il faut transporter des protocoles de couches supérieures comme le Network Time Protocol (NTP) ou le Precision Time Protocol (PTP).

Notes et références modifier

  1. « ISO/IEC/IEEE 8802-3:2021 », sur ISO, (consulté le ).
  2. a et b (en) Robert M. Metcalfe et David R. Boggs, « Ethernet: distributed packet switching for local computer networks », Communications of the ACM, vol. 19, no 7,‎ , p. 395–404 (ISSN 0001-0782 et 1557-7317, DOI 10.1145/360248.360253, lire en ligne, consulté le ).
  3. (en) Xerox, ALTO: A Personal Computer System Hardware Manual, Palo Alto research center, (lire en ligne), p. 37.
  4. (en) « IEEE SA - IEEE 802.3bs-2017 », sur IEEE Standards Association (consulté le ).
  5. a et b (en) Charles E. Spurgeon, Ethernet: The Definitive Guide: The Definitive Guide, O'Reilly Media, Inc., (ISBN 978-0-596-55282-4, lire en ligne), p. 5.
  6. Stéphane Gaudry, « 802.2 (LLC) », Infobrol - Stéphane Gaudry,‎ (lire en ligne, consulté le ).
  7. (en) « IEEE 802.3 Logical Link Control », sur erg.abdn.ac.uk (consulté le ).
  8. (en) « Ethernet Prototype Circuit Board », sur National Museum of American History (consulté le )
  9. (en) Mary Bellis, « Learn Why Robert Metcalfe Is the Father of Ethernet », ThoughtCo,‎ (lire en ligne, consulté le )
  10. Brevet US 4063220 Multipoint data communication system with collision detection
  11. (en) Jeff Caruso, « Living legends: Ethernet inventor Bob Metcalfe », Network World,‎ (lire en ligne, consulté le )
  12. (en) IEEE Silicon Valley History Videos, « Ethernet's Emergence from Xerox PARC: 1975-1980 » (consulté le )
  13. (en) Digital Equipment Corporation, Intel Corporation et Xerox Corporation, « The Ethernet, A Local Area Network. Data Link Layer and Physical Layer Specifications, Version 1.0 »,‎ 30 septembre 1980 (lire en ligne)
  14. a et b (en) Burg, Urs von., The triumph of Ethernet : technological communities and the battle for the LAN standard, Stanford University Press, (ISBN 0-8047-4095-X, OCLC 46634282)
  15. (en) Digital Equipment Corporation, Intel Corporation et Xerox Corporation, « The Ethernet, A Local Area Network. Data Link Layer and Physical Layer Specifications, Version 2.0 »,‎ novembre 198Z (lire en lignel)
  16. (en) Miller, Philip, 1956-, LAN technologies explained, Boston, Digital Press, , 745 p. (ISBN 1-55558-234-6, OCLC 42726311)
  17. (en) IEEE 802.3 ETHERNET WORKING GROUP, sur le site ieee802.org.
  18. (en-US) « What is the Difference Between Ethernet II and IEEE 802.3? | Global Knowledge Blog », Global Knowledge Blog,‎ (lire en ligne, consulté le )
  19. a et b (en) Spurgeon, Charles E.,, Ethernet : the definitive guide., , 483 p. (ISBN 978-1-4493-6184-6 et 1-4493-6184-6, OCLC 868379492)
  20. (en) Ogletree, Terry William., Upgrading and repairing networks, Que, (ISBN 0-7897-2817-6, OCLC 53049929)
  21. (en-US) « Ethernet WAN Transport, SONET ATM & OC-3 – OC-192 – 10gea.org », sur 10gea.org (consulté le )
  22. IEEE 802.3by 25 Gb/s Ethernet Task Force
  23. IEEE 802.3cd 50 Gb/s, 100 Gb/s, and 200 Gb/s Ethernet Task Force
  24. « [STDS-802-3-25G] IEEE Std 802.3by-2016 Standard Approved! », sur ieee802.org (consulté le ).
  25. (en) « Optical Transceivers », sur finisar.com (consulté le )
  26. (en) Iljitsch Van Beijnum, « Speed matters: how Ethernet went from 3Mbps to 100Gbps... and beyond », Ars Technica,‎ (lire en ligne, consulté le )
  27. (en) Odom, Wendell., CCENT/CCNA ICND1 640-822 official cert guide, Cisco Press, *, 736 p. (ISBN 978-1-58720-425-8 et 1-58720-425-8, OCLC 742507036)
  28. (en) Kartik Krishnan, « Ethernet: An Introduction », sur Université d'État de Caroline du Nord,
  29. (en) Nassar, Daniel J., 1959-, Network performance baselining, Macmillan Technical Pub, (ISBN 1-57870-240-2, OCLC 44529366)
  30. (en) Reynders, Deon., Practical TCP/IP and Ethernet networking, Elsevier Science, (ISBN 0-7506-5806-1, OCLC 55635552)
  31. (en) Tasaka, Shūji, 1949-, Performance analysis of multiple access protocols, MIT Press, (ISBN 0-262-20058-9, OCLC 12978575)
  32. a et b (en) Lam, Cedric F., Passive optical networks principles and practice, Academic Press, (ISBN 978-0-12-405490-5 et 0-12-405490-0, OCLC 939259476)
  33. a et b (en) Charles Draper, « Migrating Ethernet Frame Types from 802.3 Raw to IEEE 802.2 », sur support.novell.com (consulté le )
  34. (en) Muhammad Farooq-i-Azam, « A Comparison of Existing Ethernet Frame Specifications » [PDF]
  35. (en) Benvenuti, Christian., Understanding Linux network internals, O'Reilly, (ISBN 0-596-00255-6, OCLC 63674509)
  36. Jean-Yves Tigli, « TD - Réseaux couches basses : Ethernet et IEEE 802.3 »
  37. (en) C. Hornig, « A Standard for the Transmission of IP Datagrams over Ethernet Networks », STD 41, RFC Editor, no RFC0894,‎ , RFC0894 (DOI 10.17487/rfc0894, lire en ligne, consulté le )
  38. « draft-ietf-isis-ext-eth »
  39. (en) « Techexams ccie/104431-is »
  40. (en) « Gmane ISIS in SCAPY and Jumbo frames »
  41. (en) Bill Bunch, « Auto-Negotiation and Gigabit Ethernet? », sur IEEE,
  42. (en) « Configuring and Troubleshooting Ethernet 10/100/1000Mb Half/Full Duplex Auto-Negotiation », sur Cisco (consulté le )
  43. (en) Robert Mandeville, « Benchmarking Terminology for LAN Switching Devices », sur tools.ietf.org (consulté le )
  44. (en) Held, Gilbert, 1943-, Ethernet networks : design, implementation, operation, management, Chichester, Wiley, , 589 p. (ISBN 0-470-84476-0, OCLC 52052983)
  45. (en) Long, James., Storage networking protocol fundamentals, Cisco Press, (ISBN 1-58705-160-5, OCLC 71666510)
  46. (en) « Understanding CoS Flow Control (Ethernet PAUSE and PFC) - Technical Documentation - Support », sur juniper.net (consulté le )
  47. (en) « Introduction to 802.1Qbb (Priority-based Flow Control - PFC) », sur blog.ipspace.net (consulté le )
  48. (en) « Lesson 15 - VLANs Overview », sur ciscoiseasy.blogspot.fr (consulté le )
  49. Arnaud Surzur et Guillaume Defrance, « Les Vlans : les protocoles de transport et de contrôle », sur igm.univ-mlv.fr (consulté le )
  50. « Qu'est-ce que le PoE ? (Power over Ethernet) | Answer | NETGEAR Support », sur kb.netgear.com (consulté le )
  51. (en) IEEE 802.3BU-2016 IEEE Standard for Ethernet--Amendment 8: Physical Layer and Management Parameters for Power over Data Lines (PoDL) of Single Balanced Twisted-Pair Ethernet, (ISBN 978-1504437288)
  52. (en) Dave Dwelley, « PoDL Tutorial », sur IEEE,
  53. (en-US) « IEEE Std 802.3bu-2016: Power over Data Lines (PoDL) | », sur Standards Informant, (consulté le )

Voir aussi modifier

Articles connexes modifier

Ethernet dans le domaine des Télécommunications
  • Metro Ethernet Forum : organisation professionnelle active à l'échelle mondiale dont le but est d'accélérer le développement des services et des réseaux Ethernet de classe opérateur.
  • Provider Backbone Bridge ou PBB : protocole de communication qui repose sur des extensions au protocole Ethernet, utilisé principalement dans le segment accès et métropolitain des réseaux d'opérateurs, spécification IEEE 802.1ah
  • Provider Backbone Bridge Traffic Engineering : évolution du protocole précédent (PBB) permettant l'ingénierie de trafic, également connu sous le nom de PBT, spécification IEEE 802.1Qay

Liens externes modifier