Les réseaux Token-ring Les origines ½ Développés par IBM En 1981 : premier prototype En 1985 : ratification norme IEEE 802.5 à 4 Mbps En 1989 : ratification fonctionnement à 16 Mbps Les évolutions ½ Vers le haut débit En 1990 : apparition des réseaux Dedicated Token Ring (DTR)» Transmission full-duplex entre une station et un commutateur Token-Ring En 1998 : apparition des réseaux High Speed Token-Ring» Version à 100 Mbps des réseaux DTR ½ Concurrence très forte avec Ethernet Les interfaces et les équipements sont comparativement trop chers Token-ring apparaît de plus en plus comme une solution du passé 1 Architecture protocolaire Couches OSI et normalisation IEEE 802.5 ½ Définition des couches Physique et Liaison Couche Réseau Paquet Couche Liaison Sous-couche LLC (Logical Link Control) Sous-couche MAC (Medium Access Control) IEEE 802.2 IEEE 802.5 MAC LLC LLC Paquet Paquet MAC Couche Physique «Token-Ring» 2
En anneau Organisation logique ½ Quand une trame est émise, elle passe de station en station avant d arriver à destination Une trame émise par A à destination de D passe successivement par les stations B et C (par leurs cartes réseaux) avant d arriver en D 3 Organisation physique En étoile pour les réseaux les plus simples ½ Chaque station est reliée au port d une MAU (Multiple Attachement Unit) ou Token Ring Hub Port Lobe Port Ring IN Port Ring OUT MAU 4
Organisation physique En anneau d étoiles dans les cas plus complexe ½ Interconnexion en anneau des MAU via leurs ports Ring-In et Ring-Out ½ Avec au plus 250 stations au total dans l anneau global RI RO RI RO Répéteur Répéteur RO RI RO RI 5 Couche Physique Support de communication ½ Entre stations et MAU ou entre MAU UTP : au plus 100 m si Cat. 3 et 225m si Cat. 5 STP : au plus 400 m si Cat. 5 Fibre : au plus 2000 m entre MAU ½ Connecteurs IBM (DIX / DB9 côté station et hermaphrodite côté MAU) puis RJ-45 (des deux côtés) Mode de transmission ½ Code Manchester différentiel Bit à 0 : transition au début et au milieu du temps bit Bit à 1 : transition seulement au milieu du temps bit ½ Deux symboles de contrôle J : pas de transition pendant un temps bit K : une transition au début du temps bit 6
Couche Physique Code Manchester différentiel 0 1 0 1 1 0 0 1 J K t t 0 1 0 1 1 0 0 1 J K t t Deux signaux possibles pour la même séquence de bits Par rapport au code Manchester standard, permet de ne pas tenir compte du sens de branchement d une paire 7 Sous-couche MAC Objectif principal ½ Contrôler l accès au canal de transmission (Medium Access Control) pour éviter toute collision entre trames Une trame est émise par A à destination de D La trame passe par B Si B émet à ce moment là une trame à destination de A COLLISION 8
Origine des collisions Une même paire de fils ½ Pour transmettre les signaux depuis une station vers la MAU, ou inversement depuis la MAU vers une station Trame émise par A vers D MAU Trame émise par B vers A COLLISION = un signal est émis de la MAU vers B en même temps que B transmet un signal vers la MAU 9 Accès à jeton Principe de base ½ Une seule station à la fois peut émettre sur le support ½ Pour émettre, une station doit posséder le jeton (Token) Trame particulière ½ Pour éviter toute collision Il y a un seul jeton transmis de station en station ½ Pour garantir un droit équitable à émettre La possession du jeton est limitée dans le temps (peut permettre d émettre une ou plusieurs trames) Remarque ½ La gestion du jeton n est pas centralisée Il n y a pas de station «principale» ou «primaire» distribuant le jeton aux autres stations 10
Transmission de données Pour émettre une trame de données ½ Une station doit posséder le jeton Une trame de données émise circule le long de l anneau ½ En allant de station en station (via la ou les MAU) Toute station qui reçoit une trame de données ½ Teste et indique si elle est reçue correctement ½ Regarde si elle en est le destinataire Si oui, son contenu est transmis au niveau supérieur (sous-couche LLC, puis réseau) Dans tous les cas, elle transmet la trame reçue à la station suivante sur l anneau ½ Regarde si elle en est la source Si oui, elle retire la trame émise de l anneau Toute trame émise fait donc un tour complet de l anneau ½ Elle ne s arrête pas au destinataire Permet de contrôler la bonne réception de l information 11 La trame de jeton 1 octet 1 octet 1 octet Starting Delimiter (SD) J.K.0.J.K.0.0.0 Access Control (AC) End Delimiter (ED) J.K.1.J.K.1.I.E Priority 3 bits Bit T(oken) 1 bit Bit M(onitor) 1 bit Reservation 3 bits Voir plus loins pour les bits I et E 3 bits = 8 niveaux de priorité Jeton si 0 Autre si 1 0 à l émission, 1 après la traversée du Moniteur Actif (station contrôlant l anneau) Pas de champ permettant la détection d erreurs de transmission du jeton Un jeton erroné est un jeton perdu (voir gestion de l anneau) 12
Format général de trame Deux types de trame de même format ½ Trames LLC : contiennent des données utilisteurs ½ Trames MAC : trame de gestion de l anneau Starting Delimiter (SD) octet Access Control (AC) octet Frame Control (FC) octet MAC Destination Address = 4 octets MAC Source Address = 4 octets Routing Information à 30 octets Data Frame Check Sequence = 4 octets Ending Delimiter (ED) octet Frame Status (FS) octet Au moins 5*8 temps bits entre deux trames 13 Access Control Starting Delimiter (SD) octet Access Control (AC) octet Frame Control (FC) octet MAC Destination Address = 4 octets MAC Source Address = 4 octets Routing Information à 30 octets Priority 3 bits T(oken) 1 M(onitor) 1 bit Reservation 3 bits 0 à l émission 1 après la traversée du Moniteur Actif (station contrôlant l anneau) Data Frame Check Sequence = 4 octets Ending Delimiter (ED) octet Frame Status (FS) octet Au moins 5*8 temps bits entre deux trames 14
Frame Control Starting Delimiter (SD) octet Access Control (AC) octet Frame Control (FC) octet MAC Destination Address = 4 octets MAC Source Address = 4 octets Routing Information à 30 octets Frame MAC 0 0 Type of function 6 bits Permet de distinguer différents types de fonction réalisée par les trames MAC Data Frame LLC 0 1 Réservé 0 0 0 User Priority 3 bits Frame Check Sequence = 4 octets Ending Delimiter (ED) octet Frame Status (FS) octet Au moins 5*8 temps bits entre deux trames Niveau de priorité fixé par la sous-couche LLC supérieure (à usage non défini par la norme) 15 Frame Check Sequence Starting Delimiter (SD) octet Access Control (AC) octet Frame Control (FC) octet MAC Destination Address = 4 octets MAC Source Address = 4 octets Routing Information à 30 octets Voir partie cours «Réseaux Locaux Commutés» Data Frame Check Sequence = 4 octets Ending Delimiter (ED) octet Frame Status (FS) octet Au moins 5*8 temps bits entre deux trames Permet la détection d erreurs de transmission via un système de codage polynomiale avec un polynôme générateur normalisé de degré 32 (voir cours «Architectures et Protocoles» IUP1) 16
Frame Status Starting Delimiter (SD) octet Access Control (AC) octet Frame Control (FC) octet MAC Destination Address = 4 octets MAC Source Address = 4 octets Routing Information à 30 octets Data Frame Check Sequence = 4 octets Ending Delimiter (ED) octet Frame Status (FS) octet Au moins 5*8 temps bits entre deux trames Dans une même séquence de trames, mis à 1 (I = Intermediate) pour toutes les trames sauf la dernière Mis à 1 par une station qui détecte une erreur de transmission A C 0 0 A C I E A = à 0 au départ, mis à 1 si adresse destination reconnue C = à 0 au départ, mis à 1 si données copiées correctement par la station destination Les bits A et C sont dupliqués car ils ne sont pas pris en compte dans la détection des erreurs de transmission 17 Adressage MAC Caractéristiques de base ½ Système d adressage commun à tous les types de LAN Toute carte (Ethernet, Token-ring, FDDI) possède une adresse MAC ½ Une adresse MAC est codée sur 6 octets ou 48 bits Par convention, une adresse MAC est représentée par un X suivie de 6 paires de caractères hexadécimaux séparés par des tirets X 00-60-08-BD-7C-1E 1 bit 1 bit 22 bits 24 bits I / G U / L Adresse Constructeur Sous adresse Adresse individuelle (0) d un ES ou d un groupe (1) Adresse universelle (0) ou locale (1) 18
Adresses MAC universelles Gesion effectuée par l IEEE ½ Un constructeur de cartes dépose un formulaire et paie une inscription ½ L IEEE lui assigne un identifiant unique ou OUI (Organizationally Unique Identifier) de 3 octets Xerox X 00-00-00 3Com X 00-60-08 Intels X 00-90-27 ½ Voir «http://standards.ieee.org» pour le formulaire et les identifiants 19 Adresses MAC Token-Ring Quelques exemples ½ Adresse de diffusion pour les trames MAC de gestion de l anneau X C0-00-00-FF-FF-FF ½ Adresse pour atteindre le moniteur actif de l anneau X C0-00-00-00-00-01 ½ Adresse pour atteindre le serveur de paramètres (RPS = Ring Parameter Server) X C0-00-00-FF-FF-FF 20
Gestion de la priorité Principe de base ½ Quand une station reçoit le jeton, elle ne peut transmettre une trame Que si son niveau de priorité est supérieur ou égal à celui du jeton ½ Quand une station désire transmettre une trame avec un niveau de priorité élevé Elle réserve le niveau de priorité attendu Le prochain jeton remis sur l anneau contiendra ce niveau de priorité 21 Protocole de gestion Dans sa version la plus simple ½ Le champ «Access Control» possède Un sous-champ «P» (Priority) Un sous-champ «R» (Reservation) ½ Toute station «i» possède Une variable «E i» = priorité du message à émettre Une variable «S i» = priorité sauvegardée et à restituer (initialisée à 0) Dans sa version plus complexe ½ Toute station «i» possède Une pile de nouveaux niveaux de priorité affectés au jeton Une pile d anciens niveaux de priorité du jeton 22
Protocole de gestion Version simple ½ Réservation de la priorité Quand une station «i» voit passer une trame de données» Si (E i > R), alors «S i = R» et «R = E i», sinon ne rien faire ½ Remise du jeton Quand une station reçoit sa propre trame avec «R 0»» Elle remet le jeton sur l anneau avec «P = R», «R» restant inchangé ½ Prise du jeton Quand une station reçoit le jeton et dispose d une trame à émettre de priorité «E i»» Si «P = E i», alors elle prend le jeton, émet une trame avec «P = E i» et «R = S i», et affecte «S i» 23 Exemple de scénario (1) Deux trames de priorité» à émettre vers D E A S A Conditions générales du scénario 1. Toute station possédant le jeton peut transmettre une trame et une seule 2. Au départ, A possède le jeton et transmet sa première trame avec «P = R» = 2» à émettre vers D» à émettre vers D E C = 2 S C E B S B P R Sous-champ AC de la trame de données 24
Exemple de scénario (2) Encore une trame de priorité» à émettre vers D E A S A La trame passe par B qui fait une réservation de priorité = 2» à émettre vers D E B S B» à émettre vers D E C = 2 S C P R Sous-champ AC de la trame de données 25 Exemple de scénario (3) Encore une trame de priorité» à émettre vers D E A S A La trame passe par C qui fait une réservation de priorité supérieure et enregistre le niveau de réservation précédent = 2» à émettre vers D» à émettre vers D E C = 2 S C E B S B P R = 2 Sous-champ AC de la trame de données 26
Exemple de scénario (4) Encore une trame de priorité» à émettre vers D E A S A La trame arrive en D La trame revient en A qui remet le jeton dans l anneau avec le niveau de priorité réservé On garde le même R = 2» à émettre vers D E B S B» à émettre vers D E C = 2 S C P = 2 R = 2 Sous-champ AC du jeton 27 Exemple de scénario (5) Encore une trame de priorité» à émettre vers D E A S A Le jeton passe par B avec un niveau de priorité trop grand pour être pris (P > E B ) = 2» à émettre vers D» à émettre vers D E C = 2 S C E B S B P = 2 R Sous-champ AC du jeton 28
Exemple de scénario (6) Encore une trame de priorité» à émettre vers D E A S A Le jeton passe par C qui peut prendre le jeton et émettre sa trame avec P = E C et R = S C S C est par ailleurs remis à 0 = 2» à émettre vers D» à émettre vers D E C S C E B S B P = 2 R Sous-champ AC de la trame de données 29 Exemple de scénario (7) Encore une trame de priorité» à émettre vers D E A S A La trame passe par D, A, B et C sans changement. Elle est ensuite retirée de l anneau par C qui émet le jeton avec P = R» à émettre vers D E C S C E B S B P R Sous-champ AC du jeton 30
Exemple de scénario (8) Encore une trame de priorité» à émettre vers D E A S A Le jeton passe par A avec un niveau de priorité trop élevé pour être pris (P > E A )» à émettre vers D E C S C E B S B P R Sous-champ AC du jeton 31 Exemple de scénario (9) Encore une trame de priorité» à émettre vers D E A S A Le jeton passe par B qui peut prendre le jeton et émettre sa trame avec P = E B et R = S B S B est par ailleurs remis à 0 E B S B P R Sous-champ AC de la trame de données E C S C Après que B est retiré sa trame de l anneau, A pourra prendre le jeton de nouveau 32
Gestion de l anneau Les principes ½ Gestion centralisée avec deux types de station Un moniteur actif» Contrôle l intégrité de l anneau (circulation de 1 jeton et un seul) Des moniteurs en veille (standby monitor)» Surveillent la présence du moniteur actif» Sont capables de détecter une défaillance du moniteur actif et de prendre la relève ½ Initialisation de l anneau Nécessite l élection de la station qui sera le moniteur actif» La station élue sera la station active dont l adresse MAC est la plus grande» Une trame «Claim-Token» circule de station en station en mémorisant l adresse source la plus grande comme étant l adresse du nouveau moniteur actif 33 Fonctions du moniteur actif Ecoute Expiration du temporisateur d activité TAM? non Expiration du temporisateur de trame valide TVX? non M sur une trame ou jeton non M sur une trame ou jeton non Détection d un autre moniteur actif oui oui oui oui oui Produire une trame Active-Monitor-Present Emettre un nouveau jeton Mettre M à 1 et ré-initialiser TVX Détruire la trame ou jeton Se bloquer Créer un jeton Permet aux Standby Monitors de détecter une défaillance du moniteur actif (si aucune trame AMT n est reçue avant expiration du temporisateur TSM) Permet au Moniteur actif de détecter une trame tournant indéfiniment (station destination en panne ou modification des adresses source ou destination) non 34
Temporisateurs TAM = Timer, Active Monitor ½ Au niveau du moniteur actif, détermine la périodicité de transmission des trames AMP (Active Monitor Present) TSM = Timer, Standby Monitor ½ Au niveau des moniteurs en veille, arrive à expiration si aucune trame AMP n a été reçue (panne du moniteur actif) TVX = Timer, Valid Transmission ½ Au niveau du moniteur actif, arrive à expiration si aucune trame ne circule sur l anneau THT = Timer, Holding Token ½ Au niveau de toutes les stations, temps de garde maximale du jeton 35 Insertion d une station Quand une station est inactive ½ Aucun signal n est reçu depuis la MAU (port inactif) Quand une station veut joindre un anneau ½ Les étapes principales à suivre Elle commence par tester sa connexion avec la MAU» En transmettant une trame d adresse destination nulle (X 00-00-00-00-00-00)» Cette trame doit être retournée par la MAU à la station avant de passer à l étape suivante Elle regarde ensuite si un moniteur actif est présent sur l anneau» Si ce n est pas le cas, elle déclenche l élection d un moniteur actif Elle vérifie qu aucune autre station sur l anneau possède la même adresse MAC» En transmettant une trame MAC «Duplicate Address Test Frame» Si possible, elle inialise ses paramètres» En transmettant une trame MAC «Request Initialisation Frame» au serveur de paramètres (sans réponse, utilise des paramètres par défaut) 36
Détection de coupure Problème à résoudre ½ Isoler automatiquement une station En cas de panne de sa NIC ou du câble la reliant à la MAU Solution proposée ½ Transmission d une trame MAC (Beacon ou Radar) Par une station ne recevant plus d information de la station en amont sur l anneau (upstream station) ½ Question posée Comment connaître l adresse de la station en amont? 37 Notification de voisinage Apprentissage des adresses en amont ½ Initialisé par le moniteur actif En émettant une trame AMP (Active Monitor Present) avec A=C=0 ½ La première station qui reçoit la trame AMP (avec A=C=0) Fixe A=C=1 et répette la trame MAC «AMP» (transmise ensuite de station en station sans changement) Enregistre l adresse MAC source comme adresse de station en amont Transmet après un bref délai une nouvelle trame MAC «SMP» (Standby Monitor Present) avec A=C=0 et son adresse source ½ Toute station qui reçoit une trame SMP avec A=C=0 Fixe A =C=1, et répette la trame MAC «SMP» (transmise ensuite de station en station sans changement) Enregistre l adresse MAC source comme adresse de station en amont Transmet après un bref délai une nouvelle trame MAC «SMP» (Standby Monitor Present) avec A=C=0 et son adresse source 38
Gestion des coupures Beacon Process (processus radar) ½ Quand une station ne reçoit plus d information Transmet de manière périodique une trame «Beacon» à la station en amont ½ Les autres stations répettent les trames «Beacon» reçues ½ Si la station amont reçoit plusieurs trames «Beacon» Quitte l anneau et teste sa carte réseau ½ Si la station origine des trames «Beacon» reçoit ces dernières Considère que le problème a été résolu Relance un processus d élection du moniteur actif et de génération du jeton ½ Dans le cas négatif Quitte elle-même l anneau et teste sa carte réseau 39 Avantages Conclusion Token-Ring ½ Délai maximale d attente de transmission garanti Capital pour les applications temps réel ½ Auto-configuration automatique en cas de panne Inconvénients ½ Protocole complexe à mettre en œuvre ½ Protocole du passé sans nouvelle évolution majeure Malgré le passage à 100 Mbps (HSTR =High Speed Token Ring) Dans ce cas le protocole et les équipements développés se rapprochent de ceux développés pour l Ethernet commuté ½ Trop cher sur un plan économique Par comparaison avec les équipements Ethernet 40