802.5 : Token Ring
1. Introduction
Token Ring est le protocole promu par IBM pour se démarquer d’Ethernet. Au départ ce réseau avait un
débit de 4 Mbps, aujourd’hui c’est du 16 Mbps. On a vu avec Ethernet que l’organisation pour l’accès à la
parole était assez anarchique : chacun parle quand il veut, sa méthode de détection des collisions est basée
sur le principe qu’on laisse se produire des erreurs et qu’on les traite quand elles arrivent. IBM n’a pas
apprécié cette philosophie et à inventé l’anneau (RING) à jeton (TOKEN) où chacun parle quand on lui
donne la parole.
2. Principe
Un jeton tourne, va de station en station. Lorsque l’on veut parler on attend que le jeton passe. Si il est libre
on le marque occupé et on parle. Lorsque l’on reçoit un message on marque la trame pour signaler qu’on
l’a lue et on la laisse continuer. L’émetteur reçoit donc la trame qu’il a émise en sachant si le destinataire
l’a lue. Il libère le jeton et le passe à son voisin. Comme il n’y a qu’un jeton en circulation sur l’anneau une
seule station peut transmettre à un instant donné. Ceci évite l’émission simultanée de plusieurs trames et
résout le problème de l’accès multiple.
Il est plus lent sur de faibles charges qu’Ethernet mais plus rapide qu’Ethernet (même 100 Mbps) sur de
lourdes charges car il ne s’écroule pas sous les collisions.
Lorsque le trafic est faible, le jeton passe la plupart de son temps à circuler sur l’anneau. De temps en
temps une station en prend possession et émet sa trame. Par contre lorsque le trafic s’intensifie de sorte que
chaque station possède des trames en attente d’émission, dès qu’une station libère le jeton, la suivante le
prend immédiatement. Le droit d’émettre se déplace de station en station suivant l’ordre de connexion
physique.
3. Topologie
En topologie logique c’est un anneau. C’est à dire que ce n’est pas un simple réseau à diffusion mais une
succession de liaisons point à point formant un cercle.
Par contre sa topologie physique (qui peut aussi être un anneau) est souvent une étoile. L’étoile permet en
fait d’ajouter une station sur le réseau en fonctionnement et d’assurer le bon fonctionnement de l’anneau en
cas de panne d’une station.
Le TR était assez novateur pour le câblage car il utilise du matériel actif équivalent au HUB Ethernet et
ceci bien avant 10base T. Ce matériel qui donne la configuration en étoile est nommé MAU (Medium
Acces Unit) et c’est lui qui permet de détecter une coupure dans l’anneau et de la réparer immédiatement.
C’est aussi cet équipement qui permet d’ajouter une station à " chaud ". Il est possible d’avoir un anneau
d’étoiles en reliant plusieurs MAU ensemble. Le TR peut compter jusqu’à 256 stations.
4. Le niveau physique
Au niveau physique la norme recommande d’utiliser des paires torsadées blindées bien qu’en théorie on
puisse aussi utiliser du coax ou de la fibre optique.
Les signaux de transmission sont en Bande de Base et utilisent les règles du codage Manchester
Différentiel : un bit à 1 correspond à une transition en début de l’intervalle temps du bit, un bit à 0 est
caractérisé par l’absence de transition. Cette méthode de codage est plus complexe mais offre une meilleure
immunité aux bruits.
Remarque : les cartes TR sont prévues pour pouvoir émettre en même temps qu’elles reçoivent. En effet si
l’anneau est court et que la trame est longue il se peut très bien que les premiers octets de la trame
reviennent avant que les derniers ne soient émis.
5. Trame
Jeton vide
Marqueur
Début
Access CTRL
(J = 0)
Marqueur
fin
1 octet
1
1
Trame
Marqueur
Début
Access
CTRL
(J =
1)
Frame
Con
trol
Adresse
destinatio
n
Adresse
sourc
e
CRC
Marqueur
Fin
Status
1 octet
1
1
2 ou 6
2 ou 6
4
1
1
Marqueur début et fin : codage erroné du Manchester Différentiel en oubliant la transition au milieu
de l’intervalle temps bit. Sur TR des 0 et des 1 sont transmis en permanence, ainsi c’est l’absence de
signal cohérent pendant 2 bits puis un bit à 0, encore 2 bits incohérents et enfin 3 bits à 0 qui signale
le début. La fin d’une trame est signalée par 2 bits incohérents, un bit à 1, 2 bits incohérents puis 3
bits à 1.
On notera qu’il n’y a pas de préambule comme dans Ethernet. Ceci s’explique naturellement par le
fait que le préambule (suite de 1 et de 0) permet aux différentes stations de synchroniser leurs
horloges de lecture des bits. Or, sur TR on transmet en permanence des 1 et des 0, les horloges sont
donc en permanence synchronisées.
Le champs Control est utilisé pour gérer le droit à la parole. Il y a un bit pour signifier si le jeton est
libre ou non et 7 autres dont on verra l’utilité précise par la suite : 1 bit de supervision dit bit
moniteur, 3 bits de priorité (de 0 à 7) et 3 bits de réservation.
Frame Control est le champs qui permet de déterminer le type de trame, c’est à dire de distinguer les
trames de données des trames diverses de commande du réseau.
Les adresses sont par défaut celles inscrites par le constructeur sur la carte (chacune est unique au
monde), elles sont sur 6 octets. En local on peut redéfinir les adresses sur uniquement 2 octets. Ceci
permet de gagner 4 octets par trame.
Le champ données peut être aussi long que l’on veut. Ceci dit étant donné que chaque station a un
temps maximum de maintient du jeton, la taille des données maximales sera limitée par le nombre
maximal de bits que peut émettre la station pendant ce temps.
CRC : détection d’erreurs de transmission.
Le champs frame status contient 2 informations : les bits A et C. A est mis à 1 lorsqu’un MAU
reconnaît l’adresse destinataire comme étant celle d’une des stations lui étant reliée. C est mis à 1
lorsque la station destinataire effectue une copie de la trame.
6. Le protocole
La base du protocole est la capture du jeton lorsque l’on veut transmettre. Lorsque le jeton est capturé , la
station peut le conserver pendant le " temps de maintient du jeton " (THT : Token Holding Timer) dont la
valeur est paramétrable. Par défaut elle est de 10 ms. Pendant ce temps la station doit émettre une grande
trame, plusieurs trames ou relâcher le jeton si elle n’a plus rien à émettre.
Le principe étant basé sur un jeton, il est important de le surveiller. Si le jeton est perdu, par exemple à
cause d’une perturbation électrique ou de la panne d’une station, plus personne ne pourra parler. Il se peut
aussi qu’une trame tourne indéfiniment sur le réseau si l’émetteur de cette trame tombe en panne avant de
la retirer.
Il y a donc une station sur le réseau appelée moniteur. Elle va surveiller et gérer les problèmes susceptibles
de se produire. Le moniteur vérifie notamment que la structure du jeton est correcte et qu’une trame
orpheline ne circule pas sur l’anneau. Lorsqu’une situation anormale est constatée, le moniteur purge
l’anneau et y injecte un nouveau jeton.
Méthode pour surveiller la présence du jeton : le moniteur réinitialise un timer à chaque passage du
jeton, si le timer arrive au bout avant que le moniteur ne voit passer le jeton, il émet une trame de purge
(PRG) qui fait le tour de l’anneau. Ensuite, il émet un jeton neuf.
Méthode pour surveiller une trame qui boucle : lorsqu’une trame passe devant le moniteur, il met le bit
moniteur de l’octet contrôle d’accès de la trame à 1. Ainsi si le moniteur voit arriver une trame avec ce bit
M à 1 c’est que la trame a déjà fait plus d’un tour. Le moniteur la supprime donc comme si il en était
l’émetteur et émet un jeton vide.
7. Le moniteur
Le moniteur a donc un rôle essentiel dans le réseau. Il aurait donc était impensable de dédier un poste à ce
rôle : le réseau aurait entièrement dépendu du bon fonctionnement de ce poste. Une panne du câble, du
poste ou du logiciel du poste aurait paralysé tout le réseau. Le principe choisi a donc était que chaque
station du réseau puisse jouer le rôle du moniteur. La première connectée au réseau se déclare moniteur, si
cette station vient à défaillir, elle est remplacée immédiatement par une autre station ( toutes les stations en
ayant la capacité). Puisqu’il y aura des candidatures multiples, un protocole particulier désigne l’une des
stations comme moniteur.
Protocole de détection de l’absence de moniteur : le moniteur en fonction émet régulièrement une trame
AMP (Active Monitor Present). Chaque station possède un timer qu’elle réinitialise au passage de la trame
AMP. Si le moniteur cesse d’émettre cette trame, les timers vont arriver au bout. La première station dont
le timer arrive à terme lance le protocole d’élection d’un nouveau moniteur.
Il reste néanmoins un risque : si le moniteur émet une trame AMP et meurt. La trame AMP va tourner en
boucle, personne ne s’apercevra qu’il n’y plus de moniteur. De plus, étant donné que la trame AMP
possède le jeton, plus personne ne parlera. Pour régler ce problème le moniteur attend un temps minimum
entre deux émissions d’AMP et chaque station possède un deuxième timer réinitialisé au passage d’un
AMP. Si la trame AMP arrive avant que ce timer n’arrive à terme dans une station, cette dernière détruit la
trame AMP et lance la procédure d’élection d’un nouveau moniteur.
Protocole d’élection d’un nouveau moniteur : pour l’élection d’un nouveau moniteur on va choisir la
station ayant l’adresse la plus grande.
La première station qui détecte l’absence de moniteur actif, c’est à dire dont le premier timer arrive à terme
avant le passage de la trame AMP ou dont le deuxième timer n’est pas arrivé à terme au passage de cette
même trame, lance une trame particulière appelée Claim Token qui contient son adresse. Lorsqu’une
station reçoit un claim Token elle en émet un autre avec comme adresse la plus grande entre celle reçue et
la sienne. Cette procédure au bout du compte arrive au fait que la station ayant l’adresse la plus grande
reçoit un claim Token avec sa propre adresse. A ce moment elle se déclare moniteur.
Seulement, à cet instant, elle est seule à savoir qu’elle est moniteur, elle émet alors une trame qui signale
qu’elle a prit le rôle de moniteur.
8. Moniteur multiple
Bien sûr, si la présence d’un moniteur est indispensable, il ne faut absolument pas qu’il y en ait plusieurs.
Cela provoquerait un retrait de trame non justifié. Par exemple le premier moniteur, en voyant passer la
trame mettrait le bit M à 1, le second croirait que la trame vient de boucler et la supprimerait.
Pour éviter cela, le moniteur va surveiller les trames AMP, si il lui en arrive une qu’il n’a pas émis, c’est
qu’il y a un autre moniteur. Il lance alors la procédure d’élection d’un nouveau moniteur.
9. L’autotest matériel
Nous avons vu qu’en cas de trame qui boucle le moniteur purge l’anneau avec une trame PRG. La purge est
en fait utilisée à chaque fois qu’un problème apparaît, cependant il arrive que la purge ne règle pas le
problème. Dans ce cas les stations du réseau, voyant qu’une trame PRG est passée mais que le problème
persiste, élisent un nouveau moniteur qui tente à son tour de purger l’anneau. Si le problème persiste
encore, on entre dans la phase d’autotest. C’est à dire que toute les stations du réseau se déconnectent et se
font un test matériel complet. Ensuite, seules les stations s’étant reconnues comme saines se reconnectent et
élisent un nouveau moniteur.
10. Notion de priorité
En plus du fait que le protocole de TR soit déterministe au contraire d’Ethernet, il est doté d’un mécanisme
pour la notion de priorité des trames.
Jusqu’à présent, on a décrit le fonctionnement en supposant que toutes les trames avaient la même priorité,
hors TR prévoit 8 niveaux de priorité, de 0 (trame courante) à 7 (trames exceptionnelles et urgentes).
En fait, lorsqu’une station veut émettre une trame, soit il n’y a pas de trafic et elle va pouvoir prendre
immédiatement le jeton libre (dans ce cas le niveau de priorité désiré est sans importance) soit il y a du
trafic et elle va voir passer plusieurs trames avant que le jeton ne lui revienne. Dans ce cas elle va utiliser le
champ réservation de la trame qui passe devant elle en lui mettant son niveau de priorité (les 3 bits
permettent d’inscrire une priorité de 0 à 7).
Si une autre station veut aussi émettre une réservation, elle ne pourra le faire que si son niveau de priorité
est supérieur. Dans ce cas elle remplace l’ancienne réservation par la sienne.
Ainsi lors d’un tour, c’est la plus prioritaire qui a inscrit son niveau de priorité.
La station qui a émis cette trame va relâcher à la fin de l’émission un jeton libre. Mais avant cela, elle aura
copié le niveau de réservation dans le champs priorité (également 3 bits).
Les stations qui verront passer ce jeton libre ne pourront le prendre que si leur niveau de priorité est égal ou
supérieur à celui indiqué dans le jeton. Par contre elles peuvent toujours effectuer des réservations avec les
mêmes contraintes.
Bien sûr, ce n’est pas forcement celle qui avait effectué la plus forte réservation qui va prendre le jeton
puisque si une station pendant le tour du jeton est apparu avec une priorité plus forte, elle prendra le jeton
qu’elle ait effectué ou pas une réservation !
11. Localisation des coupures de câbles
Dans TR si un câble est défaillant c’est tout le réseau qui est affecté contrairement à Ethernet où ce ne sont
que les stations branchées sur ce câble qui sont coupées du réseau. Il fallait donc un mécanisme pour parer
à cette éventualité. De même si une station s’arrête alors qu’elle était connectée sur le réseau, il ne faut plus
lui envoyer de trame car sinon, l’anneau serait ouvert. C’est le MAU qui règle tout cela.
En fait les stations ne sont pas vraiment en étoile comme on l’a vu précédemment, elles sont connectées à
un MAU qui simule l’anneau.
Celui-ci étant en liaison permanente avec les cartes TR, dès que l’une d’elles ne répond plus, il l’a court-
circuite pour fermer l’anneau.
Il en est de même pour des coupures de câbles : c’est le MAU qui va court-circuiter le câble défaillant.
Avant cela il faut détecter l’endroit de la panne. Pour cela les stations ont un protocole bien défini : quand
un câble de l’anneau est sectionné, très vite, plus personne ne reçoit rien. Les stations émettent alors des
trames appelées BCN (Beacon) pour signaler qu’elles ne reçoivent plus rien. Une Beacon contient au
départ l’adresse de la station émettrice. Une station qui reçoit une Beacon la retransmet et arrête d’émettre
les siennes. Ainsi ne circuleront très rapidement sur le réseau que les Beacons de la station qui se situe juste
après la coupure puisque ce sera la seule à ne rien recevoir. Le MAU sait alors où se situe la coupure grâce
à l’adresse située dans ces Beacons. Il l’isole en refermant l’anneau par un autre chemin.
12. Duplication d’adresse
Le TR étant prévu pour fonctionner avec des adresses sur 2 octets définies par l’administrateur, il est
possible que dû à une erreur humaine deux stations aient la même adresse.
Ceci est gênant donc, quand une station se connecte au réseau, elle commence par émettre une trame DAT
(Duplicate Adresse Test).
Cette trame a comme particularité d’avoir comme adresse destinataire l’adresse source.
Ainsi lorsque cette trame revient si le frame status indique que la trame a été lue, c’est qu’il y a une autre
station avec la même adresse.
TR le signale immédiatement au système du réseau. Ces derniers réagissent de façons complètement
différentes : certains refusent de se connecter, d’autres se contentent de le signaler et certains envoient un
ordre de déconnexion pour l’autre station !
13. Un mécanisme complexe
Les erreurs qui sont susceptibles de détruire le fonctionnement de l’anneau sont nombreuses.
Nous n’avons pas traité tous les cas prévus par la norme : nous n’avons pas parlé des émissions continues,
des pertes du signal, des erreurs de fréquence et de transmission, des pertes de trames, des modifications du
jeton, de la non reconnaissance des délimiteurs…
La méthode d’accès à la parole qui paraissait simple au départ et posant moins de problèmes que
CSMA/CD est en fait un vrai casse tête dû au fait que la moindre perturbation doit au moins être suivie
d’une purge de l’anneau.
Il faut donc tout prévoir et avoir du matériel très fiable.
14. Les ponts
On peut bien sûr relier plusieurs TR par des ponts.
Ces ponts ont les mêmes fonctionnalités que les ponts Ethernet mais utilisent un principe
fondamentalement différent.
Les ponts Ethernet sont dits transparents et le routage se fait de pont en pont.
Sur TR on parle de routage à la source et les stations ont parfaitement " conscience " de la présence des
ponts.
Les ponts TR :
Leur système est beaucoup plus simple : ils ne font rien !
En fait les stations ont " conscience " qu’il peut y avoir des ponts et donc le gère.
Lorsqu’une station veut parler à une autre, elle va d’abord essayer de lui parler sur son anneau.
Si personne ne lit la trame, elle pense que la station est sur un autre anneau relié par un pont. Elle la
recherche en envoyant une trame discovering. Quand un pont voit passer une trame de ce type il se note
dedans et la renvoie de l’autre côté. Si un pont voit passer une trame discovering où il est déjà il l’a jette.
Quand le destinataire la reçoit, il l’a renvoie en suivant le chemin inverse. Ainsi la station de départ connaît
le chemin d’accès au destinataire et le notera dans chaque trame qu’elle lui enverra.
Il y a plusieurs politiques applicables : soit on prend le premier qui revient, soit celui qui a traversé le moins
de ponts,…
Le principe de noter le chemin dans chaque trame est appelé routage à la source.
15. Conclusion
Au niveau efficacité le TR est une réussite puisque le débit effectif suit à peut près le débit soumis et en
tout cas ne s’écroule jamais. De plus il gère parfaitement les niveaux de priorité, ce qui le rend conforme
aux utilisations temps réels.
Cependant, il n’a pas réussi à s’imposer car sa technologie est trop chère et que la méthode d’accès est
finalement assez complexe. De plus son principe ne se prête pas à l’utilisation des switch qui permettent
d’isoler les serveurs sur des parties à hauts débits.
Il reste néanmoins d’actualité chez IBM et dans les applications temps réel et son principe est toujours
utilisé pour les réseaux fédérateurs FDDI.
802.4 : Token Bus
1. Introduction
Le principe ici est le même que pour TR : on partage la ressource de communication en se passant
un jeton. Seulement ici les stations se trouvent sur un bus logique (comme pour Ethernet, on peut
très bien avoir en physique un bus ou une étoile). Le principe du jeton a l’avantage de garantir un
temps maximum entre deux accès à la parole. Pour utiliser le jeton on doit définir un anneau
logique. Pour cela à un instant donné une station n’a qu’un prédécesseur et un successeur. Le jeton
viendra du prédécesseur et sera transmis au successeur.
2. Principe
Le bus assure la diffusion des signaux vers toutes les stations. Le jeton détermine un accès
séquentiel des stations à la parole, évitant ainsi les collisions.
Les stations connectées au réseau forment un anneau logique en étant rangées par ordre
décroissant de leurs adresses. La station ayant la plus petite adresse considère comme son
successeur la station ayant la plus grande adresse, ainsi une boucle est formée. Chaque station
connaît l’adresse de son successeur et celle de son prédécesseur. Une seule station possède le
jeton, elle émet ses trames pendant un temps maximum puis envoie une trame " jeton " à sa station
successeur. Ainsi le jeton passe par toutes les stations et personne ne parle en même temps.
L’emplacement physique n’intervient pas dans le passage du jeton.
3. Le signal
Les signaux sont transmis sur du câble coaxial de façon analogique (ce qui induit l’utilisation de
modems) sous forme d’ondes porteuses modulées. Deux techniques de modulation de fréquence
peuvent être utilisées, elles déterminent le débit : 5 ou 10 Mbps. Il existe aussi une méthode de
transmission numérique (avec un codage Manchester) mais le fait qu’elle limite le débit à 1 Mbps
le rend impopulaire. La distance maximale couverte par le câblage est de 3.7 Km.
4. La trame
Préambule
SD
FC
SA
AD
Données
CRC
ED
˜ 1 octet
1
1
2 ou 6
2 ou 6
< 8191
4
1
Préambule: c’est une suite de 1 et de 0 émise pendant une durée minimum qui correspond à 1
Mbps à l’émission d’1 octet. Il permet de synchroniser les horloges.
SD : Start Delimiter, c’est NN0NN000 avec N qui est un signal analogique qui ne représente ni un
1 ni un 0.
FC : Frame Control permet de connaître le type de trame, c’est à dire trame de données ou de
commande (Claim Token, jeton libre, etc.). Il contient aussi les priorités.
SA et AD : Adresse source et destination sur 2 ou 6 octets comme pour TR.
ED : End Delimiter, c’est NN/NN/IE avec / qui signifie qu’on peut mettre un 1 ou un 0. I est à 1 si
la station émettrice a encore des trames à émettre, à 0 sinon. E est mis à 1 par un répéteur si il n’a
pas réussi à réamplifier correctement le signal.
1 / 11 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !