Le token ring est une tech­no­lo­gie 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 in­té­res­sante une autre technique, devenue pourtant obsolète. Un peu d’histoire pourra vous aider à mieux com­prendre le fonc­tion­ne­ment de réseaux plus modernes, et ce qui a influencé l’évolution de ces tech­no­lo­gies. Et qui sait ? Peut-être tomberez-vous un jour encore sur un token ring ?

Con­trai­re­ment à ce que pourrait le laisser supposer son ap­pel­la­tion, le token ring n’est pas vé­ri­ta­ble­ment un réseau de forme cir­cu­laire (en anneau). À vrai dire, il présente un anneau logique, et non physique. Nous re­vien­drons plus tard sur cette dis­tinc­tion.

Dé­fi­ni­tion

Le token ring repose sur la norme réseau IEEE 802.5 établie par l’Institute of Elec­tri­cal and Elec­tro­nics 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é­ra­le­ment une vitesse de trans­mis­sion 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 évi­dem­ment, les réseaux d’or­di­na­teurs exis­taient avant l’ap­pa­ri­tion du token ring. Ces réseaux, comme par exemple ARPANET, n’étaient cependant pas ac­ces­sibles au public. Ils étaient dé­ve­lop­pés et mis en place par des ins­ti­tu­tions à des fins spé­ci­fiques, et ne res­pec­taient donc aucun standard. Il a fallu attendre le début des années 1980 pour que les en­tre­prises 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’im­plan­ta­tion massive des PC IBM, ces mêmes machines qui ont ensuite contribué à ralentir sa pro­gres­sion. Entre temps, la tech­no­lo­gie Ethernet, qui avait vu le jour dans les années 70, continue à pro­gres­ser dans les années 80, gagnant en po­pu­la­rité, notamment grâce au soutien d’Intel et Xerox. C’est Ethernet qui remporte cependant la bataille con­cur­ren­tielle menée entre ces deux tech­no­lo­gies, en par­ti­cu­lier grâce à l’in­tro­duc­tion 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é im­pos­sible de concevoir des produits ac­ces­sibles 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 com­mer­cia­li­sée, et la deuxième n’a été dé­ve­lop­pée pour aucun produit dis­po­nible sur le marché.

Qu’est-ce que le token ring ?

Com­prendre 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 or­di­na­teurs disposés en forme de cercle ou d’anneau. Chaque or­di­na­teur 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 or­di­na­teur de ce réseau local cesse de fonc­tion­ner, la connexion est in­ter­rom­pue, et l’ensemble du réseau est alors en panne, car les con­nexions ne sont plus assurées. Pour ajouter un or­di­na­teur sup­plé­men­taire à un tel réseau, il vous faut suspendre (au moins tem­po­rai­re­ment) le fonc­tion­ne­ment du réseau.

La topologie du token ring

Un token ring fonc­tionne autrement, et c’est pourquoi on dit que cette tech­no­lo­gie est basée sur la logique d’une topologie en anneau. La topologie du token ring est basée sur des Mul­tis­ta­tion Access Units (MAUs) qui per­met­tent une connexion en étoile des dif­fé­rents par­ti­ci­pants au réseau. Le « nœud » re­pré­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 dif­fé­rents or­di­na­teurs.

On évoque pourtant un anneau logique, basé sur une structure physique en forme d’étoile, car la trans­mis­sion des données se fait de manière cir­cu­laire, mais à un niveau abstrait. Les données sont certes toujours orientées vers le MAU (Con­cen­tra­teur). Mais celui-ci ne les redirige pas di­rec­te­ment vers un des­ti­na­taire spé­ci­fique il les fait tout sim­ple­ment passer à l’or­di­na­teur suivant dans une suite clai­re­ment définie.

Le principe de cir­cu­la­tion d’un jeton (Token)

Pour éviter tout chaos, le réseau applique les règles de cir­cu­la­tion du jeton. Cette méthode permet de s’assurer que tous les or­di­na­teurs n’émettent pas en même temps dans le réseau. Seuls les or­di­na­teurs dé­ten­teurs du jeton sont autorisés à diffuser des in­for­ma­tions sur le réseau. Ce jeton circule alors dans l’anneau. Et même si aucun or­di­na­teur n’a d’au­to­ri­sa­tion par­ti­cu­liè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é­li­mi­teur de début de trame) : les 8 premiers bits de la trame dé­ter­mi­nent le début du jeton. La structure est basée sur le codage dif­fé­ren­tiel de Man­ches­ter, ce qui permet une as­sig­na­tion par­fai­te­ment 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é­li­mi­teur de fin de trame) : le dé­li­mi­teur de fin de trame a un peu la même structure que le dé­li­mi­teur de début de trame. Il permet d’indiquer que la trame est fermée.

Si un or­di­na­teur reçoit la trame, et qu’il ne souhaite émettre aucune in­for­ma­tion, il fait tout sim­ple­ment suivre la trame vers l’or­di­na­teur suivant en res­pec­tant l’ordre de passage. Si, en revanche, l’or­di­na­teur souhaite émettre une in­for­ma­tion quel­conque, 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’ex­pé­di­teur et celle du des­ti­na­taire. Les in­for­ma­tions ne seront cependant pas di­rec­te­ment envoyées au des­ti­na­taire, mais elles con­ti­nue­ront, grâce au MAU, à transiter de station à station jusqu’à ce qu’elles at­teig­nent le bon des­ti­na­taire. Pour éviter que le signal ne perde en puissance, chaque or­di­na­teur 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 in­for­ma­tions, 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’ex­pé­di­teur d’origine, celui-ci supprime les données et libère ensuite le bit jeton. Il a également la pos­si­bi­lité de renvoyer di­rec­te­ment les données suivantes. Pour permettre à tous les postes de pouvoir trans­mettre des données, il a été ajouté un Token Holding Time (délai maximal de trans­mis­sion). Ce délai indique le temps mis à dis­po­si­tion 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’im­por­tance, à condition que tous les or­di­na­teurs res­pec­tent le même sens.

Erreurs pouvant survenir dans un token ring

Tous les réseaux sont sus­cep­tibles d’être con­fron­tés à des si­tua­tions inat­ten­dues, pouvant aller jusqu’à com­pro­mettre leur fonc­tion­ne­ment. Une bonne norme anticipe au mieux ce genre de si­tua­tions et prévoit des mé­ca­nismes qui per­met­tent d’éviter la panne. Dans un token ring, tous les or­di­na­teurs sont par défaut des moniteurs en veille (SM). Il y en a un cependant qui assume gé­né­ra­le­ment le rôle d’Active Monitor (AM) et qui supervise le réseau. Chaque or­di­na­teur peut assumer ce rôle de con­trô­leur de réseau. Savoir quel or­di­na­teur est AM, et quels or­di­na­teurs restent SM est une décision qui est prise au moyen d’une procédure fixe : il s’agit du Monitor Con­ten­tion, appelé aussi le Token Claiming. Cette procédure est lancée dès qu’un or­di­na­teur constate que l’AM ne transmet plus dans l’anneau la trame « Active Monitor Present » qui est pourtant obli­ga­toire.

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’ex­pé­di­teur avec sa propre adresse. Si cette adresse a une valeur plus élevée que celle du deuxième or­di­na­teur, 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 in­ter­ve­nue, un nouveau moniteur actif sera désigné.

Le moniteur actif est res­pon­sable du bon fonc­tion­ne­ment du token ring, bien qu’il arrive parfois aussi que des moniteurs en veille (standby) soient obligés d’in­ter­ve­nir. 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 (tem­po­ri­sa­teur). Si dans un délai de 10 mil­li­se­condes, 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 des­ti­na­taire

Si une station émet un paquet de données, et que son des­ti­na­taire tombe en panne au même moment, le paquet risque de tourner in­dé­fi­ni­ment en rond dans l’anneau, car aucune station ne s’iden­ti­fiera comme étant son des­ti­na­taire. Dès que le paquet franchit le moniteur actif pour la première fois, celui-ci modifie un bit spé­ci­fique. Si le paquet repasse devant lui une deuxième fois, grâce à ce bit iden­ti­fiable, le moniteur actif com­pren­dra que le paquet n’a pas réussi à trouver son des­ti­na­taire. 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.

In­ter­faces dé­fec­tueuses

Dans une topologie en anneau classique, la panne d’un or­di­na­teur du réseau entraîne la panne complète du réseau. Avec un réseau de type token ring, le con­cen­tra­teur MAU pourra très sim­ple­ment combler l’interface en défaut. Les stations dé­fec­tueuses sont iden­ti­fiées par une station voisine : Pour ce faire, le poste situé juste après l’or­di­na­teur 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é­cla­ma­tions, 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 or­di­na­teurs ne reçoivent plus de données peut être lié à une carte-réseau dé­fec­tueuse. Le poste démarre alors un tem­po­ri­sa­teur, qui laisse suf­fi­sam­ment 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é­fec­tueuse est le moniteur actif, elle sera tout sim­ple­ment con­tour­né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 fai­blesses du token ring

Pour mesurer les forces et les fai­blesses du token ring, il convient de le comparer à l’Ethernet. Le fait que les col­li­sions ne soient pas possibles est un élément qui rend le concept du token ring par­ti­cu­liè­re­ment in­té­res­sant : dans des réseaux Ethernet (Half-Duplex), on admet comme tout à fait normales des col­li­sions liées à l’émission de données si­mul­ta­née par plusieurs stations. Le recours au CSMA/CD permet de gérer de telles col­li­sions, bien qu’elles aient un impact sur la vitesse. Dans un token ring, les col­li­sions restent toutefois im­pos­sibles. Le principe de cir­cu­la­tion du jeton permet à plusieurs stations d’émettre en même temps. Les in­for­ma­tions 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 tech­no­lo­gie du token ring est restée à 16 Mo/s, les réseaux Ethernet fonc­tion­naient 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 or­di­na­teurs du réseau ne présente aucun problème. Même si certains postes venaient à tomber en panne, le fonc­tion­ne­ment 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 In­con­vé­nients
Aucune collision Une technique obsolète
Iden­ti­fi­ca­tion et ré­pa­ra­tion des erreurs en interne Manque de vitesse
On peut très fa­ci­le­ment ajouter et supprimer des stations Du matériel coûteux
Aller au menu principal