La vitesse compte : comment Ethernet est passé de 3 Mbps à 100 Gbps… et au-delà

Alors qu’Ethernet fête ses 50 ans cette année, Ars refait surface sur cette fonctionnalité sur le développement et l’évolution d’Ethernet initialement publiée en 2011.

Bien que regarder des émissions de télévision des années 1970 suggère le contraire, l’époque n’était pas complètement dépourvue de tout ce qui ressemblait à des systèmes de communication modernes. Bien sûr, les modems 50Kbps sur lesquels l’ARPANET fonctionnait étaient de la taille d’un réfrigérateur, et les modems Bell 103 largement utilisés ne transféraient que 300 bits par seconde. Mais la communication numérique à longue distance était assez courante, par rapport au nombre d’ordinateurs déployés. Les terminaux pourraient également être reliés à l’ordinateur central et aux mini-ordinateurs sur des distances relativement courtes avec de simples lignes série ou avec des systèmes multipoints plus complexes. Tout cela était bien connu ; ce qui était nouveau dans les années 70, c’était le réseau local (LAN). Mais comment connecter toutes ces machines ?

Le but d’un réseau local est de connecter bien plus que deux systèmes, de sorte qu’un simple câble aller-retour ne suffit pas. Connecter plusieurs milliers d’ordinateurs à un réseau local peut en théorie être fait en utilisant une topologie en étoile, en anneau ou en bus. Une étoile est assez évidente : chaque ordinateur est connecté à un point central. Un bus se compose d’un long câble unique auquel les ordinateurs se connectent tout au long de son parcours. Avec un anneau, un câble va du premier ordinateur au second, de là au troisième et ainsi de suite jusqu’à ce que tous les systèmes participants soient connectés, puis le dernier est connecté au premier, complétant l’anneau.

En pratique, les choses ne sont pas si simples. Token Ring est une technologie LAN qui utilise une topologie en anneau, mais vous ne le sauriez pas en regardant le câblage du réseau, car les ordinateurs sont reliés à des concentrateurs (similaires aux commutateurs Ethernet actuels). Cependant, le câble forme en fait un anneau, et Token Ring utilise un système de passage de jeton quelque peu complexe pour déterminer quel ordinateur peut envoyer un paquet à quel moment. Un jeton fait le tour de l’anneau et le système en possession du jeton peut transmettre. Token Bus utilise une topologie de bus physique, mais utilise également un schéma de passage de jetons pour arbitrer l’accès au bus. La complexité d’un réseau de jetons le rend vulnérable à un certain nombre de modes de défaillance, mais ces réseaux ont l’avantage que les performances sont déterministes ; elle peut être calculée précisément à l’avance, ce qui est important dans certaines applications.

Mais en fin de compte, c’est Ethernet qui a remporté la bataille pour la normalisation des réseaux locaux grâce à une combinaison de politiques d’organismes de normalisation et d’une conception intelligente, minimaliste et donc peu coûteuse à mettre en œuvre. Il a ensuite anéanti la concurrence en recherchant et en assimilant des protocoles à débit binaire plus élevé et en ajoutant leur spécificité technologique à la sienne. Des décennies plus tard, il était devenu omniprésent.

Si vous avez déjà regardé le câble réseau qui dépasse de votre ordinateur et vous êtes demandé comment Ethernet a démarré, comment il a duré si longtemps et comment il fonctionne, ne vous posez plus la question : voici l’histoire.

Présenté par Xerox PARC

Ethernet a été inventé par Bob Metcalfe et d’autres au centre de recherche Palo Alto de Xerox au milieu des années 1970. L’Ethernet expérimental du PARC fonctionnait à 3 Mbps, un « taux de transfert de données pratique […] bien en dessous de celui du chemin de l’ordinateur vers la mémoire principale « , de sorte que les paquets n’auraient pas à être mis en mémoire tampon dans les interfaces Ethernet. Le nom vient de l’éther lumineux qui était à un moment considéré comme le moyen par lequel les ondes électromagnétiques se propagent, comme les ondes se propagent dans l’air.

Ethernet a utilisé son câblage comme « éther » radio en diffusant simplement des paquets sur une ligne coaxiale épaisse. Les ordinateurs étaient connectés au câble Ethernet par des « prises », où un trou est percé à travers le revêtement coaxial et le conducteur extérieur afin qu’une connexion puisse être établie avec le conducteur intérieur. Les deux extrémités du câble coaxial – la dérivation n’est pas autorisée – sont équipées de résistances de terminaison qui régulent les propriétés électriques du câble afin que les signaux se propagent sur toute la longueur du câble mais ne se réfléchissent pas. Tous les ordinateurs voient passer tous les paquets, mais l’interface Ethernet ignore les paquets qui ne sont pas adressés à l’ordinateur local ou à l’adresse de diffusion, de sorte que le logiciel n’a qu’à traiter les paquets destinés à l’ordinateur récepteur.

D’autres technologies LAN utilisent des mécanismes étendus pour arbitrer l’accès au support de communication partagé. Pas Ethernet. Je suis tenté d’utiliser l’expression « les fous dirigent l’asile », mais ce serait injuste pour l’ingénieux mécanisme de contrôle distribué développé au PARC. Je suis sûr que les fabricants d’ordinateurs centraux et de mini-ordinateurs de l’époque pensaient que l’analogie de l’asile n’était pas loin, cependant.

Les procédures de contrôle d’accès au support (MAC) d’Ethernet, connues sous le nom de « Carrier Sense Multiple Access with Collision Detect » (CSMA/CD), sont basées sur ALOHAnet. Il s’agissait d’un réseau radio entre plusieurs îles hawaïennes mis en place au début des années 1970, où tous les émetteurs distants utilisaient la même fréquence. Les stations transmettaient quand elles le souhaitaient. De toute évidence, deux d’entre eux pouvaient transmettre en même temps, interférant l’un avec l’autre, de sorte que les deux transmissions étaient perdues.

Pour résoudre le problème, l’emplacement central accuse réception d’un paquet s’il a été reçu correctement. Si l’expéditeur ne voit pas d’accusé de réception, il essaie de renvoyer le même paquet un peu plus tard. Lorsqu’une collision se produit parce que deux stations transmettent en même temps, les retransmissions garantissent que les données finissent par se transmettre.

Ethernet améliore ALOHAnet de plusieurs manières. Tout d’abord, les stations Ethernet vérifient si l’éther est inactif (sens du porteur) et attendez s’ils détectent un signal. Deuxièmement, une fois la transmission sur le support partagé (accès multiples), les stations Ethernet vérifient les interférences en comparant le signal sur le fil au signal qu’elles essaient d’envoyer. Si les deux ne correspondent pas, il doit y avoir une collision (détection de collision). Dans ce cas, la transmission est interrompue. Juste pour s’assurer que la source de la transmission interférente détecte également une collision, lors de la détection d’une collision, une station envoie un signal de « bourrage » pendant 32 temps de bit.

Les deux côtés savent maintenant que leur transmission a échoué, ils lancent donc des tentatives de retransmission en utilisant une procédure d’interruption exponentielle. D’une part, il serait bien de retransmettre dès que possible pour éviter de gaspiller une bande passante précieuse, mais d’autre part, avoir immédiatement une autre collision va à l’encontre de l’objectif. Ainsi, chaque station Ethernet maintient un temps d’attente maximal, compté comme une valeur entière qui est multipliée par le temps qu’il faut pour transmettre 512 bits. Lorsqu’un paquet est transmis avec succès, le délai d’attente maximal est défini sur un. Lorsqu’une collision se produit, le temps d’attente maximum est doublé jusqu’à ce qu’il atteigne 1024. Le système Ethernet sélectionne alors un temps d’attente réel qui est un nombre aléatoire inférieur au temps d’attente maximum.

Par exemple, après la première collision, le temps d’attente maximal est de 2, en faisant les choix pour le temps d’attente réel 0 et 1. Évidemment, si deux systèmes sélectionnent tous les deux 0 ou tous les deux sélectionnent 1, ce qui se produira 50 % du temps, il y a est une autre collision. Le backoff maximum devient alors 4, et les chances d’une autre collision descendent à 25% pour deux stations voulant transmettre. Après 16 collisions successives, un système Ethernet abandonne et rejette le paquet.

Auparavant, il y avait beaucoup de peur, d’incertitude et de doute concernant l’impact des collisions sur les performances. Mais en pratique, ils sont détectés très rapidement et les transmissions en collision sont interrompues. Ainsi, les collisions ne font pas perdre beaucoup de temps, et les performances Ethernet CSMA/CD sous charge sont en fait assez bonnes : dans leur article de 1976 décrivant l’Ethernet 3Mbps expérimental, Bob Metcalfe et David Boggs ont montré que pour des paquets de 500 octets et plus, plus de 95 % de la capacité du réseau est utilisée pour des transmissions réussies, même si 256 ordinateurs ont tous en permanence des données à transmettre. Assez intelligent.

Source-147