Token Ring
Un réseau en anneau à jeton est un réseau local (LAN, Local Area Network) dans lequel tous les ordinateurs sont connectés selon une topologie en anneau (ring) ou en étoile et transmettent un ou plusieurs jetons logiques (token) d'hôte en hôte. Seul l'hôte qui détient un jeton peut envoyer des données, et les jetons sont libérés dès que la réception des données est confirmée. Les réseaux en anneau à jeton empêchent les paquets de données d'entrer en collision sur un segment de réseau, puisque seul le détenteur d'un jeton peut envoyer des données et que le nombre de jetons disponibles est contrôlé.
Les protocoles d'anneau à jeton les plus largement déployés étaient ceux d'IBM, à partir du milieu des années 1980. Leur version normalisée, appelée IEEE 802.5, est apparue à la fin des années 1980. La version standard IEEE assure des taux de transfert de données de 4, 16 ou 100 Mb/s (mégabits par seconde).
La topologie en anneau à jeton était autrefois largement utilisée sur les réseaux locaux, mais a presque entièrement été remplacée par Ethernet, pour des raisons de coût (les produits Token Ring ayant tendance à être plus chers qu'Ethernet à des vitesses similaires) et grâce au développement de la commutation Ethernet et des liaisons en duplex intégral, qui ont définitivement écarté le risque de collision dans la plupart des cas.
Voici une courte présentation du fonctionnement de l'anneau à jeton :
1. Les systèmes qui constituent le réseau local sont disposés en anneau logique ; chacun d'entre eux reçoit des trames de données de son prédécesseur logique sur l'anneau et les envoie à son successeur logique. Le réseau peut former véritablement un anneau, avec des câbles reliant directement chaque noeud à ses voisins, mais le plus souvent il est en forme d'étoile, l'anneau n'existant que sous forme logique dans l'armoire de câblage au sein de l'« unité multiaccès » à laquelle tous les hôtes sont connectés.
2. Des trames d'informations vides circulent continuellement sur l'anneau, de même que des trames contenant des données réelles ; ainsi, un noeud qui reçoit une trame vide et n'a rien à envoyer se contente de transmettre la trame vide.
3. Lorsqu'un ordinateur a un message à envoyer, il attend une trame vide. Dès qu'il en reçoit une, il procède comme suit :
a) Il insère un jeton indiquant qu'il envoie des données dans la trame (cela peut se résumer à remplacer la valeur zéro par un dans la section du jeton de la trame, bien que d'autres schémas soient possibles). Il est alors réputé « détenir le jeton » pour cette trame.
b) Il insère les données qu'il souhaite transmettre dans la section de la charge utile de la trame.
c) Il définit un identifiant de destination sur la trame.
4. Lorsqu'un ordinateur reçoit une trame contenant des données (ce qu'indique le jeton), il sait qu'il ne peut pas lui-même transmettre de données et donc se comporte comme suit :
a) S'il n'est ni l'expéditeur ni le destinataire, il se contente de retransmettre la trame en l'envoyant à l'hôte suivant dans l'anneau.
b) S'il est le destinataire du message, il copie ce dernier depuis la trame et supprime le jeton pour indiquer qu'il a bien reçu les données.
c) S'il est l'expéditeur (en supposant que le noeud destinataire ait accusé réception de la trame en supprimant le jeton), il constate que le message a été reçu, supprime la charge utile du message de la trame (la remettant ainsi à l'état « vide ») et envoie la trame vide dans l'anneau.
L'interface FDDI (Fiber Distributed Data Interface) utilise aussi un protocole d'anneau à jeton.