Brevet FR2665040A1 — publié le 19920124

Procédé et dispositif de pontage entre réseaux locaux La présente invention concerne un procédé et un dispositif de pontage entre réseaux locaux mettant en oeuvre une politique de contrôle de flux adapté aux besoins des communications. Elle s'applique notamment à l'interconnexion de réseaux locaux ETHERNET au travers de réseaux radio VHF. L'informatique distribuée fait actuellement un large appel aux techniques de transmissions dites "réseaux locaux" qui sont des transmissions multilatérales entre usagers partageant un même support de transmission physique. Le développement de ces techniques a naturellement fait naître un grand besoin de moyens d'interconnexions entre ré- seaux locaux et ce suivant différents principes, c'est-à-dire à différentes couches de protocoles Ainsi la normalisation IEEE 802 X (ISO 8802 X) a rassemblé dans une même famille les réseaux locaux les plus répandus: Ethernet ( 802 3), Token bus ( 802 4), Token ring ( 802 5) et les projets 802 6, 802 9 etc et défini les services de base qu'offrent de façon standard ces réseaux, ces services étant implantés dans des couches MAC, MAC étant l'abréviation anglaise de "Medium Access Control". Une des techniques d'interconnexion entre réseaux de la famille 802 consiste de par ce qui précède à effectuer l'interconnexion des couches MAC pour réaliser des ponts entre réseaux. Classiquement un pont est formé par un équipement reliant deux réseaux locaux ou plus, identiques ou non, qui est capable de mémoriser sur chaque accès les trames type MAC valides qu'il reçoit et de les réémettre sur l'autre accès La principale propriété d'un pont est d'être filtrant, c'est-à-dire qu'il a la possibilité d'interpréter l'adresse du destinataire de chaque trame pour savoir d'après une table qu'il possède s'il y a lieu de traiter ou non la trame considérée Les travaux en cours pour l'élaboration de la norme IEEE 802 1 donnent au pont une capacité pour élaborer le routage des trames de façon dynamique en dialoguant avec les autres ponts du réseau et en modifiant de lui-même sa table de filtrage De la sorte, un pont doit pouvoir traiter une trame après l'autre sans les associer en réalisant une transparence par rapport au protocole de niveau supérieur et doit pouvoir prendre ses décisions au coup par coup sans garder un historique de la communication Naturellement ce dernier point peut être gênant lorsqu'en cours de fonctionnement apparaît une saturation du pont Malheureusement le phénomène de saturation apparaît d'autant plus souvent que le pont interconnecte des réseaux de capacités très différentes A titre d'exemple, en considérant un pont recevant des trames de dix communications qui désirent une capacité de 1 chacune et qui ne peuvent fonctionner en dessous de 0,5 Si ce pont ne peut à cet instant offrir qu'une capacité de 2 au total, il n'attribuera qu'une capacité de 0, 2 à chaque communication et par conséquence aucune communication ne sera opérante. Le but de l'invention est de pallier les inconvénients précités. A cet effet, l'invention a pour objet, un procédé de pon- tage entre réseaux locaux caractérisé en ce qu'il consiste à associer de façon implicite l'adresse de groupe du champs desti- nataires d'une trame MAC avec un descripteur d'associations contenu dans le pont, à effectuer dans le pont un contrôle de flux en discriminant le flux association par association en utilisant les informations du descripteur d'associations et à réémettre la trame sur le réseau suivant avec comme adresse destinataire soit l'adresse du ou des destinataires soit l'adresse de groupe de l'association dans le nouveau réseau. L'invention a également pour objet un dispositif pour la mise en oeuvre du procédé précité. D'autres caractéristiques et avantages de l'invention apparaîtront ci-après à l'aide de la description qui suit faite en regard des dessins annexés qui représentent: La figure 1 un mode de réalisation d'une architecture générale d'interconnexion par ponts entre stations appartenant à deux réseaux. Les figures 2 A et 2 B des exemples de ponts réalisés respectivement sur un réseau radio local et sur un réseau filaire local. La figure 3 un mode d'adressage en table. Les figures 4 A et 4 B des contenus de descripteurs d'association. La figure 5 un mode de réalisation d'un dispositif selon l'invention pour le pontage entre réseaux locaux. Le procédé et le dispositif de pontage selon l'invention qui sont décrits ci-après, ont pour principale propriété d'être parfaitement invisibles des entités ou stations communicantes, crest-à-dire d'avoir la propriété de pouvoir commuter des trames de messages ou de données provenant de deux réseaux distincts seulement lorsque cette commutation est nécessaire sans que celle-ci lui soit adressée explicitement par les entités communi- cantes des réseaux Ce résultat est obtenu en deux temps. Comme le montre la figure 1 chaque pont 1 i entre réseaux de stations S Ti dispose d'un minimum des fonctionnalités de niveaux 1 et 2 définis par la norme ISO/OSI et d'un dispositif de gestion d'adresses 2 pour assurer des contrôles sur les flux de données les traversant De plus les ponts i et stations ST. sont dotés d'une fonction d'administration Sur la figure 1 les symboles FO et AD des blocs 2 i et 3 désignent respectivement les fonctions opératoires de types traduction d'adresse ou contrôle et les fonctions d'administration de types gestion d'adresses. Cette architecture permet comme le montre les figures 2 A et 2 B d'établir des ponts sur des réseaux locaux de stations ST. très divers tels que réseau de radio local (RRL), réseau de véhicule local (RVL) ou encore réseau filaire local (REL), VR et VE figurent sur les figures 2 A et 2 B des ponts entre stations. Tout équipement entrant dans la composition d'un réseau dispose par nature de capacité limitée en mémoire, en vitesse de traitement, en vitesse d'entrée-sortie des données Le flux de données entrant est évidemment contrôlé par l'émetteur Le flux total entrant ne doit pas dépasser la capacité du récepteur Si cela se produit la saturation ainsi produite doit être éliminée pour ne pas conduire à un gaspillage de ressources qui ne ferait pas progresser la transmission Ainsi assurer la transmission d'une trame au delà d'un certain retard ne sert à rien si des processus de contrôle de niveaux supérieurs sont mis en oeuvre. Ces derniers génèrent une reprise automatique rendant inutile la transmission précédente En cas de saturation il est donc nécessaire de contrôler la façon précise l'attribution des ressources disponibles en fonction du besoin Dans ce qui suit, le terme "association" désigne conformément à la terminologie utilisée par la norme ISO/OSI, un couple d'entité (origine, destination) de bout en bout, indépendamment du fait que les interactions sont régies en mode datagramme ou connexion. Selon l'invention, chaque pont, doit à partir de descriptif d'association indiquant le besoin en ressources prévisibles, la durée de vie tolérée d'une trame dans le pont, le temps de remanence de l'association (temps au bout de laquelle elle peut être considérée comme non active de façon à récupérer les ressources), et à partir de l'adresse MAC considérée comme un identifiant d'association attribuer ses ressources c'est à dire affecter ses mémoires tampons, sa capacité de traitement aux trames des associations qu'il est susceptible de satisfaire et régler les autres Pour cela, il modélise sa capacité à absorber et commuter des trames par des crédits qui représentent une capacité de stockage déterminée (par exemple, une trame de niveau 2 dans la norme ISO/OSI), une capacité de traitement et une capacité d'entrée-sortie Si C désigne le nombre total de crédits disponibles dans un pont, C doit vérifier la relation C =C + C c d avec: C = nombre total de crédits offerts aux connexions c Cd = nombre total de crédits offerts aux datagrammes. Considérons pour fixer les idées le cas de ponts V-R, les flux venant d'un réseau RVL La lenteur d'un réseau RRL peut provoquer un engorgement des ponts V-R Il est donc sou- haitable, non seulement de n'émettre de trames que sur les chemins utiles (fonction d'un pont filtrant), mais également en cohérence avec les mécanismes de contrôle de flux appliqués par les protocoles de bout en bout, généralement de type allocation de crédit par retour d'acquittement; il est en particulier dommageable de transmettre trop tard une trame qui a déjà été dupliquée par le protocole de bout en bout de la station émettrice La solution mise en oeuvre par l'invention n'applique aucune modification des logiciels implantant les protocoles d'associations dans les stations Elle repose seulement sur la fonction administration du réseau et est basée sur une interprétation permissive des principes de contrôle de flux justifié par une analyse des performances résultantes. Selon l'invention chaque pont est géré à l'aide d'un cer- tain nombre de variables d'état et de type de contrôle de flux ainsi qu'à l'aide d'un mécanisme de désignation des associations. Les variables d'état gérées par un pont sont destinées à lui permettre d'allouer les crédits de façon optimale et donc de fournir un service de commutation optimal aux associations. Comme les associations correspondent à des types de services différents (en termes de débit, délai, urgence, importance, etc), il est inévitable d'avoir à les répartir dans différen- tes classes (de services) ou de leur attribuer des priorités différentes Mais il est aussi possible d'éviter d'avoir à faire de la réquisition de crédits (en cas de conflit entre associa- tions de priorités différentes) ou bien d'accepter la réquisi- tion de crédits (destruction d'une trame en attente pour accepta- tion d'une nouvelle trame plus prioritaire) Tout d'abord toute association A doit être connue du pont avec lequel elle coopère. En effet, la fonction administration de chaque pont doit comme le montre la figure 3 initialiser une table T permettant au pont de connaître les associations qu'il a à contrôler Pour cela un descripteur d'association représenté aux figures 4 A et 4 B est créé pour chaque association connexion ou datagramme effecti- vement établie Chaque descripteur d'association-connexion con- tient un mot d'option de non réquisition et un mot d'option de réquisition Une option de non réquisition contient le nombre de crédits alloués C Mc (A), le nombre de crédits disponibles notés CR (A), la priorité ou la classe de l'association L'option réquisition contient le nombre de crédits en cours d'emploi (trames séquencées en attente), notés CE (A) et la priorité ou la classe de l'association. Un descripteur d'association datagramme contient un mot représentant la durée restante de rétention du crédit et la priorité ou la classe de l'association Pour les datagrammes, bien qu'aucune allocation de crédits ne soit a priori effectuée par avance, il est indispensable de prévoir la possibilité de garantir une certaine qualité de service dépendant de l'impor- tance du flux datagramme considéré Ceci peut présenter de l'importance pour certaines classes de trafic en situation criti- que Pour cela le principe retenu consiste à faire bénéficier toute association datagrammes d'une durée de rétention de crédits (qui peut être nulle) ceci signifie que si à l'arrivée d'un 1 + 1 ème datagramme pour une association donnée survient "à temps" après le départ du lème datagramme le crédit existe encore pour ce ic+ème datagramme Dans ces conditions le contrôle de flux exercé par un pont sur les associations datagrammes revient à effectuer un contrôle de type connu sous la désignation anglaise "Rate Control" aucun autre choix n'étant d'ailleurs possible dans le cas de datagrammes non acquittés. Pour les connexions, le problème est différent car en principe le choix entre différentes politiques de contrôle de flux dans le pont reste possible Cependant, il faut observer qu'un contrôle de flux par retour d'acquittement n'est possible que si le pont est capable de détecter et interpréter les trames d'acquittement circulant sur les associations connexions Comme cette interprétation est obligatoirement dépendante des protocoles d'associations utilisés ce type de contrôle paraît contraignant et il est préférable de faire bénéficier toute association-connexion d'un nombre minimum de crédits garantis CM De la sorte une émission de trames par un pont qui c consommait l'un de ces crédits garantis peut libérer le crédit en question, lequel est conservé pour la connexion concernée. Le contrôle de flux résultant exercé par un pont est lui aussi du type "Rate Control" bien que la fréquence de ré-allocation de crédits soit totalement assujettie à la fréquence d'émission effective des trames Un pont est dimensionné pour pouvoir gérer jusqu'à N associations connexions et jusqu'à m associations datagrammes simultanées Dans le cas d'une option de "non réquisition" un pont dispose de N variables C Mc (Ai), n variables C Rc (Ai), m 1 boolens à l'état Vrai pour les associations datagrammes connues du pont (durée restante de rétention nulle) et m 2 boolens (m = m 1 +m 2) à l'état Faux pour les associations datagrammes inconnues du pont Le nombre total de crédits Cc offert aux connexions est déterminé par la relation: Zn CM (A),: C avec m instant h le nombre de crédits sûrement disponibles, cette varia- ble globale C Dh est définie par la relation CD(h) = C -ln Z CM (A, h) + ml (h) Dans le cas de l'option "réquisition" un pont dispose de n variables C Ec (i), m 1 boolens à l'état Vrai et m 2 boolens à l'état Faux Dans ce cas le nombre de crédits sûrement disponible CD vérifie la relation CD (h) = C l CE (A, h) + ml (h) c 7 m 1 (h)I En prévoyant une mémoire tampon toujours libre pour examiner toute trame entrante, il est toujours possible pour chaque pont de déterminer l'association concernée et s'il s'agit d'une nouvelle association, l'examen du nombre de crédits sûre- ment disponible C Dh permet de décider d'accepter ou non la nouvelle association Dans le cas d'une connexion, la valeur C Mc est déterminée par la classe/priorité de la connexion. La désignation des associations est utilisée pour permet- tre au pont de suivre les ouvertures-fermetures et les utilisa- tions des associations Pour éviter d'avoir à interpréter des trames d'association et suivre les échanges de toutes les trames qui traversent le pont, le contrôle du flux doit alors être exercé par un processus de traduction d'adresses On peut utiliser pour cela la faculté offerte par les réseaux locaux ISO 8802 de définir et d'utiliser des adresses de groupes en plus d'adresses physiques au niveau de chaque "médium access control" (MAC), à cette fin, pour tout réseau de départ donné (RVL par exemple) le pont recense la configuration des associations qui seront établies ultérieurement avec des entités distantes Des associations peuvent également être établies dynamiquement Via l'administration de réseau tout association se voit ainsi attribuer une adresse de groupe Ainsi si G désigne l'ensemble des adresses de groupe utilisables dans un réseau (interprétable par un coupleur) cet ensemble est partionné en adresses G O de groupe réservé pour usage local, en adresses G de groupes pour associations connexions, éventuellement décomposées en Gcli GC 2 * Gcx avec x classes (service, et priorité) et des adresses GD de groupes pour associations datagrammes éventuellement décomposées en Gdl, Gd 2 etc Gdy s'il existe y classes (services priorités). Dans ce cas avec les notations N et m précédentes désignant respectivement les associations connexions et les m associations datagrammes simultanées on a la relation MAX n + m J Dans ces conditions ce n'est que par la somme des associa- tions ouvertes sur l'ensemble des réseaux interconnectés qu'il est possible de déterminer la faisabilité de cette solution à partir du nombre maximum d'associations ouvertes depuis un seul réseau Cela permet à un pont d'exercer un contrôle de flux sélectif par examen de l'adresse MAC de destination (DA) de toutes les trames qui le traverse Comme cette fonction d'examen est de toute façon exigée de la part de tout équipement couplé à un réseau, la solution précédente a l'avantage de rendre le pont indépendant des protocoles d'associations et de n'entraîner aucun surcoût d'exécution. Le dispositif pour la mise en oeuvre du procédé selon l'invention est représenté à la figure 5, il comporte un regis- tre de files d'attente 4, un distributeur de trames 5, une pou- belle 6, un ensemble de registres file d'attente 7 et un multiplexeur 8 Il est connecté à un réseau d'entrée par un circuit MAC 9 et à un réseau de sortie par un circuit MAC 10. Les messages transmis par le circuit MAC 9 sont appliqués au registre de file 4 qui a la structure d'une file d'attente basée sur le principe connu sous l'abréviation FIFO de First-In First-Out La sortie du registre de file 4 est reliée à l'entrée du distributeur 5 qui trie les trames en fonction du champ destinataire DA, attribue une date d'arrivée et rejette la trame dans la poubelle 6 si l'adresse DA est inconnue Les files d'attente 71 à 7 N de l'ensemble des registres de file 7 sont reliées respectivement à N sorties du distributeur 5 et concernent chacune une seule association Ces files peuvent être gérées suivant le même principe FIFO que la file d'attente 4. Mais également elles peuvent être gérées en tampons tournants selon le contenu du descripteur d'associations Le multiplexeur 8 possède N entrées reliées respectivement aux sorties des n files d'attente 71 à 7 n Il a pour but d'éliminer des files d'attente 71 à 7 N les trames qui ont épuisé leur délai de rétention Lorsque la couche MAC de sortie est prête à émettre une nouvelle trame, le multiplexeur 5 sélectionne celle-ci parmi les têtes de file 71 à 7 N en fonction de la priorité, du degré de satisfaction de service demandé défini par la capacité minimale requise et par le délai de réquisition des ressources. Enfin le multiplexeur 8 convertit l'adresse DA pour le nouveau réseau. il REVENDICATIONS 1 Procédé de pontage entre réseaux locaux caractérisé en ce qu'il consiste à associer de façon implicite l'adresse de groupe du champ destinataire d'une trame MAC avec un descrip- teur d'association contenue dans le pont, à effectuer dans le pont un contrôle de flux en discriminant les flux association par association et en utilisant les informations du descripteur d'association et à réémettre la trame sur le réseau suivant avec comme adresse destinataire soit l'adresse du ou des destinatai- res soit l'adresse de groupe de l'association dans le nouveau réseau. 2 Procédé selon la revendication 1 caractérisé en ce qu'il consiste à créer pour chaque association un descripteur d'association-connexion et un descripteur d'association-data- gramme. 3 Procédé selon la revendication 2 caractérisé en ce qu'un descripteur d'association connexion comporte un mot d'op- tion de non réquisition indiquant le nombre de crédits alloués CM c(A), le nombre de crédits disponibles CR c(A), la priorité et la classe de l'association. 4 Procédé selon l'une quelconque des revendications 2 et 3 caractérisé en ce qu'un descripteur d'association connexion comporte un mot d'option de réquisition indiquant le nombre de crédits en cours d'emploi CE c (A), la priorité et la classe de l'association. 5 Procédé selon l'une quelconque des revendications 1 à 3 caractérisé en ce que le contrôle de flux a lieu en affectant au pont un crédit représentant une capacité de stockage déterminé égale à la somme du nombre Cc total de crédits offerts aux connexions entre réseaux et du nombre Cd de crédits offerts aux datagrammes transmis entre réseaux. 6 Procédé selon la revendication 5 caractérisé en ce que chaque descripteur d'association datagramme comporte un mot représentant la durée restante de rétention du crédit, la priori- té et la classe de l'association. 7 Dispositif pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 6 caractérisé en ce que chaque pont comporte un registre de file d'attente ( 4) de trames couplé entre un premier réseau et un distributeur de trames ( 5) et un ensemble de registres file d'attente 7 n) reliés en parallèle entre la sortie du distributeur de trame ( 5) et un multiplexeur ( 8) couplé à un deuxième réseau. 8 Dispositif selon la revendication 7 caractérisé en ce que le distributeur de trames ( 5) trie les trames en fonction de leur champ destinataire, attribue une date d'arrivée et rejette les trames si l'adresse destinataire est inconnue. 9 Dispositif selon la revendication 7 caractérisé en ce que chaque registre de file d'attente ( 7 7 n) est affecté respectivement à une association. Dispositif selon la revendication 8 caractérisé en ce que le multiplexeur ( 8) élimine des files d'attente contenues dans les registres de files d'attente ( 71 7 n) les trames qui ont épuisées leur délai de rétention. 11 Dispositif selon la revendication 9 caractérisé en ce que le multiplexeur ( 5) sélectionne chaque nouvelle trame à émettre sur un réseau en fonction de la priorité, de la capacité minimale requise et le délai de réquisition des ressources. -I