802 - Free

publicité
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
1 octet
Access CTRL
(J = 0)
1
Marqueur
fin
1
Marqueur
Début
1 octet
Trame
Access
Marqueur
Frame
Adresse
Adresse
CTRL
Fin
Con
destinatio
sourc
Données
CRC
(J =
trol
n
e
1)
1
1
2 ou 6
2 ou 6
quelconque
4
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
Status
1
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 courtcircuite 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.
Préambule
˜ 1 octet
La trame
SD
1
FC
1
SA
2 ou 6
AD
2 ou 6
Données
< 8191
CRC
4
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.
E
1
5.
Insertion d’une station dans l’anneau
Dès que l’anneau logique a été établi, chaque station gère en permanence les adresses de la station
prédécesseur et de la station successeur.
Périodiquement, la station qui détient le jeton transmet une trame de type recherche successeur
(Solicit-Successor-1) afin de faire appel aux stations non partenaires de l’anneau à cet instant et
qui souhaitent le rejoindre. Cette trame précise l’adresse de la station émettrice et celle de son
successeur sur l’anneau. Seules les stations dont la valeur de l’adresse est comprise entre les
adresses mentionnées ont le droit de rejoindre l’anneau logique. Ce protocole permet de conserver
facilement l’ordre décroissant des adresses des stations sur l’anneau logique. Si aucune station ne
se porte candidate dans l’intervalle de temps (fenêtre de réponse) qui suit l’émission de cette
trame, la fenêtre de réponse est fermée et le processus normal de circulation du jeton reprend. Si
une seule station se porte candidate en émettant une trame Set-Successor, elle s’insère sur l’anneau
et devient la prochaine station destinataire du jeton.
Si deux ou plusieurs stations se portent candidates, leurs trames seront victimes de collisions. La
station qui détient le jeton exécute alors un algorithme d’arbitrage commençant par la diffusion
d’une trame résolution de contention destinée à initialiser le processus de résolution de contention.
Bien sûr, la station qui a la plus petite adresse du réseau (on la nomme lowest adress) ce comporte
un peu différemment : elle ne va pas ouvrir une fenêtre de réponse mais deux successives en
émettant une trame Solicit-Successor-2. Pendant la première fenêtre, seules les stations ayant une
plus petite adresse que celle de l’émettrice peuvent répondre. Pendant la seconde, ce sont les
stations qui ont une adresse supérieure à celle du successeur de l’émettrice qui peuvent répondre.
Si une réponse est effectuée dans la seconde fenêtre alors qu’une réponse a déjà était faite pendant
la première elle est ignorée. Les problèmes de collision se règlent aussi par l’algorithme de
résolution de contention.
6.
Résolution de contention
Lorsqu’une station qui a émis une trame de recherche successeur détecte une collision, elle émet
une trame Resolve-Contention qui indique aux candidates qu’il y a eu une collision. Puis elle
ouvre 4 fenêtres de réponse successives. Les stations candidates, à la réception de la trame
Resolve-Contention, arment un timer qui vaut 0, 1, 2 ou 3 * TC (TC = temps d’ouverture d’une
fenêtre de réponse). Avant de répondre, les stations attendront le temps de ce timer. Ainsi, les
stations vont se répartir dans les différentes fenêtres de réponse. La première réponse qui sera
seule dans sa fenêtre sera acceptée. Pour choisir le timer qui sera déclenché, les candidates au
premier essai utilisent les 2 bit de poids faible de leurs adresses (0, 1, 2 ou 3). A partir du
deuxième essai (si il y a eu plusieurs réponses dans les 4 fenêtres), les candidates tireront
aléatoirement ce chiffre entre 0 et 3.
7.
Initialisation
L’initialisation de l’anneau logique est un cas particulier du processus d’appel à candidature.
Quand la première station devient active, elle constate après un délai d’observation suffisant, qu’il
n’y a aucun trafic sur le support de transmission. Sur cette constatation, la station transmet une
trame Claim Token. N’obtenant pas de réponse, elle constitue un anneau logique dont elle est
l’unique station.
Ensuite, périodiquement elle déroule le processus d’appel à candidature (au départ, elle est
forcement la station lowest adress et ouvre donc deux fenêtres, une pour celles qui ont une adresse
plus petite qu’elle et une pour celles qui ont une adresse plus grande que celle de son successeur,
c’est à dire elle même). Les autres stations s’insèrent au fur et à mesure qu’elles deviennent
actives selon le processus décrit au paragraphe précédent.
8.
Suppression d’une station
Quitter l’anneau est très facile. Lorsqu’une station veut quitter l’anneau, elle attend le jeton.
Quand il arrive, elle émet une trame Set-Successor à sa station prédécesseur pour lui indiquer son
nouveau successeur. Cette dernière préviendra ensuite celui-ci qu’elle est son nouveau
prédécesseur. La station qui veut quitter l’anneau est donc libre dès qu’elle a prévenu son
successeur. Nous verrons plus tard que même si elle n’a pu effectuer ce processus (à cause d’un
arrêt brutal par exemple) les stations actives règleront seules ce problème.
9.
Passage du jeton
Lorsqu’une station libère le jeton, elle émet une trame à destination de son successeur, lui
indiquant qu’il est à présent le possesseur du jeton. Puis elle surveille que celui ci l’a bien reçu.
Pour cela elle observe le bus, si une trame (jeton libre ou données) apparaît, c’est qu’il l’a bien
reçu, sinon, elle retente la procédure de passage du jeton. Si cette procédure échoue de nouveau,
elle va considérer que son successeur est mort et va donc chercher à joindre le successeur de son
successeur en envoyant une trame " qui suit mon successeur ? " (Who-Follows), qui contient
l’adresse du successeur supposé mort. Les stations, en recevant cette trame vérifient leurs
prédécesseurs. Celle qui se reconnaît répond en donnant son adresse: l’anneau est ainsi
reconstitué.
10.
Perte du jeton
Lorsqu’une station ne possède pas le jeton, elle écoute en permanence le bus. Premièrement pour
détecter un signal lui étant adressé deuxièmement pour surveiller la perte du jeton. En effet, en
fonctionnement normal, des signaux doivent être émis régulièrement sur le bus, que ce soit le
passage du jeton ou des trames de données. Une absence de signal pendant un certain temps
(supérieur au temps de 4 fenêtres de réponse et de propagation sur le bus) est donc significatif de
la perte du jeton.
La première station qui détecte cette perte du jeton émet une trame Claim Token dont la longueur
dépend de son adresse. Les stations repérant un Claim Token vont en émettre à leur tour. Chaque
station va émettre des Claim Token successifs jusqu’à ce que lorsqu’un Claim Token ait fini d’
être transmis et que la station écoute le bus elle entende un signal (Claim Token des autres). Dans
ce cas, elle abandonne la compétition pour la régénération du jeton. Très vite la plupart des
stations abandonnent donc et une seule entend un silence après la transmission de son Claim
Token . Après plusieurs itérations d’un Claim Token suivi d’un silence, la station considère avoir
gagné le droit de régénérer le jeton. Ensuite elle reprend le processus normal.
11.
Duplication du jeton
Une station qui est dans l’état recherche de successeurs ou qui a envoyé une trame Who-Follows
et qui entend sur le bus une trame de données ou un jeton comprend qu’une autre station est
active. Elle abandonne donc son jeton. La situation redevient ainsi normale.
12.
Duplication d’adresse
Quand une station voit passer une trame qu’elle n’a pas émise dont le CRC est valide avec comme
adresse source sa propre adresse, elle comprend qu’il y a une duplication d’adresse et se
déconnecte. Ensuite elle va entrer dans le processus de candidature à l’anneau.
Tant que la station ayant la même adresse sera présente sur l’anneau logique, elle ne pourra se
reconnecter puisqu’il ne sera jamais proposé d’intervalle incluant son adresse : l’intervalle proposé
par une station va de l’adresse strictement inférieure à la sienne à l’adresse strictement supérieure
à celle de son successeur.
13.
Mode réponse immédiate
Dans le FC se trouve un bit qui permet d’envoyer une trame dite en mode réponse immédiate.
C’est à dire lorsqu’une station reçoit une trame avec ce bit à 1 c’est qu’elle peut et doit répondre
immédiatement sans attendre le jeton. C’est une sorte de délégation temporaire du jeton. Ce mode
permet de demander un accusé de réception immédiat ou de donner la parole à une station qui
n’est pas sur l’anneau. Par exemple lors d’une recherche de successeur la trame adressée aux
candidates est de ce mode afin qu’elle puisse répondre bien qu’elle n’ait pas le jeton.
En pratique ce mode est aussi utilisé pour faire du contrôle centralisé éventuellement multimaître.
Dans ce cas seuls les maîtres font partie de l’anneau (un esclave ne parlant que sur l’ordre d’un
maître), mais tous les maîtres et esclaves sont connectés au même bus. Lorsqu’un maître demande
une tache à un esclave il lui envoie une trame en mode réponse immédiate.
14.
Temps de transmission
Chaque fois qu’une station acquière le jeton, elle peut transmettre pendant une durée de temps
limité avant de devoir passer le jeton à son successeur. Le temps maximum de transmission appelé
Hi Pri Token Hold Time est configuré par l’administrateur après analyse des contraintes du
système.
L’appel de nouvelles stations ne doit pas interférer avec le temps de rotation maximum du jeton.
Une station déclenche donc un timer à chaque passage du jeton et lance la procédure d’insertion
d’une station que si le jeton a fait un tour rapide (ce qui correspond à une faible activité du réseau).
De plus, même si le réseau a une faible activité il n’est pas utile de lancer l’appel à candidature à
chaque tour. Chaque station a donc un compteur (Inter Solicit Count) qui lui permet de lancer
l’appel à candidature que tous les X tours du jeton.
15.
Gestion des priorités
Le bus à jeton défini quatre niveaux de priorité référencés 0, 2, 4 et 6. Le niveau 0 est le plus
faible, 6 le plus fort.
Le principe est assez simple, chaque station va émettre en priorité ses trames de forte priorité et a
plus de temps pour transmettre les trames de priorité 6 que celles de 0 de sorte que le trafic des
trames de priorité 0 laisse de la bande passante pour les priorités plus élevées.
Mécanisme : on définit une valeur TTRTi (Target Token Rotation Time) pour chaque
priorité i. TRT6 indiquera le temps de rotation maximum du jeton et on aura
TRT6>TRT4>TRT2>TRT0. Chaque station a quatre timer : TRT6, TRT4, TRT2 et TRT0.
Ces timers sont initialisés à chaque passage du jeton à respectivement TTRT6, TTRT4,
TTRT2 et TTRT0 (TTRTi-TRTi=Temps de rotation du jeton). Avant d’initialiser TRTi à
TTRTi à l’arrivée du jeton d’autres timers (HTi) sont initialisés à TRTi. Ce procédé a pour
but que les TRT commencent à décompter le temps de rotation du jeton et que les HT
indiquent combien de temps on peut émettre dans la priorité i.
Ensuite, chaque timer (TRTi et HTi) continue à décompter le temps. Une station peut
émettre en priorité 6 tant que HT6 >0, puis si HT4 est encore >0 elle peut émettre pendant
HT4 et ainsi de suite.
Voyons un exemple pour bien comprendre le mécanisme :
Pour l’exemple suivant on prendra TTRT6=100, TTRT4=80, TTRT2=50 et TTRT0=30. Les
trames sont toutes de même longueur avec un temps d’émission de 20. Au départ, la station
doit émettre une trame de chaque priorité.
Le jeton a mis 40 pour faire le tour, on a donc TRT6=60, TRT4=40, TRT2=10 et TRT0=-10.
A l’arrivée du jeton on positionne donc HT6=60, HT4=40, HT2=10 et HT0=-10 puis
TRT6=100, TRT4=80, TRT2=50 et TRT0=30.
HT6 étant supérieur à 0 la station émet sa trame de priorité 6. On a donc TRT6=80,
TRT4=60, TRT2=30, TRT0=10, HT6=40, HT4=20, HT2=-10 et HT0=-30.
HT4>0 donc la station émet sa trame de priorité 4, on a alors TRT6=60, TRT4=40,
TRT2=10, TRT0=-10, HT6=20, HT4=0, HT2=-30 et HT0=-50.
HT2<0 la station ne peut donc pas émettre sa trame de priorité 2, elle libère le jeton.
Le jeton met cette fois 20 à faire le tour.
A l’arrivée du jeton on a donc TRT6=40, TRT4=20, TRT2=-10 et TRT0=-30, la station
réinitialise ses compteurs. Ce qui donne TRT6=100 , TRT4=80, TRT2=50, TRT0=30,
HT6=40, HT4=20, HT2=-10 et HT0= -30.
La station aurait pu émettre des trames de priorité 6 et 4 mais supposons qu’elle n’ait que
des trames de priorités 0 et 2. Dans ce cas elle est obligée de passer directement le jeton.
Le jeton met de nouveau 40 pour faire le tour.
A son retour on a donc TRT6=60 , TRT4=40, TRT2=10, TRT0= -10. La réinitialisation
donne TRT6=100 , TRT4=80, TRT2=50, TRT0=30, HT6=60, HT4=40, HT2=10 et HT0=-10.
La station peut donc émettre une trame de priorité 2 mais d’une durée uniquement de 10.
Cette méthode permet de laisser sur le réseau la priorité aux trames de forte priorité et de
limiter le débit des trames de faible priorité.
Conclusion
16.
Ce type de réseau à l’avantage d’être déterministe et de ne pas s’écrouler sous les collisions. Cependant la
nécessité d’avoir des équipements comme des modems et du câble coaxial le rend relativement coûteux.
Il est de moins en moins utilisé mais encore d’actualité dans les réseaux industriels. GIXInet et Arcnet ont
été les premiers à utiliser cette méthode. TORNAD (le réseau du TGV) et HSDB, Hight Speed Data Bus
(réseau militaire) sont des exemples de Token Bus.
ANSI X3T9.5 : FDDI
1.
Introduction
FDDI : Fiber Distributed Date Interface
Né au début des années 80, son principe est celui d’un double anneau à 100Mbps sur
fibre optique. Son rôle principal est celui des réseaux fédérateurs (Backbone), à plat il
peut s’étendre sur 100 km et accepter jusqu’à 1000 stations. Ses trames maximales sont
de 45 Ko. On le trouve encore beaucoup sur des sites où un backbone à 100 Mbps était
nécessaire avant l’arrivé du 100BaseT, mais FASTETHERNET et le Gigabit Ethernet
sont en train de causer sa perte. Sa norme n’est pas de l’IEEE, elle vient de l’ANSI et est
nommée X3T9.5. Certaines installations tournent à 200 Mbps mais elles sont instables,
on utilise le réseau secondaire pour transmettre 200 Mbps.
2.
Bits d’origine
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
2.
Le codage 4B/5B NRZI
Ce codage est basé sur NRZI qui code un 1 par une transition et un 0 par une absence de transition
plus le fait qu’on code 4 bits par une suite de 5 ne comprenant jamais plus de trois 0 à la suite, un
0 au début et deux 0 à la fin. Ceci permet d’avoir au moins une transition tous les 3 bits.
Codage de ces bits
11110
01001
10100
10101
01010
01011
01110
01111
10010
10011
10110
10111
11010
11011
11100
11101
Trame FDDI
Start
Adresse
Adresse
Frame
Delimi
destinatair
Sourc
Données
CRC
Control
ter
e
e
Plus de 8 octets
1
1
2 ou 6
2 ou 6
0 à 1100
4
La trame ressemble à celle du TR, il y a un préambule car on n’émet pas en permanence. Le Start Delimiter
(SD) et le End Delimiter (ED) sont des codes particuliers ne correspondant à rien d’autre :
SD : 1100010001
ED : 01101 si jeton vide
0110101101 si c’est une trame
On remarquera qu’il n’y a pas de champs Access Control, c’est le champs FC qui permet de dire si le jeton
est libre ou non.
Il n’y a pas non plus de champs priorité, réservation, ni de bit M.
Une autre particularité : dans le FC, un bit indique si on utilise les adresses sur 2 ou 6 octets, ainsi les deux
adressages peuvent cohabiter.
Les trames sont lues puis régénérées complètement dans chaque station.
Préambule
3.
Principe
Etant donné sa taille importante, le délai de propagation peut atteindre 1ms. Cela suffit seul à expliquer
qu’il ait fallu modifier le protocole 802.5. En effet, s’il fallait attendre le retour de l’entête d’une trame pour
réemettre un jeton, cela induirait une perte de bande passante importante. C’est donc la longueur qui a
poussé les concepteurs de FDDI à modifier le protocole de gestion du jeton et les mécanismes de priorité.
End Deli
0.5 ou
4.
Circulation du jeton
Comme dans le TR, une station qui souhaite émettre des données doit attendre le jeton libre. Lorsque celuici arrive, la station peut émettre dans tous les cas une trame dite synchrone puis en fonction de l’algorithme
que nous verrons ensuite, des trames dites asynchrones pendant une durée limitée. Ensuite le station réemet
le jeton. Contrairement à TR on n’attend pas le retour de ses trames avant de réemettre le jeton, le délai
serait trop long. Il peut donc y avoir sur l’anneau plusieurs trames en simultané mais un seul et unique
jeton. Le fait que l’on n’attende pas le retour de ses trames pour réemettre le jeton explique le fait qu’on ne
puisse utiliser le même principe de priorité que dans TR.
Les trames sont ensuite retirées de l’anneau par la station qui les a émises, néanmoins les dépouilles de
trames continuent à circuler puisqu’une station ne reconnaît sa trame qu’à l’adresse source. Etant donné
qu’il n’y a pas de bit M, ces dépouilles et les trames dont l’émetteur serait déconnecté avant de les retirer
pourraient tourner indéfiniment. Ce problème est réglé par le fait que toutes les stations sont des répéteurs
(puisqu’elles réemettent la trame qu’elles reçoivent) sauf celle qui est en train d’émettre . Cette dernière
purge donc tout ce qui lui arrive en amont. Cette méthode simple a quand même un inconvénient : une
station peut recevoir plusieurs fois le même message, il faudra donc régler ce problème au niveau
supérieur.
802.11 : les réseaux sans fil
1. Introduction
Ce réseau utilise des techniques similaires aux réseaux des GSM, mais cette norme décrit un
réseau local qui a donc des besoins et des contraintes différentes des réseaux GSM à vocation
WAN.
2. Caractéristiques
La norme définitive est très récente, elle date de 1998 (802.11b). On parle de réseau d’égal à égal,
c’est à dire qu’il y a une discussion bilatérale dans la zone de couverture. C’est un réseau d’accès à
un réseau câblé via un point d’accès qui sert de répéteur pour le réseau sans fil et de passerelle
vers le réseau fixe.
La fonction répéteur : Quand 2 stations du réseau veulent discuter, soit elles se trouvent proches et
peuvent discuter directement soit elles sont éloignées et utilisent donc 2 point d’accès différents
qui fonctionnent alors comme des répéteurs. C’est à dire que la première station va émettre une
trame que va capter le point d’accès. Si il repère que la station destinataire n’est pas parmi les
stations qu’il gère, il va la transmettre au bon point d’accès (via le câble) qui va lui réemettre la
trame. La station destinataire pourra alors capter et lire cette trame.
La fonction passerelle : Un tel réseau est en fait un mélange d’un réseau câblé (Ethernet, TR,…) et
d’un 802.11. Ces 2 réseaux utilisent des trames différentes donc les ponts d’accès se comportent
en passerelle quand une station du réseau câblé et une station du 802.11 veulent discuter en
effectuant une conversion des trames.
3. Méthode d’accès
La méthode d’accès à la parole se rapproche de celle d’Ethernet, on utilise le CSMA/CA. C’est à
dire qu’on conserve le principe d’écouter avant de parler pour voir si c’est libre (CSMA), mais
l’écoute étant impossible pendant l’émission, on gère les collisions de façons différentes.
4. Roaming
Ce Roaming est la fonction essentielle sur les GSM. C’est le fait que les stations peuvent être
mobiles et donc changer le point d’accès. Dans 802.11 le Roaming n’est pas normalisé, chaque
constructeur fait comme il veut. Deux protocoles sont principalement utilisés ; soit les stations se
signalent régulièrement aux points d’accès, soit les points d’accès observent les adresses sources
des trames émises.
5. Conclusion
Le 802.11 a un débit potentiel de 10 Mbps, mais les bruits et la limite dus à la distance font qu’on
utilise des débits de 1 à 2 Mbps avec des portées de 100 à 200m. Ceci dit, c’est une technologie
qui plait et qui est fortement étudiée. La dernière norme hyperlan (802.11g) permet des débits
théorique de 54 Mbps (voir 108 Mbps) ce qui nous donne en pratique un débit moyen aux environ
de 20 Mbps.
Il existe aussi d'autres normes pour faire du réseau sans ajouter de fil mais pas sans fil, celui qui a
la cote en ce moment est le CPL (courant porteur en ligne) ou PLC (Power Line Cable). Le PNA
(Phoneline Ntworking Alliance) quand à lui n'a pas encore vraiment reussi a percer !!
Téléchargement