# Token ring

Le token ring ou anneau à jeton est une topologie de réseau associée à un protocole de réseau local qui fonctionne sur la couche « liaison » du modèle OSI. Le protocole utilise une trame spéciale de trois octets, appelée jeton, qui circule dans une seule direction autour d'un anneau. Les trames token ring parcourent l'anneau dans un sens qui est toujours le même.
Le paradigme est celui du « rond-point », qui se montre généralement capable d'écouler un débit plus grand qu'un « carrefour », toutes choses égales par ailleurs. De plus le fait d'éviter le temps perdu en « collisions » dans le CSMA/CD (où il pouvait en cas de congestion représenter 1-1/e=63,2 % de la bande passante !) devait rendre le token-ring 16 Mbit/s cinq fois plus rapide que l'Ethernet (10 Mbit/s à l'époque) ; considération importante pour la sauvegarde nocturne des stations de travail. En contrepartie, on créait des contraintes topologiques : l'Ethernet est concevable sur n'importe quel support, y compris par radio ou en théorie par infrarouge sur un plafond blanc ; le token-ring ne peut fonctionner que sur une « boucle ». Note : La première version de token-ring permettait d'atteindre 4 Mbit/s.
Une boucle typique de token ring pouvait faire 6 km. Cette technologie a permis à IBM de résister à la concurrence de nouveaux constructeurs développant une informatique décentralisée.
Le « jeton » matérialise le « droit de transmettre ». Chaque station le passe (le « répète ») sur l'anneau, à la station qui lui a été prédéfinie station suivante. Une station désirant transmettre le garde le temps nécessaire à transmettre une trame, puis envoie le jeton à la suite de cette trame pour indiquer que la voie est libre. Si une station tombe en panne, une interaction se fait afin de bloquer l'accès au jeton pour la station qui est en panne. Les LAN token ring utilisent habituellement le codage différentiel de Manchester des bits sur le médium.
Un anneau de token ring était limité à 250 stations (et non 256), non pour des questions de numérotation binaire, mais en raison de considérations liées à la fréquence de transmission.

## Le standard 802.5

IBM a popularisé l'emploi de réseaux token ring vers le milieu des années 1980, avec l'architecture IBM token ring basée sur des unités d'accès actives multi-station (en) (Media Access Unit ou Multistation Access Unit) et le Système de câblage structuré IBM. L'IEEE a plus tard standardisé le réseau token ring sous la référence IEEE 802.5.
Ainsi, l'architecture originelle du token ring imposait un anneau physique « et » logique. L'apparition des MAU a permis de s'affranchir d'une topologie physique en anneau, puisque le câblage s'est alors effectué en étoile (tous les câbles rassemblés sur un même point). Le MAU se chargeait alors de virtuellement reconstituer un réseau en anneau.
Le groupe de travail IEEE 802.5 a publié plusieurs standards autorisant des débits de 4 Mbit/s (1985), 16 Mbit/s (1989) puis 100 Mbit/s (1993). Ce dernier n'a cependant été qu'éphémère du fait de l'arrivée massive de l'Ethernet.

## Destin des token ring

Le token ring donnait d'excellents résultats si on considère les premières implémentations sur médium partagé (câble coaxial) d'Ethernet et fut considéré comme une alternative viable à haute performance à celles-ci. Contrairement aux performances des hubs Ethernet qui décroissaient avec la probabilité de collisions de trames et donc avec le nombre de stations, celles du token ring sont constantes et déterministes et donc prévisibles, puisque les collisions sont impossibles.
Le développement de l'Ethernet commuté rendit à nouveau Ethernet plus compétitif, la structure qu'il demandait étant plus légère. En effet, Ethernet offrait des débits plus élevés à un coût moindre, ce qui provoqua la chute du token ring. Les ventes plus élevées d'Ethernet permirent des économies d'échelle en tirant les prix à la baisse, lui permettant à terme de remplacer les token ring. L'architecture en anneau resta cependant utilisée quelques années dans les transmissions rapides FDDI et CDDI à 100 Mb/s permanents.