Le token ring : la norme IEEE 802.5

Le token ring est une technologie de réseau désuète : de nos jours, c’est la technique de l’Ethernet qui domine les réseaux LAN filaires. Cela ne rend pas moins intéressante une autre technique, devenue pourtant obsolète. Un peu d’histoire pourra vous aider à mieux comprendre le fonctionnement de réseaux plus modernes, et ce qui a influencé l’évolution de ces technologies. Et qui sait ? Peut-être tomberez-vous un jour encore sur un token ring ?

Contrairement à ce que pourrait le laisser supposer son appellation, le token ring n’est pas véritablement un réseau de forme circulaire (en anneau). À vrai dire, il présente un anneau logique, et non physique. Nous reviendrons plus tard sur cette distinction.

Définition

Le token ring repose sur la norme réseau IEEE 802.5 établie par l’Institute of Electrical and Electronics Engineers, parue en 1985. Toutes les stations d’un réseau local (LAN) sont reliées pour former un anneau logique. Les réseaux token ring ont généralement une vitesse de transmission de 4 ou 16 Mo/s. En théorie, rien n’empêche d’augmenter cette vitesse à 100 Mo/s, voire 1 Go/s.

L’histoire du token ring

Bien évidemment, les réseaux d’ordinateurs existaient avant l’apparition du token ring. Ces réseaux, comme par exemple ARPANET, n’étaient cependant pas accessibles au public. Ils étaient développés et mis en place par des institutions à des fins spécifiques, et ne respectaient donc aucun standard. Il a fallu attendre le début des années 1980 pour que les entreprises Procom, Apollo Computer et Proteon proposent les premiers réseaux token ring de grande envergure. Au milieu de cette décennie, c’est IBM qui s’empare du projet et développe son propre produit, qu’il introduit sur le marché.

Le token ring doit ses premiers succès à l’implantation massive des PC IBM, ces mêmes machines qui ont ensuite contribué à ralentir sa progression. Entre temps, la technologie Ethernet, qui avait vu le jour dans les années 70, continue à progresser dans les années 80, gagnant en popularité, notamment grâce au soutien d’Intel et Xerox. C’est Ethernet qui remporte cependant la bataille concurrentielle menée entre ces deux technologies, en particulier grâce à l’introduction de câbles coaxiaux fins et à moindre coût. Les frais de licence appliqués par IBM sur la technique du token ring étaient tellement élevés qu’il a été impossible de concevoir des produits accessibles au grand public.

Tandis qu’IBM tentait vainement de séduire sa clientèle avec les avantages du token ring, à la fin des années 90, le combat était perdu : il est vrai que la norme IEEE avait autorisé des vitesses de 100 Mo/s et de 1 000 Mo/s. La première option fut très peu commercialisée, et la deuxième n’a été développée pour aucun produit disponible sur le marché.

Qu’est-ce que le token ring ?

Comprendre ce qu’est un réseau token ring est peut-être plus facile si on explique d’abord ce qu’il n’est pas : ce n’est pas un réseau en forme de cercle. Prise au sens physique, une topologie en anneau est composée de plusieurs ordinateurs disposés en forme de cercle ou d’anneau. Chaque ordinateur est alors relié à son voisin de droite et de gauche, ce qui permet d’obtenir un réseau composé d’un anneau fermé. Dès qu’un ordinateur de ce réseau local cesse de fonctionner, la connexion est interrompue, et l’ensemble du réseau est alors en panne, car les connexions ne sont plus assurées. Pour ajouter un ordinateur supplémentaire à un tel réseau, il vous faut suspendre (au moins temporairement) le fonctionnement du réseau.

La topologie du token ring

Un token ring fonctionne autrement, et c’est pourquoi on dit que cette technologie est basée sur la logique d’une topologie en anneau. La topologie du token ring est basée sur des Multistation Access Units (MAUs) qui permettent une connexion en étoile des différents participants au réseau. Le « nœud » représente le point qui permet à toutes les stations de travail d’être reliées les unes aux autres. Il n’y a pas de connexion directe entre les différents ordinateurs.

On évoque pourtant un anneau logique, basé sur une structure physique en forme d’étoile, car la transmission des données se fait de manière circulaire, mais à un niveau abstrait. Les données sont certes toujours orientées vers le MAU (Concentrateur). Mais celui-ci ne les redirige pas directement vers un destinataire spécifique il les fait tout simplement passer à l’ordinateur suivant dans une suite clairement définie.

Le principe de circulation d’un jeton (Token)

Pour éviter tout chaos, le réseau applique les règles de circulation du jeton. Cette méthode permet de s’assurer que tous les ordinateurs n’émettent pas en même temps dans le réseau. Seuls les ordinateurs détenteurs du jeton sont autorisés à diffuser des informations sur le réseau. Ce jeton circule alors dans l’anneau. Et même si aucun ordinateur n’a d’autorisation particulière à émettre, le jeton continue à circuler. Un jeton a une trame vide qui pèse 3 octets, et où chaque octet a une tâche bien définie :

  • Le troisième octet – Start Delimiter (SD) (délimiteur de début de trame) : les 8 premiers bits de la trame déterminent le début du jeton. La structure est basée sur le codage différentiel de Manchester, ce qui permet une assignation parfaitement univoque.
  • Le deuxième octet – Access Control (AC) : l’octet de contrôle d’accès contient le bit jeton. Si celui-ci est 0, le jeton est libre, tandis que la valeur 1 indique qu’il est occupé.
  • Le premier octet – End Delimiter (SD) (délimiteur de fin de trame) : le délimiteur de fin de trame a un peu la même structure que le délimiteur de début de trame. Il permet d’indiquer que la trame est fermée.

Si un ordinateur reçoit la trame, et qu’il ne souhaite émettre aucune information, il fait tout simplement suivre la trame vers l’ordinateur suivant en respectant l’ordre de passage. Si, en revanche, l’ordinateur souhaite émettre une information quelconque, il modifie le bit jeton et attache au jeton le paquet de données qu’il souhaite envoyer. Il renvoie ensuite le paquet. La trame renferme désormais l’adresse de l’expéditeur et celle du destinataire. Les informations ne seront cependant pas directement envoyées au destinataire, mais elles continueront, grâce au MAU, à transiter de station à station jusqu’à ce qu’elles atteignent le bon destinataire. Pour éviter que le signal ne perde en puissance, chaque ordinateur fait office de répéteur : il lit le paquet de données, le régénère et le renvoie dans l’anneau.

La station-cible copie les informations, confirme la bonne réception des données en modifiant le dernier octet dans le Frame Status (FS), avant de faire suivre le paquet. Dès que le paquet de données revient à l’expéditeur d’origine, celui-ci supprime les données et libère ensuite le bit jeton. Il a également la possibilité de renvoyer directement les données suivantes. Pour permettre à tous les postes de pouvoir transmettre des données, il a été ajouté un Token Holding Time (délai maximal de transmission). Ce délai indique le temps mis à disposition d’une station pour s’emparer du jeton.

Remarque

que les données circulent dans le sens des aiguilles d’une montre ou dans le sens opposé n’a aucune espèce d’importance, à condition que tous les ordinateurs respectent le même sens.

Erreurs pouvant survenir dans un token ring

Tous les réseaux sont susceptibles d’être confrontés à des situations inattendues, pouvant aller jusqu’à compromettre leur fonctionnement. Une bonne norme anticipe au mieux ce genre de situations et prévoit des mécanismes qui permettent d’éviter la panne. Dans un token ring, tous les ordinateurs sont par défaut des moniteurs en veille (SM). Il y en a un cependant qui assume généralement le rôle d’Active Monitor (AM) et qui supervise le réseau. Chaque ordinateur peut assumer ce rôle de contrôleur de réseau. Savoir quel ordinateur est AM, et quels ordinateurs restent SM est une décision qui est prise au moyen d’une procédure fixe : il s’agit du Monitor Contention, appelé aussi le Token Claiming. Cette procédure est lancée dès qu’un ordinateur constate que l’AM ne transmet plus dans l’anneau la trame « Active Monitor Present » qui est pourtant obligatoire.

Face à une telle situation, le protocole exigera la sélection d’un nouveau moniteur actif (AM) : La première station qui constate l’erreur de la part du moniteur actif (AM) commence à émettre la trame, appelée le Claim Token Frame. La station suivante de l’anneau compare l’adresse MAC de l’expéditeur avec sa propre adresse. Si cette adresse a une valeur plus élevée que celle du deuxième ordinateur, il remplace la trame par sa propre trame. À la fin, il ne reste plus qu’une seule station : si sa trame a fait trois fois le tour de l’anneau sans qu’aucune station ne soit intervenue, un nouveau moniteur actif sera désigné.

Le moniteur actif est responsable du bon fonctionnement du token ring, bien qu’il arrive parfois aussi que des moniteurs en veille (standby) soient obligés d’intervenir. Un réseau de token ring est capable de s’auto-guérir dans les scénarios suivants :

Un jeton se perd

Dès qu’un jeton passe auprès d’un moniteur actif (AM), celui-ci déclenche un Timer (temporisateur). Si dans un délai de 10 millisecondes, le jeton ne lui est par revenu, le moniteur actif en déduit que le réseau présente un problème, et délivre un nouveau jeton libre.

Un paquet de données ne trouve pas de destinataire

Si une station émet un paquet de données, et que son destinataire tombe en panne au même moment, le paquet risque de tourner indéfiniment en rond dans l’anneau, car aucune station ne s’identifiera comme étant son destinataire. Dès que le paquet franchit le moniteur actif pour la première fois, celui-ci modifie un bit spécifique. Si le paquet repasse devant lui une deuxième fois, grâce à ce bit identifiable, le moniteur actif comprendra que le paquet n’a pas réussi à trouver son destinataire. Comme le moniteur actif est le seul à pouvoir changer le bit en 1, il comprend aussitôt qu’il a déjà eu affaire à ce paquet. Dans ce cas, le moniteur actif détruit le paquet et délivre un nouveau jeton libre.

Interfaces défectueuses

Dans une topologie en anneau classique, la panne d’un ordinateur du réseau entraîne la panne complète du réseau. Avec un réseau de type token ring, le concentrateur MAU pourra très simplement combler l’interface en défaut. Les stations défectueuses sont identifiées par une station voisine : Pour ce faire, le poste situé juste après l’ordinateur en panne envoie des trames de test à son voisin. Toutes les autres stations se mettent en mode pause. Aucune station n’envoie de données pendant ce temps. Si le nœud en défaut comprend de lui-même que son voisin émet des réclamations, il lance une analyse de défaut et s’extrait lui-même du réseau.

Le défaut peut cependant se trouver chez la station d’origine. Le fait que les ordinateurs ne reçoivent plus de données peut être lié à une carte-réseau défectueuse. Le poste démarre alors un temporisateur, qui laisse suffisamment de temps à son voisin d’exécuter un auto-test. Si à l’issue de ce délai, la station ne reçoit toujours pas de trame, elle part du principe que l’erreur est chez elle, et lance un test de son côté.

Sauf si la station défectueuse est le moniteur actif, elle sera tout simplement contournée par la suite jusqu’à ce qu’une solution soit trouvée. S’il s’agit du moniteur actif (AM), un Token Claiming sera lancé. Une fois que tout est entré dans l’ordre, le moniteur actif (AM) délivre un nouveau jeton et l’activité du réseau peut reprendre.

Les forces et les faiblesses du token ring

Pour mesurer les forces et les faiblesses du token ring, il convient de le comparer à l’Ethernet. Le fait que les collisions ne soient pas possibles est un élément qui rend le concept du token ring particulièrement intéressant : dans des réseaux Ethernet (Half-Duplex), on admet comme tout à fait normales des collisions liées à l’émission de données simultanée par plusieurs stations. Le recours au CSMA/CD permet de gérer de telles collisions, bien qu’elles aient un impact sur la vitesse. Dans un token ring, les collisions restent toutefois impossibles. Le principe de circulation du jeton permet à plusieurs stations d’émettre en même temps. Les informations circulent toujours dans un seul sens.

Cela compense au moins en partie le problème de la vitesse réduite d’un tel réseau. Alors que la technologie du token ring est restée à 16 Mo/s, les réseaux Ethernet fonctionnaient déjà avec des vitesses de 100 Mo/s. Si l’on compare cependant un simple réseau en forme d’anneau avec un token ring géré par des MAUS, ce dernier vous séduira par la souplesse de ses nœuds. Ajouter ou supprimer des ordinateurs du réseau ne présente aucun problème. Même si certains postes venaient à tomber en panne, le fonctionnement n’est pas compromis. Si on ajoute sa capacité à réparer ses propres défauts, le token ring est un système très fiable.

Avantages Inconvénients
Aucune collision Une technique obsolète
Identification et réparation des erreurs en interne Manque de vitesse
On peut très facilement ajouter et supprimer des stations Du matériel coûteux