LES RESEAUX LOCAUX INDUSTRIELS

Chapitre 16/25  -  La couche de liaison : la sous couche MAC

Hugues Angélis

 

La couche de Liaison.

 

La couche de liaison est l'une des couches les plus importantes des Réseaux, puisque c'est elle qui définit les trames à transmettre et qu'elle gère l'accès à la ligne de communication. Ces 2 éléments étant extrêmement différents et extrêmement importants, on a scindé, en 2 la couche de liaison, pour former la sous-couche d'accès au médium (MAC qui en anglais veut dire MEDIUM ACCES CONTROL), et la sous-couche de contrôle logique de la liaison (LLC qui en anglais veut dire LOGICAL LINK CONTROL).

 

 

Décomposition en sous couche de la couche 2
Emprunté à "Autoformation aux Réseaux (Intel)"

 

         La sous-couche MAC.

 

                        On a vu dans le chapitre précédent les différentes topologies des Réseaux, mais ces topologies sous-entendent des modes d'utilisation. Ainsi, les anneaux et les bus ne peuvent pas être employés de la même façon et on définit alors deux façons de dialoguer distinctes pour l'un et l'autre.

 

                        Commençons par une structure de type bus, si 2 machines tentent de parler (pas forcément entre elles) sur un bus, on aura à un instant donné, 2 sources, sur une même voie, ce que l'on nomme, quand on est électronicien un conflit et quand on est spécialiste des Réseaux, une collision. On doit alors développer une stratégie qui permet à ces 2 machines de transmettre leurs données. C'est le protocole CSMA/CD.

 

                        Dans un anneau, il est hors de question de laisser faire une chose pareille, les collisions y sont généralement prohibées. On utilise donc d'autres méthodes qui permettent de donner tour à tour, la parole à chacune des machines. On utilise généralement un jeton que les machines se transmettent de l'une à l'autre. Mais la méthode du jeton n'est pas la seule.

                        Les protocoles pour topologie de type bus.

 

                                   Le protocole CSMA/CD.

 

                        CSMA/CD veut dire CARRIER SENS MULTIPLE ACCES/COLLISION DETECTION ou encore accès multiple par détection de porteuse avec détection de collision. Son principe de fonctionnement est relativement simple, lorsqu'il y a une collision, on arrête tout et on recommence.

 

                        On utilise généralement l'algorithme suivant :

 

            La machine qui souhaite parler scrute la ligne, lorsque celle-ci est "à son avis" libre, elle prend la parole et émet son message. Se faisant, elle continue de scruter l'état de la ligne.

 

                        Si à un moment quelconque de la transmission, elle se rend compte qu'une autre machine tente de dialoguer sur cette même ligne, elle se déconnecte pendant un laps de temps aléatoire puis tente de reprendre la parole en suivant la séquence précédemment décrite.

 

                        Le point difficile à comprendre, c'est comment se fait il que 2 machines puissent parler en même temps sur une même ligne alors qu'elles ont testé l'état de cette ligne quelques micros secondes avant. En fait, c'est tout bonnement le phénomène de propagation qui est en train de s'appliquer (il faut un certain temps pour que l'onde atteigne sa cible et pendant ce laps de temps, le bus peut sembler libre). Le double du temps mis par l'onde pour occuper entièrement la ligne est appelé TIME SLOT (ts) ou distance temporelle ou ROUND TRIP DELAY.

 

                        Dans notre exemple, on se rend compte facilement de ce que représente le time-slot. Pour cela, il faut imaginer le pire des cas (comme dans notre exemple), ainsi, si la machine A émet sur une ligne totalement libre, il faut un certain temps (t4) pour que la machine B détecte que A a parlé. Si quelques picosecondes avant, B s’est mis à parler, B détecte presque instantanément la collision, mais il faudra pour que A détecte la collision attendre encore le temps t4 pour que le signal émis par B lui arrive. Le time-slot c’est donc le temps mis pour qu’un message envoyé d’une des extrémités la ligne face un aller et retour.

 

                        Si l’on connaît la longueur de la ligne (L) et la vitesse de propagation du signal (v), on peut en déduire le time-slot :

                        Donc si l’on connaît le time-slot, il faut maintenant que l’on ait une conformité entre la durée du message et le time-slot, en effet, il faut que A puisse comparer ce qu’il émet et ce qu’il reçoit, donc le message expédié doit être plus long que le time-slot d’où une autre règle importante :

Où Mmin est la longueur minimale en bit du message et D le débit du Réseau.

 

                        Cela impose, l'introduction dans les messages de faible taille (signaux d'acquittement de tache ou accusé de réception) de données sans signification (qui seront éliminés à la réception), de façon à maintenir un nombre suffisant de bits pour respecter l'équation précédente.

 

                        L’utilisation de protocoles à collision impose le respect du time-slot, ceci dit, il existe plusieurs topologies pour les Réseaux à collision, le bus (cas que nous venons d’étudier) et l’étoile. Dans ce dernier cas, le calcul du time-slot est pratiquement identique à celui du bus, on calcule la valeur du time-slot sur la base de la distance entre les machines au bout des branches les plus éloignées.

 

                        En cas de collision, les machines concernées cessent de transmettre des données, mais continue à émettre un signal de brouillage (ne contenant pas de données mais assez différent du bruit des lignes) appelé JAM, permettant ainsi d'éliminer toutes les stations qui pourraient encore tenter de parler sur la ligne.

 

                        Une fois la collision détectée et le signal de brouillage émis, les machines qui sont entrées en collision ne doivent pas rééditer immédiatement (elles colisionneraient à nouveau), elles doivent passer par une phase d’attente "aléatoire".

Cette phase d'attente est réalisée grâce à un facteur de collision (N) et par un compteur de collision (k). Le temps d'attente après une collision est donc :

 

 

                        On distingue donc 2 phases, d'un coté la phase de transmission de données (phase productive), dont on peut donner la durée


 
  

 

où D est le débit du Réseau et M, la taille des trames) et la phase de conflit (phase de contention ou de Back-Off), dont on vient de donner la formule.

 

                        On définit aussi 2 autres formes d’erreurs, les erreurs d'alignement (RUNT) caractérisée par une trame de taille non divisible par 8, et les erreurs de longueur (JABBER) où la trame est trop longue, ceci étant souvent causé par une collision non détectée.

 

                        On peut aussi présenter le synoptique d'une réception avec le protocole CSMA/CD
Emprunté à "Autoformation aux Réseaux (Intel)"

 

 

 

                        On peut donc présenter le synoptique d'une émission avec le protocole CSMA/CD
Emprunté à "Autoformation aux Réseaux (Intel)"

 

 

                        Et juger de l'efficacité du protocole grâce à la formule :

 

Où TI est le temps de transmission et TC le temps de contention.

 

                        Bien entendu, cette formule n'est valable que pour l'analyse pratique d'un certain nombre de transmission.

                                               Relevé de l'efficacité du protocole CSMA/CD.

 

 

 

Débit

 

Longueur de la trame

 

Facteur N

 

Efficacité

 

 

bus de 100m avec un ts de 0,5µs

 

 

10Mbit/s

 

5000 bits

 

2

 

99,6%

 

 

10Mbit/s

 

500 bits

 

2

 

96,2%

 

 

 

 

 

 

 

 

 

 

 

10Mbit/s

 

5000 bits

 

10

 

98%

 

 

10Mbit/s

 

500 bits

 

10

 

83,3%

 

 

 

 

 

 

 

 

 

 

 

100Mbit/s

 

5000 bits

 

2

 

96,2%

 

 

100Mbit/s

 

500 bits

 

2

 

71,4%

 

 

 

 

 

 

 

 

 

 

 

100Mbit/s

 

5000 bits

 

10

 

83,3%

 

 

100Mbit/s

 

500 bits

 

10

 

33,3%

 

 

bus de 10Km avec un ts de 50µs

 

 

10Mbit/s

 

5000 bits

 

2

 

71,4%

 

 

10Mbit/s

 

500 bits

 

2

 

20%

 

 

 

 

 

 

 

 

 

 

 

10Mbit/s

 

5000 bits

 

10

 

33,3%

 

 

10Mbit/s

 

500 bits

 

10

 

4,8%

 

 

 

 

 

 

 

 

 

 

 

100Mbit/s

 

5000 bits

 

2

 

20%

 

 

100Mbit/s

 

500 bits

 

2

 

2,4%

 

 

 

 

 

 

 

 

 

 

 

100Mbit/s

 

5000 bits

 

10

 

4,8%

 

 

100Mbit/s

 

500 bits

 

10

 

0,5%

 

 

Cette illustration est la copie de celle présentée par P Millet dans son ouvrage "transmission et Réseaux locaux", édité par MASSON.

                        On comprend très vite que si de nombreuses machines sont reliées à un bus, les collisions ne seront pas rares, or les algorithmes sont ainsi faits que les délais de temporisation augmentent de façon "exponentielle" avec le nombre de collisions détectées pour un même message. On peut donc saturer un Réseau sur lequel personne ne parle, mais où tout le monde souhaite le faire.

 

                        Pour éviter ce problème, on a recours, soit aux méthodes déterministes et non plus aléatoires comme c'est le cas avec CSMA/CD, soit en utilisant plus intensément de la couche d'application qui lance alors des ordres de services permettant de supprimer certaines communications jugées non prioritaires, soit en jouant sur la couche physique.

 

                                   Le protocole CSMA/NBA

 

                        Le protocole CSMA/NBA est un protocole sans contention, en cas de conflit, les machines s'arbitrent grâce aux valeurs "d'adresse" qu'elles envoient.

 

                        Pour le protocole CSMA/NBA, il existe 2 niveaux de tension correspondant au "1" et au "0" logique, l'état "0" est obtenu par mise directe à la masse (on dit que c'est un état dominant) et l'état logique "1" s'obtient par passage dans un élément résistif (on dit que c'est un état récessif). En cas de confit, un état dominant l'emporte toujours sur un état récessif, l'arbitrage est donc facile à faire et surtout il est non destructif puisqu'il ne nécessite pas la réémission des 2 messages. D'où le nom de ce protocole (NBA = Non-destructive Bitwise Arbitration)

 

Emetteur A

R

R

R

D

R

D

R

D

R

D

Emetteur B

R

R

R

R

 

 

 

 

 

 

Emetteur C

R

R

R

D

R

R

 

 

 

 

état du bus

R

R

R

D

R

D

R

D

R

D

Dans cet exemple, je ne présente que la notion d'état récessif, en aucun cas, cela ne veut dire quelque chose pour le protocole.

 

                        Ce protocole joue typiquement sur la capacité de la couche physique à absorber les chocs liés aux conflits de bus. Toutefois, il reste encore teinté d'une connotation aléatoire, on ne peut en effet pas prédire en combien de temps une machine peut transmettre un message, la seule chose qui soit sure, c'est que plus "l'adresse" contient de bit dominant au début, plus ce message devient prioritaire.

 

                                   Le protocole CSMA/DCR.

 

                        Le protocole CSMA/DCR est une évolution du protocole CSMA/CD, l'abréviation DCR signifie DETERMINISTIC COLLISION RESOLUTION ou résolution de collision par méthode déterministe. Cela revient en fait, à donner à chacune des machines un numéro d'index, puis à offrir la main aux machines en effectuant une dichotomie sur les numéros d'index.

 

                        Cette méthode fait appel à une résolution déterministe des conflits, elle permet donc de s'affranchir des calculs de Back-Off qui engendrent des effondrements de Réseau. L'autre avantage des méthodes déterministes, c'est l'accès aux notions de temps réel, puisqu'on peut prédire le temps maximum de réponse à une requête, qu'il y ait conflit ou pas.

 

                        Dans notre exemple à 7 machines, 5 souhaitent parler en même temps, on se trouve alors dans un cas de conflit à 5 machines.

 

 

            Légende :      I : interdiction de dialoguer.

                                   C : collision.

                                   E : Emission.

 

                        Dans cet exemple, on vous montre comment se réalise la dichotomie permettant de gérer les conflits. On constate que si la résolution des contentions est rapide, elle crée par instant des tranches vides (voir étape 7), qui sont des intervalles de temps pendant lequel le Réseau n'est pas utilisé.

 

                        Ce protocole est utilisé par le Réseau RECITAL de Serges DASSAULT Electronique et équipe le porte-avions CHARLES DE GAULLES.

                                   Le protocole à jeton de bus.

 

                        Le protocole du bus à jeton est plutôt complexe, il présente l'avantage d'être déterministe, et par-là même, de permettre un fonctionnement temps réel d'un Réseau de type bus. Son principe repose sur une numérotation des machines (en général par l'adressage) et sur l'utilisation d'un jeton que chaque machines recevra à tour de rôle et qu'elles devront gérer pour transmettre ses données.

 

                        La circulation du jeton s'effectue en allant dans le sens décroissant des adresses des machines qui constituent le bus (on parle souvent de boucle logique, qu'il ne faut pas confondre avec un anneau). La machine dont l'adresse est la plus faible, étant chargée de transmettre le jeton à celle d'adresse la plus élevée et ainsi boucler la boucle.

 

                        A la réception du jeton, la machine active place dans la trame du jeton, une valeur qui est le temps dont elle dispose pour ses transmissions. Cette valeur est décomptée de façon indépendante du reste des opérations. Si la machine doit émettre, elle vérifie que le temps qui lui reste est positif, et si c'est le cas, elle émet sa trame de données. Si le temps qui lui reste est négatif ou nul, elle doit alors passer le jeton.

                        Une machine qui a fini de transmettre (ou qui ne souhaite pas le faire), transmet alors, quel que soit le temps qui lui reste, le jeton à la suivante.

 

                        La circulation du jeton est réalisée à l'aide de 3 registres, un registre désignant la machine active (TS ou THIS STATION), les deux autres désignant respectivement les machines précédentes (PS ou PREVIOUS STATION) et suivante (NS ou NEXT STATION).

                        Comme on le voit certaines machines n'entrent pas dans la boucle du jeton, elles sont tout de même présentes sur le bus et peuvent donc recevoir des données. Toutefois, elles n'ont pas droit à la parole.

                        Il existe un processus de priorité qui permet de fixer un ordre prioritaire dans le transfert des données. Les trames de niveau prioritaire sont émises en premier et sans restriction. Pour les niveaux inférieurs, on utilise alors 2 registres internes aux machines qui sont TREJ (Temps de Rotation Effectif du Jeton) et OTR (Objectif de Temps de Rotation du jeton). Le registre OTR n'a pas de valeur unique et chaque niveau de priorité dispose d'une valeur spécifique.

 

                        Une fois que les machines prioritaires ont transmis leurs données, le niveau de priorité directement inférieur prend la parole, la machine disposant du jeton vérifie que TREJ<OTR, si tel est le cas, le niveau de priorité a le droit au dialogue. Lorsqu'il aura terminé son tour, la même opération se répétera pour les niveaux inférieurs. Lorsque TREJ devient supérieur à OTR, on rend à nouveau la main au niveau le plus prioritaire.

 

                        Il faut cependant bien comprendre que la circulation du jeton est un mode normal de fonctionnement, mais qui dit mode normal, dit fonctionnement exceptionnel, comme l'initialisation, la perte du jeton, l'insertion de nouvelles machines ou encore, la duplication du jeton.

 

·      Commençons par l'initialisation de la boucle. La machine qui souhaite créer un jeton émet une trame spéciale CLAIM TOKEN (demande de jeton) et écoute la ligne, si au bout d'un certain temps, elle ne repère aucune activité sur la ligne, elle est alors dépositaire du jeton.

 

·      Dans le cas où une nouvelle machine souhaiterait s'insérer dans la boucle, périodiquement, les machines déjà connectées lancent des trames spéciales : SOLLICIT SUCCESSOR (sollicite successeur). Cette trame fixe les numéros autorisés du ou des successeurs en précisant entre quelles adresses ils doivent se trouver grâce à NS et TS (seule les machines entre NS et TS ont le doit de répondre). Il y a alors 3 cas :

·      Pas de réponse, alors le trafic reprend son cours normal.

·      Une seule réponse sous forme d'une trame spéciale SET SUCCESSOR (déclaration de succession), dans ce cas, la machine qui a émis la trame de sollicitation modifie son NS pour se connecter à la nouvelle machine. Puis le jeton change de main.

·      Plusieurs réponses d'où collision, alors la machine qui a émis la trame spéciale émet une nouvelle trame spéciale RESOLVE CONTENTION (résolution de conflit) qui permet à 4 machines de répondre grâce à un découpage temporel de la trame en 5 parties, l'une d'en-tête et 4 autres vides permettant à 4 machines de s'exprimer. Si cela ne suffit pas, un système permet par des itérations de décomposer pour avoir au maximum 4 réponses.

 

·      Si après avoir proposé à la machine suivante, le passage du jeton, la machine émettrice ne reçoit pas de réponse valable, elle juge alors qu'il y a eu une erreur de transmission et elle recommence sa proposition. Si après plusieurs essais, elle n'a toujours pas de réponse valable, elle considère son successeur comme en panne. Elle envoie alors la trame spéciale WHO FOLLOWS (qui suit ?) en précisant la valeur de NS. La machine qui constate que le NS présenté correspond à son PS répond en envoyant la trame spéciale SET SUCCESSOR (déclaration de succession). Si aucune réponse ne revient, la machine considère que la boucle logique est rompue et passe en mode insertion de station dans la boucle pour redéfinir le bouclage. Si alors, il n'y a aucune réponse, la machine se considère comme déconnectée et passe en écoute passive. Charge alors à la couche d'application de résoudre les éventuels problèmes.

 

·      La détection d'une duplication du jeton ne peut se réaliser que lorsque suite à l'envoi de WHO FOLLOWS ou SOLLICIT SUCCESSOR, la réponse n'est pas la trame SET SUCCESSOR. La machine considère alors son jeton comme non valable et attend le suivant.

 

                        Bien entendu, ce n'est qu'une vision exhaustive des erreurs qui peuvent se présenter, mais elle permet de comprendre un peu les techniques que l'on retrouve sur la majeure partie des Réseaux en anneau ou à boucle logique.

 

                                   Les protocoles à scrutation (polling).

 

                        Les protocoles à scrutation sont très utilisés dans les Réseaux de capteurs (bien que non normalisés). On considère qu’il en existe 2 grands types.

 

                        Les procédés à scrutation simple fonctionnent sur la base de l'interrogation cyclique de toutes les machines, une par une, par le maître. Lorsqu'une machine souhaite communiquer avec une autre, elle attend que le maître lui propose la parole, et lorsqu'elle l'obtient, elle dispose de la parole de façon exclusive pendant un certain laps de temps. Puis le maître donne la parole à la machine suivante.

 

Les procédés de scrutation adaptative (ou probing) fonctionnent sur le même principe que ceux dépeint précédemment, à 2 exceptions près.

·      D'une part, le maître interroge toutes les machines en même temps et obtient alors la réponse des machines sur une autre trame, où chaque machine dispose d'une petite tranche temporelle lui permettant de s'exprimer.

·      D'autre part, le temps de parole est alors donné à chacune des machines, ayant exprimé un désir de communication, en découpant le temps total de parole autorisé par le nombre de machines souhaitant parler.

                        Ces 2 modes de scrutation sont très intéressants puisque qu'ils permettent de disposer d'un Réseau "temps réel" et que certains d'entre eux peuvent, grâce à ces processus de scrutation, détecter les machines ajoutées ou ôtées du Réseau. Nécessitant très peu de signaux de contrôle, ils sont plutôt utilisés en atelier où ils permettent de relier des capteurs disposant d'interfaces très limitées.

 

                                               Outils indispensables. 

                        Dans le cadre de l'utilisation d'un Réseau, il convient de définir des outils qui permettent de définir comment se comporte notre Réseau. On a déjà vu, à ce titre, la notion d'efficacité pour le protocole CSMA/CD, envisageons maintenant des outils plus généraux.

 

                                               Pourcentage d'occupation. 

                        Le pourcentage d'occupation, c'est le nombre de bits transmis durant un certain laps de temps divisé par le nombre théorique maximum de bit transmis durant ce même laps de temps. Par exemple, si en 10 minutes je transmets 8Mbits sur un Réseau Ethernet standard, alors que j'aurais pu en transmettre 6Gbits, j'ai donc utilisé 8Mbits / 6Gbits = 0,133% de la bande passante du Réseau.

 

                                               Efficacité du codage.

                        C'est le rapport entre le nombre de bits informatifs et la taille de la trame. Ainsi pour le protocole RS232, avec 1 bit de start, 1 bits de parité, 8 bits de données, et 2 bits de stop, l'efficacité du code est 8bits / 12bits = 66,6%

 

                                               Débit informatif maximum.

                        Le débit informatif maximum c'est le débit du Réseau multiplié par l'efficacité du codage et par l'efficacité du Réseau. Par exemple, un Réseau Ethernet avec une efficacité de 66,6% et une efficacité de codage de 85% a un débit réel de

10Mbit/s * 0,666 * 0,85 = 5,61Mbit/s.

 

                                               Débit informatif réel. 

                        Le débit informatif réel, c'est le débit résultant de l'occupation du Réseau et du débit informatif maximum. En reprenant les exemples précédents, on a un débit informatif réel de 5,61Mbit/s * 0,133% = 7,4Kbits/s.

 

 

                        Généralement l'étude d'un Réseau consiste à analyser ces différents paramètres et en déduire si il convient de faire évoluer ou pas le lien en question.

                        Les protocoles pour topologies de type anneau.

 

                                   Les anneaux à jeton.

                        La technique de l'anneau à jeton est un principe déterministe qui permet à chaque machine de parler quand son tour est arrivé. Il n'y a donc pas de mise en concurrence des machines sur le Réseau. Cette technique permet d'accéder à des fonctions temps réel.

 

                        La grande différence entre les bus à jeton et les anneaux à jeton vient essentiellement de la non-distribution des fonctions entre les machines puisque la machine génératrice du jeton est aussi la machine chargée du contrôle de l'anneau, il y a donc une machine prépondérante, on l'appelle le moniteur. Ce dernier est élu et est chargé de détecter les pannes d'autres machines (ou leur déconnexion) en contrôlant le nombre de fois où il va voir passer une même trame devant lui, au moyen d'un FLAG nommé M pour moniteur.


 

 

 

                                   Légende :

 

·      Etape 1 : présentation de l'anneau. Les machines A et D veulent parler à B.

·      Etape 2 : le jeton est disponible.

·      Etape 3 : le jeton est disponible.

·      Etape 4 : D a pris le jeton et placé ses données dans la trame, le jeton est indisponible.

·      Etape 5 : le jeton est indisponible.

·      Etape 6 : B a copié les données dans son registre, le jeton est indisponible.

·      Etape 7 : le jeton est indisponible.

·      Etape 8 : D a rendu le jeton et vidé la trame, le jeton est disponible.

·      Etape 9 : A a pris le jeton et placé ses données dans la trame, le jeton est indisponible.

·      Etape 10 : B a copié les données dans son registre, le jeton est indisponible.

·      etc.

                                               Gestion des priorités.

 

                        On dispose aussi d'un processus permettant de définir un niveau de priorité, comme pour les bus à jeton. Toutefois, on trouve ici une différence importante entre ces 2 protocoles, puisqu'il n'y a pas d'objectif temporel, mais une simple réservation.

 

                        On relève 2 types de priorités, d'une part la priorité du jeton (PJ), d'autre part, la priorité de la trame (PT) émise par une machine. On peut effectuer une réservation grâce au registre PR (priorité requise).

 

                        Lorsqu'une machine souhaite émettre, elle attend le passage du jeton :

 

·      Si le jeton est libre, elle regarde PJ

·      Si PJ > PT, elle regarde PR

·      Si PR ³ PT, elle le laisse passer.

·      Si PR < PT, elle copie la valeur de PT dans PR.

·      Si PJ £ PT, elle prend possession du jeton et place ses données.

·      Si le jeton est occupé, elle regarde PR

·      Si PR ³ PT, elle le laisse passer.

·      Si PR < PT, elle copie la valeur de PT dans PR.

 

Lorsque la machine qui disposait du jeton, fini sa tâche, elle place alors la valeur de PR dans PJ puis libère le jeton. La machine qui a placé la valeur de PR pourra alors récupérer le jeton.

 

                        Pour le moniteur lorsqu'une trame passe devant lui, il place M à 1, s'il voit repasser le jeton avec M à 1, il le libère. Donc les machines lorsqu'elles rendent le jeton, éliminent aussi M.

                                               Exemple :

 

Sur un anneau de 3 machines : M1, PT=1 ; M2, PT=3 ; M3, moniteur, PT=4.

Toutes les machines veulent parler. M3 crée le jeton, sans l'utiliser.
 

Contrôle d'accès de la trame : PJ.T.M.PR (T=0 : jeton libre, T=1 : jeton occupé)

avant M1

 

avant M2

 

avant M3

0.0.0.0

®

1.1.0.0

®

1.1.0.3

1.1.1.4

®

4.0.0.0

®

4.0.0.3

4.1.0.3

®

4.1.0.3

®

4.1.0.3

3.0.0.0

®

3.0.0.0

®

3.1.0.0

3.1.1.0

®

3.1.1.0

®

0.0.0.0

         

                        Il faut aussi chercher à analyser comment le Réseau gère la déconnexion des machines ou des problèmes de circulation. Sur détection d'une erreur de transmission, le moniteur envoie une trame spéciale RING PURGE (purge de l'anneau) pour réinitialiser l'interface Réseau de toutes les machines de l'anneau. Si l'erreur persiste, on effectue une nouvelle élection du moniteur, et si l'erreur persiste encore, la trame BEACON est émise commandant à toutes les machines de se placer en auto test.

 

Après l'auto test, les machines n'ayant pas détecter d'anomalie se reconnectent et élisent un nouveau moniteur.

                                               Efficacité des protocoles d'anneau à jeton.

 

                        Un anneau, tel qu'on le représente, c'est un ensemble de câbles et de machines, chaque machine lit un bit puis, une période d'horloge plus tard, le recopie sur la ligne (il y a une ligne en entrée et une ligne en sortie). On peut donc définir le nombre de bits contenus dans l'anneau, c'est la taille de la ligne exprimée en bit (, où L est la longueur de la ligne, v la vitesse de propagation et D le débit), plus le nombre de station de l'anneau. On nomme cette valeur RING LATENCY, elle permet de définir l'efficacité du Réseau.

 

                        Il faut se rendre compte que généralement les anneaux sont constitués d'une centaine de machine, et font quelques Km de long. Donc leur capacité est de l'ordre de 300 bits, or, on verra plus loin pourquoi, la taille de la trame est en général de 1 000 à 10 000 bits. On comprend que si d'un coté, l'anneau ne peut contenir que 300 bits et que de l'autre, on souhaite émettre 10 000 bits, il convient qu'une machine effectue le stockage des 10 000-300 bits à émettre. Cette machine est tout simplement l'émettrice du message.

 

                        Il faut impérativement que quel que soit l'anneau, le jeton tienne entièrement dans l'anneau. Le jeton contenant 24 bits, et comme on ne peut présupposer de la taille de l'anneau, le moniteur dispose d'une mémoire de 24 bits, cette fonction s'appelle la mémoire de correction de contenance ou LATENCY BUFFER.

                        L'autre notion à prendre en compte est le temps d'attente avant l'émission. Statistiquement, quand aucune machine ne souhaite parler, il est égal à la moitié de la contenance de l'anneau divisée par le débit.

 

                        On définit donc l'efficacité de la façon suivante :

 

 

STI représente le temps de transport des informations

et délai le temps d'attente du jeton :

Délai = (RING LATENCY + LATENCY BUFFER)

 

                        D'où le tableau suivant :

 

 

 

Débit

 

Longueur de la trame

 

nombre de machines

 

Efficacité

 

 

anneau de 10Km

 

 

4Mbit/s

 

10 000 bits

 

50

 

96,04%

 

 

4Mbit/s

 

10 000 bits

 

100

 

95,36%

 

 

 

 

 

 

 

 

 

 

 

4Mbit/s

 

1000 bits

 

50

 

70,82%

 

 

4Mbit/s

 

1000 bits

 

100

 

67,29%

 

 

 

 

Cette illustration est la copie de celle présentée par P Millet dans son ouvrage "transmission et Réseaux locaux", édité par MASSON.

 

                                               Exemple de calcul d'efficacité.

 

                        Anneau de 10 000m avec un débit de 4Mbit/s et une vitesse de propagation de 200 000Km/s, avec 50 machines.

 

Occupation du Réseau :     104 * 4.106 / 200.106 =4.1010 / 2.108 = 200 bits

                                               50 machinesÞ50 bits + 24 de LATENCY BUFFER.

                                               D'où au total 274 bits soit 274 / 4.106=68,5µs

                                               D'où un délai de 3*68,5/2=103µs.

 

Efficacité pour 1000 bits/trame :

                                               1000/4.106=250µs

                                               Eff = 250 / (250 + 103) » 71%


 

                                   Protocole d'anneau à multiplexage temporel.

 

                        Le principe de ces anneaux est assez particulier, les différentes machines disposent d'un laps de temps constant pour émettre, et la trame est constituée de l'ensemble de ces messages, il y a donc un découpage temporel de la trame pour que chaque machine puisse s'exprimer.

 

                        Ce protocole n'est pas normalisé, toutefois, il est utilisé par différents Réseaux de terrain. Je n'irai pas plus loin sur ce type de protocole.

 

                        Choix d'un protocole MAC.

 

                        Comme on a pu s'en rendre compte, il n'existe pas de "Réseau à tout faire", on se doit donc de définir le domaine d'utilisation d'un Réseau.

 

                        Dans le cas d'un Réseau local industriel, de type SENSOR BUS, on utilise généralement des topologies de type bus, avec des protocoles à probing ou à pooling, rarement des protocoles à jeton ou à collision (dans ce dernier cas, on utilise généralement des bus sous exploités de 70%, c'est à dire avec peu de machines et sur des distances réduites pour éviter des délais trop longs ou des saturations). Les Réseaux les plus utilisés sont CAN, FIPIO, BITBUS, BATIBUS ou AS-i.

 

                        Pour les structures de type DEVICE BUS, on utilise des topologies en étoile, en bus ou en anneau, généralement, et pour des raisons de coût, on a tendance à utiliser des protocoles à collision (toujours en les sous exploitant de 50 à 60%). Les Réseaux les plus utilisés sont WORLDFIP (ou FIPWAY), CAN, MODBUS LONWORKS, ETHERNET ou PROFIBUS.

 

                        Pour les structures de type FIELD BUS, on utilise des topologies en étoile, en bus (avec des protocoles à collisions déterministes ou en sous exploitant de 50%) ou en anneau. Les Réseaux les plus utilisés sont FAST-ETHERNET, TOKEN-RING ou FACTOR.

 

                        Pour les structures de type DATA BUS, on utilise des topologies en étoile (avec des protocoles à collision déterministe ou sous exploités de 50%), en anneau ou maillé. Les Réseaux les plus exploités sont TCP-IP sur ETHERNET GIGABIT, ATM ou FDDI.

 

                        Comme vous le constatez, il n'existe pas à proprement parler de topologie ni de protocole unique adaptée à une application. De plus, il faut aussi considérer que l'on a de plus en plus tendance à multiplier les Réseaux pour limiter les risques liés à la défaillance d'une machine. On remarque quand même que les topologies en bus qui sont assez économiques sont très utilisées pour des applications industrielles, mais dès que le nombre de machines devient important, les bus à collision sont abandonnés au profit des anneaux ou des Réseaux maillés, plus souples à utiliser et plus fiables.