Les Réseaux d'Interconnexion (MAN) : FDDI, FDDI-II et DQDB  
 

 
FDDI : Fiber Distibuted Data Interface
DQDB : Distributed Queue Dual Bus

Les MAN (Metropolitain Area Network) diffèrent des LAN par leur finalité qui est l’interconnexion de RLE pouvant appartenir à des entités différentes. Ils sont cependant utilisables en tant que réseaux locaux à haut débit (100 Mbps ou plus) ou de réseaux longue distance.

Les deux technologies concernées sont FDDI et DQDB. Elles sont sérieusement concurrencées au niveau local par le Fast Ethernet qui à l’avantage d’utiliser les infrastructures déjà existantes.

FDDI : Fiber Distibuted Data Interface

Généralités

La technique FDDI est d’origine ANSI (X3T9.5), puis a été normalisée par l’ISO (9314). C’est un réseau en double anneau fondé sur une infrastructure fibre optique multimode. Le débit nominale est de 100 Mbps pour une distance maximale de 100 km. FDDI supporte jusqu’à 1000 stations distantes l’une de l’autre de moins de 2 km. Il existe une version de FDDI sur paire torsadée (TPDDI : Twisted Pair Distributed Data Interface) qui autorise des débits de 100 Mbps sur 100 m.

La méthode d’accès est similaire à celle du réseau 802.5 version 16 Mbps. Chaque station doit posséder l’unique jeton pour émettre puis pour générer un nouveau jeton. Les différences avec la version 802.5 sont qu’il n’y a pas de station monitrice, que la synchronisation ne se fait pas par une horloge unique (le réseau est plésiochrone) mais par une mémoire tampon (EB : Elasticity Buffer) qui limite les trames à 4500 octets, et enfin que les données sont séparées en deux catégories distinctes, les données urgentes à contrainte de débit (classe synchrone) et les données sporadiques à débit variable (classe asynchrone).

Un préambule de 6 à 8 octets permet de synchroniser les horloges d’émission et de réception.

Principe du jeton temporisé

Quatre variables d’état contrôlent le jeton temporisé (Timed Token Protocol) :
- TTRT (Target Token Rotation Time) : C’est le temps maximum au bout duquel une station doit recevoir le jeton. A l’initialisation de l’anneau, chaque station propose une valeur maximale admissible de TTRT et la plus faible valeur proposée est retenue, elle correspond à la station qui a les plus fortes contraintes de trafic. Chaque station a un temps d’émission Ts réservé à l’émission de données de la classe synchrone tel que TTRT > Ts.N où N est le nombre de stations actives.
- La variable LC (Late Counter) autorise (LC = 0) ou interdit (LC = 1) l’émission de données asynchrone. LC est mis à 0 si le jeton arrive en avance. Si le jeton arrive en retard, le station réinitialise l’anneau.
- TRT (Token Rotation Timer) : Il est initialisé à la valeur de TTRT à la reception du jeton si LC = 0 puis décroit linéairement jusqu’à l’arrivée effective du jeton. Si le jeton arrive avant l’expiration du TRT, la station peut émettre des données asynchrone pendant le temps restant (THT) puis des données synchrone pendant le temps Ts.
- THT (Token Holding Timer) : Il mesure le temps d’émission de données asynchrones. Quand le jeton arrive en avance, THT est initialisé à TRT et TRT est initialisé à TTRT.

Protocoles et architecture

Les protocoles

La couche physique est scindée en 2 sous-couches, PMD (Physical Medium Dependent) adapte les caractéristiques des organes d’émission en fonction du support physique, et l’autre gère le protocole physique (PHY : Physical layer protocol) et s’occupe du codage et de la synchronisation.

La couche MAC est chargée des fonctions habituelles (gestion du jeton, temporisation …). Le protocole SMT gère l’insertion et le retrait des stations, la configuration du réseau et le traitement des erreurs.

Codage 4B/5B

On utilise un codage Manchester de type NRZI (No Return to Zero Inverted). Il y a une transition à chaque 1 et pas de transition pour un 0. Cependant, pour éviter la perte de la synchronisation lors de longues séquences de zéros, FDDI utilise un double codage (code dit 4B/5B) : à chaque séquence de 4 bits, on fait correspondre une séquence de 5 bits telle qu’il existe au moins deux transitions par symbole.

Le codage de 5 bits permettant 32 combinaisons pour n’en représenter que 16, certaines combinaisons serviront de codes significatifs de l’état du réseau :

Format des trames FDDI

Le champ Frame Control indique le type de trame.

Le champ FC permet de distinguer le type de transfert effectué (bit C, classe de transfert). La longueur du champ adresse est précisé par le bit L. Les bits TT indiquent le type de trame et sont complétés par les bits ZZZZ qui peuvent éventuellement indiquer un niveau de priorité dans les trames de données.

Les champs d’adresses DA et SA peuvent donc être soit longs (6 octets ou 12 symboles), soit courts (2 octets ou 4 symboles) selon que le champ L est à 0 (adresse sur 16 bits) ou à 1 (adresse sur 48 bits).

Enfin, comme en 802.5, le champ Frame Status comporte les indications d’erreur, d’adresse reconnue et de trames recopiées. Il est composé d’au moins 3 symboles, E (erreur détectée), A (adresse reconnue) et C (trame recopiée). Ces symboles sont à 0 au départ de la trame. Dans le cas où aucune station n’a détecté d’erreur, que 3 stations se sont reconnues dans l’adresse (adresse de groupe) mais que seulement 2 ont correctement recopiées la trame, le champ FS est celui indiqué sur la figure ci-dessus.

Architecture de l’anneau

Les stations peuvent être à simple ou à double attachement selon qu’elles sont directement reliées à l’anneau principal ou non.

Le double anneau autorise, en cas de défaillance d’un nœud FDDI, le rebouclage sur l’anneau secondaire. Pour les stations à simple attachement, c’est le concentrateur qui assure cette fonction.

A l’initialisation, sur détection d’inactivité, une station emet une trame Claim Token qui comporte l’indication du TTRT revendiqué. Chaque station compare la valeur du TTRT avec celle qu’elle désire. Si la valeur qu’elle désire est inférieure à celle proposée, la station substitue son TTRT à celui proposé. La station gagnante (celle qui voit revenir sa proposition) génère le premier jeton pour informer les stations du TTRT retenu. Puis elle emet les données à partir du deuxième jeton.

Une station qui a des données à émettre attend la réception du jeton. De même que pour le Token Ring, c’est la station qui émet une trame qui la retire de l’anneau lorsqu’elle lui revient.

Même si FDDI offre une bande passante minimale aux données des différentes stations (classe synchrone), elle ne garantit pas une récurrence temporelle entre les différentes émissions. Cela empêche FDDI d’assurer les transfert isochrone (voix et vidéo).

Pour pallier cette limitation, une évolution de FDDI a été proposée.

FDDI–II

FDDI–II multiplexe sur le support une voie asynchrone et une voie synchrone en mode paquet et une voie isochrone en mode circuit.

Si le trafic généré est uniquement du type paquet, une station FDDI-II fonctionne en mode de base. Lorsque du trafic paquet et du trafic isochrone sont multiplexés, elle fonctionne en mode hybride.

L’architecture générale des protocoles FDDI-II est le suivant :

Une station maître (Cycle Master) génère une trame ou cycle FDDI-II toutes les 125 µs, soit 12500 bits. Ce cycle est le suivant :

Un préambule de 2 à 8 symboles permet la synchronisation entre cycles.
L’en-tête de cycle (Cycle Header) de 24 symboles permet de numéroter les cycles et permet de préciser pour chaque canal WBC est utilisé en mode isochrone ou en mode paquet.

Le canal DPG (Dedicaced Packet data Group) de 12 octets d’un débit de 768 Kbps est notamment utilisé par la couche SMT pour la signalisation.

Les 16 canaux WBC (Wide Band Channel) de 96 octets sont utilisés en mode isochrone ou paquet. Le débit nominal de chaque canal est de 6,144 Mbps, ce qui fait un débit synchrone de 98,304 Mbps pour l’ensemble des canaux. Ces 16 canaux sont constitués d’un entrelacement d’octets répartis en 96 cyclic group.

Cette norme a été proposée à l’IEEE 802.6 qui a finalement préféré le protocole DQDB.


DQDB : Distributed Queue Dual Bus

Développé par une université australienne et soutenu par Telecom Australia, ce protocole a été normalisé par l’IEEE 802.6 et l’ISO 8802.6 comme norme de réseau métropolitain. Il a été développé parallèlement à ATM et utilise le format des cellules de 53 octets dont 48 de charge utile.

DQDB permet des transfert isochrone et asynchrone en mode connecté ou non à des débits de 45 à 155 Mbps. Une version 622 Mbps devrait être disponible prochainement.

Architecture et fonctionnement

DQDB utilise un double bus unidirectionnel. Sur chaque bus, une tête de bus (HoB, Head of Bus) génère une trame toutes les 125 µs contenant n slots (cellules de 53 octets). Le nombre n de slots dépend du débit du réseau. Les têtes de bus sont généralement situées sur une même station.

Le premier bit de chaque slot (bit Busy) indique si le slot est libre ou occupé.

Les stations peuvent lire ou écrire des données au vol dans une cellule mais c’est la fin de bus qui a la fonction d’absorption des trames. Chaque station écrit dans le bus qui correspond à la direction de la station avec laquelle elles veulent communiquer, sauf en cas de broadcast où les données sont émises sur les deux bus.

Chaque station qui a des données à émettre les dépose dans un slot vide de manière statistique (données asynchrones) ou pré-affectée (pré-arbitrage pour les données isochrone).

Transfert isochrone

L’allocation des cellules est gérée par la tête de bus. Un lien virtuel (VC, Virtual Connection) est établi à l’aide d’un protocole de signalisation (Q.931 du RNIS bande étroite) entre les stations participant à l’échange.

La tête de bus alloue une ou plusieurs cellules PA (Pre-Arbitrated) selon le débit requis par la station demandant l’établissement du lien, chaque cellule garantissant un débit de 3 Mbps. DQDB peut même multiplexer plusieurs connexions dans une même cellule, chaque octet garantissant un débit de 64 Kbps.

Cette connexion est entièrement déterminée par un identifiant de circuit (VCI, Virtual Circuit Identifier) et une position dans une cellule.

Transfert asynchrone

Le trafic asynchrone est géré par chaque station. En mode connecté, c’est la station qui fait la demande de connexion qui attribue le VCI. Une plage de VCI disponible est attribuée à chaque station à cet effet. En mode non connecté, les bits du VCI sont tous positionnés à 1.

Une station désirant émettre fait une requête de réservation sur le bus allant dans la direction opposé à la station cible. Pour situer la station cible, elle lui adresse un message sur les deux bus, et en fonction du bus d’où arrive la réponse, elle sait de quel côté elle est.

Si une station fait une requête sur le bus B pour obtenir N slots sur le bus A, la station suivante (et donc celle qui la précède dans l’autre sens) laisse passer N slots vide sur le bus A avant de déposer ses données dans le slot vide N+1.

Ce système n’est pas équitable car les stations en amont émettent leur requête de réservation avant les autres. Le mécanisme « Bandwidth Balancing Mechanism » tend à corriger ce défaut en obligeant les stations ayant émis N segments à laisser passer une cellule vide.

Architecture des protocoles

La couche MAC comprend un ensemble de fonctions spécifiques à chaque type de transfert : MCF pour un service asynchrone sans connexion (transfert de données entre ordinateurs), COF pour les transfert asynchrones en mode connecté (applications conversationnelles) et enfin ICF pour le transfert isochrone (débit constant pour la voix et la vidéo).

L’accès au support partagé est géré par deux entités, celle qui s’occupe du trafic isochrone (PAF) et celle qui s’occupe du trafic asynchrone (QAF).

On rajoute un en-tête aux trames MAC pour donner les trames IMPDU qui sont ensuite découpées en DMPDU de 48 octets pour donner les cellules DQDB.

 Format de la trame IM-PDU

Le format de la trame IM-PDU qui encapsule la trame MAC-SDU est le suivant :

Le Common PDU Header est un en-tête commun aux modes connecté et non connecté :
- l’octet RES est réservé pour une utilisation ultérieure.
- l’octet BE-tag (Beginning-End tag) correspond à la numérotation modulo 256 des trames  IM-PDU et est utilisé pour le réassemblage.
- le champ BA-size (Buffer Allocation size) précise au récepteur la place à réserver en mémoire pour pouvoir recevoir toute la SDU.

Le champ MCP (MAC Convergence Protocol) n’est présent que pour le mode non connecté. Il contient :
- les adresses source et destination (SA et DA).
- la longueur du champ de bourrage de 0 à 3 octets (PL : Pad Length).
- le type de SDU (champ PI : Protocol Identifier). Il peut s’agir d’une SDU LLC ou de gestion.
- la qualité de service en terme de délai (Delay) et de suppression lors de congestion (Loss). Le bit CIB (CRC Indicator Bit) indique si le champ CRC est utilisé ou non.
- la longueur du champ d’extension d’en-tête en nombre de mots de 32 bits (HEL : Header Extension Length).
- Un champ de temps de vie (Bridging) qui, en cas d’interconnexion de réseaux DQDB, est décrémenté de 1 à chaque passage de pont jusqu’à ce que sa valeur atteigne 0 auquel cas la trame est détruite.

Le format de l’extension d’en-tête (Header extension) n’est pas défini à ce jour. Le champ PAD permet d’aligner l’IMPDU sur un multiple de 4 octets, sa longueur est précisée par le champ PL. Le champ CRC32 est facultatif et validé par le bit CIB.

La partie commune à la fin de la trame IM-PDU comporte un octet non utilisé RES, un octet BE-tag qui est la copie exact de celui d’en-tête ainsi que 2 octets Length qui indiquent la longueur totale des champs MCP Header, Header extension, Données, PAD et CRC. Cette indication autorise un contrôle lors du réassemblage.

Le champ d’adresse est particulier car DQDB peut utiliser plusieurs formats d’adresse :

Format de la trame DM-PDU

Format de la cellule DQDB

L’octet de contrôle d’accès (ACF) fournit les informations suivantes :
- le bit BB (Busy Bit) indique si la cellule est libre (BB = 0) ou occupée.
- le bit ST (Slot Type) indique si le slot est de type QA (ST = 0) ou PA.
- le bit PSR (Previous Slot Recieved) est mis à 1 par la machine suivant le destinataire d’un slot afin qu’il puisse être réutilisé immédiatement (non utilisé pour le moment).
- le bit Res est réservé à une utilisation ultérieure.
- les quatre bits REQ (Request bit) permettent de formuler des requêtes de réservation suivant un certain niveau de priorité (REQ3, priorité haute).

 

-= From guill.net =-