Brevet FR2764757A1 — publié le 19981218

La présente invention concerne un procédé de traduction d'un en-tête de cellule appliquée à l'entrée d'un noeud d'un réseau asynchrone de transmission de données par paquets. Elle s'applique notamment aux équipements de brassage et de commutation de données numériques composant un réseau fonctionnant dans le mode de transmission connu sous l'abréviation anglo-saxonne ATM de "Asynchronous Transfert Mode". Le mode de transfert asynchrone ATM est principalement défini dans les recommandations de l'UIT-T (série 1), ainsi que dans les travaux d'un groupement d'industriels ayant pris le nom de "ATM Forum". Dans le mode de transfert asynchrone ATM les informations à transmettre sont regroupées sous forme de paquets. L'ensemble en-tête plus données prend le nom de cellule. Dans son principe l'ATM fonctionne dans un mode connecté, c'est-à-dire qu'il nécessite d'établir un chemin dans le réseau de transmission avant de pouvoir émettre les données. Ce chemin est dénommé " circuit virtuel ". Il y a en général de nombreux circuits virtuels qui empruntent la même connexion physique entre deux équipements ATM. L'en-tête des cellules a principalement pour rôle de permettre l'identification des circuits virtuels sur la liaison. Un exemple de mise en oeuvre d'un tel procédé est notamment connu de la demande de brevet français n0 2 681 164 déposée au nom de la Demanderesse. Un circuit virtuel est obtenu en mettant bout à bout des canaux de communication virtuels établis entre commutateurs adjacents. Ces canaux sont de deux types: conduits virtuels (" Virtual path " en anglais) ou voies virtuelles (" Virtual channel " en anglais), les voies virtuelles étant considérées comme une subdivision des conduits virtuels. Sur une artère donnée, tout circuit virtuel est parfaitement déterminé en indiquant l'identifiant du conduit virtuel (VPI) et celui de la voie virtuelle (VCI) qu'il emprunte, s'il s'agit d'un circuit à commuter en mode VC (VCC), ou bien en indiquant seulement l'identifiant du conduit virtuel (VPI), s'il s'agit d'un circuit à commuter en mode VP (VPC). Selon ce procédé, chaque cellule à acheminer dans un réseau est composée d'une part, d'un en-tête permettant de l'identifier et de la guider à travers les canaux composant le circuit virtuel, et d'autre part, d'une partie contenant les informations à véhiculer. L'acheminement est assuré au niveau de chaque noeud du réseau en extrayant de l'en-tête l'adresse d'un mot contenu dans une première mémoire de contexte contenant les informations nécessaires à l'identification de l'en-tête et au guidage des données à véhiculer et en créant à partir du mot lu dans la première mémoire de contexte une nouvelle adresse. Cette nouvelle adresse sert de pointeur vers une zone d'une deuxième mémoire de contexte dans laquelle se trouve au moins un nouvel en-tête et une information de direction sortante pour la ou les cellules sortant du noeud. La fonction de traduction qui est ainsi réalisée permet d'associer à chaque cellule les informations lui permettant de subir les traitements auxquels elle est destinée. Le traducteur qui a la charge d'exécuter cette fonction sur chaque cellule qu'il reçoit doit typiquement fournir des informations sur la validité de l'identifiant de conduit virtuel, la validité de l'identifiant de voie virtuelle, le comptage, la liste des directions sortantes sur lesquelles est émise la cellule reçue, le nouvel en-tête associé à la cellule lors de son émission etc. Le traducteur doit également exécuter les traitements correspondant au contexte défini précédemment pour chaque cellule. Ces traitements concernent notamment la commutation de conduit virtuel (VP), la commutation de voie virtuelle (VC) et l'extraction des flux de maintenance. Au plan structurel la fonction de traduction est réalisée à l'aide d'un plan de mémoire adressé par une unité de traitement microprogrammée. Mais ce plan de mémoire dont la taille, très importante, peut contenir par exemple 232 mots de 16 bits, est difficile à gérer. Pour pallier cette difficulté il a été proposé dans la demande de brevet français publiée sous le n 2 726 669 déposée par la demanderesse d'adresser l'espace mémoire du noeud à partir du numéro de conduit virtuel VPI contenu dans l'en-tête de la cellule pour identifier dans cet espace une première zone de contexte indiquant la plage des voies virtuelles utilisables par la cellule pour ce VPI - et d'adresser une deuxième zone de contexte à partir d'un numéro de voie virtuelle VCI contenu dans l'en-tête de la cellule et d'une adresse de base lue dans la première zone de contexte pour obtenir la liste des directions que doit prendre la cellule à la sortie du noeud, ainsi que le nouvel en- tête. Mais ce procédé s'avère mal adapté aux contraintes imposées par les nouvelles interfaces virtuelles des commutateurs comme par exemple l'interface " Virtuel UNI " spécifiée au chapitre A7-4 de la spécification physique, se partageent les capacités de conduit virtuel. Ceci se traduit par l'apparition de trous dans la mémoire de traduction qui limitent les possibilités d'exploitation de l'ensemble du spectre des valeurs possibles VPI et VCI. Le but de l'invention est de pallier les inconvénients précités. A cet effet, I'invention a pour objet un procédé de traduction d'un entête de cellule ATM pour son acheminement sur une artère de transmission d'un réseau de communication via un commutateur ATM, I'entête de la cellule comportant un premier champ VPI et un deuxième champ VCI, le premier champ VPI identifiant un numéro de conduit virtuel et le deuxième champ VCI sélectionnant une voie virtuelle déterminée au sein du conduit virtuel, caractérisé en ce qu'il consiste: - à mémoriser dans une première table majeure des numéros de page de contexte d'indirection, - à mémoriser dans une deuxième table majeure des numéros de page de contexte pour les circuits en mode de commutation VP, - à mémoriser dans des pages de contexte d'indirection des numéros de pages de contexte pour les circuits en mode de commutation VC, - à adresser par l'intermédiaire d'une page de contexte d'indirection des numéros de pages de contexte les pages de contexte de circuits en mode de commutation VC à partir de la première table majeure et du deuxième champ VCI, et - à adresser les pages de contexte des circuits en mode de commutation VP à partir de numéros de page de contexte contenus dans la deuxième table majeure. L'invention a principalement pour avantage d'associer les N contextes déterminés par la taille de mémoire disponible à un nombre de connexions du même ordre de grandeur que N. même si les identifiants (VPI, VCI) de ses connexions décrivent des plages de valeurs multiples parmi les 228 valeurs théoriquement possibles. Elle permet également des modifications partielles de la configuration d'un réseau consistant par exemple à modifier un mode de commutation VP en un mode VC pour une valeur VPI déterminée ou encore à activer / désactiver une suite conséquente de valeurs VPI, sans altérer le fonctionnement opérationnel faisant intervenir les valeurs VPI et VCI non concernées par la modification. Comme autre avantage la taille de la mémoire de traduction est adaptée au strict besoin d'un nombre limité de connexions (VPC ou VCC indifféremment), ce nombre étant faible par rapport aux nombres de combinaisons possibles des valeurs VPI/VCI. D'autre part, les opérations de traduction, notamment celles induisant des accès mémoires lents, sont réduites à un nombre minimum ce qui permet de traiter des flux ATM de forts débits, par exemple supérieurs à 155 Mbps. Enfin elle permet l'installation d'une déviation temporaire vers une sonde de test intégrée en mode de commutation VP pour observer le trafic sur certaines voies virtuelles VC. D'autres caractéristiques et avantages de l'invention apparaîtront dans la description qui suit, faite en regard des dessins annexés qui représentent: La figure 1 I'organisation d'une mémoire de traduction selon l'invention. Les figures 2A et 2B le format d'un champ VPI d'un entête de cellule. La figure 3 le format d'un champ VCI d'un entête de cellule. La figure 4 un schéma illustrant le mode d'adressage mis en oeuvre par l'invention pour accéder à des contextes dans les modes de commutation VP et VC. La figure 5 un organigramme représentant l'enchaînement des différentes étapes selon l'invention du procédé d'adressage de la mémoire de traduction pour aiguiller une cellule ATM entrante à l'intérieur d'un commutateur. Selon le mode de réalisation de la figure 1, la mémoire de traduction 1 est structurée en un bloc de pages de contexte 2 banalisées, c'est-à- dire utilisées aussi bien pour les informations relatives aux circuits en mode VP, en mode VC, ou pour contenir des informations d'indirection. Toutes les pages ont une taille identique. Elles contiennent un nombre d'informations élémentaires ( est formé des champs VCIO, VCI1 ET VCI4. L'adressage des pages de contexte à partir des tables majeures 3 et 4 a lieu suivant le schéma de la figure 4 o les éléments homologues à ceux de la figure 1 sont représentés avec les mêmes références. Pour une commutation en mode VC la table majeure 3 est adressée par les bits de poids fort VPI1 et VPI2. Le mot trouvé Ml sert de pointeur vers une page de contexte d'indirection 5 qui recense les adresses des pages de contexte du bloc de page 2. Sur la figure 4 les adresses des pages de contexte sont situées aux croisements de lignes et de colonnes. L'adresse d'une ligne est obtenue en ajoutant en 6 au pointeur de page trouvé dans la table majeure 3, le contenu de la zone VPI3 du champ VPI. Le mot M2 qui est ainsi trouvé à l'adresse indiquée par les zones (Ml, VPI3, VCI1) est ensuite utilisé comme pointeur vers une page de contextes VCC7. La zone de contexte recherchée M3 est trouvée à l'intérieur de la page de contexte 7 en ajoutant en 8 au pointeur M2 le contenu de la zone VCI4 du champ VCI. En mode de commutation VP, I'adresse de la page de contexte 9 est trouvée en lisant le mot M4 de la table majeure d'indexation en mode VP à l'adresse fournie par la zone VPI1 du champ VPI. La zone de contexte recherchée M5 est ensuite trouvée à l'intérieur de la page de contexte 9 en ajoutant en 10 le contenu du mot M4 au contenu de la zone VPI4 du champ VPI. Suivant une des caractéristiques de l'invention la taille des contextes VPC et VCC est constante et est déterminée par la relation TvpC = TvcC = 2M o M est un nombre entier indépendant des tailles de pages. La taille d'un contexte d'indirection est TIND = 1. En désignant par NpO, Npl, Np2, Np3 et Np4 les nombres de bits constituant respectivement les zones VPIO, VPI1, VPI2, VPI3 et VPI4 du champ VPI et par NcO, Ncl et Nc4 les nombres de bits constituant respectivement les zones VCIO, VCI1 et VCI4, la taille des pages de contexte est définie comme suit: - taille d'une page de contexte VPC = 2NP4.Tvpc - taille d'une page de contexte VCC =2Nc4 Tvcc NP3 NC1 - taille d'une page de contextes d'indirection =2NP3.2NC.TIND. Comme la taille des pages est constante les relations précédentes permettent d'écrire Np4 = Nc4 = Ncl + Np3- M Par ailleurs, il existe les relations suivantes NpO+Npl+Np2+Np3 = P Np2+Np3 = Npy NcO+Ncl +Nc4 = C = 28-P Les tailles des tables majeures ont respectivement pour valeur 2NP1.2NP2.TIND pour la table majeure (mode VC) 3 et 2NP'.TIND pour la table majeure (mode VP) 4. En prenant comme paramètres P = 12, on obtient les relations suivantes. 2 Npl = NcO-NpO+2P+M-20 2 Ncl = NpO-Nc0-2P+M+36 2 Np2 = NpO- Nc0-2P-M+36 2 Nc4 = 2Np4 = 20-M-NpO-NcO 2 Np3 = 2P-16-2NpO A titre d'exemple, un dimensionnement avec M = 5 peut être le suivant: (NpO,NcO) = (2,5) bits ou (1,4) bits ou (1,0) bits Npl = O ou 1 ou 4 ou 5 bits selon le nombre de bits actifs du champ VCI ce qui donne: - un bloc de 255 pages, - une table majeure pour une commutation VC de 64 mots de 4 octets, la taille d'une entrée étant fonction de la taille de page choisie, - une table majeure pour une commutation VP de 16 mots de 4 octets, la taille d'une entrée étant fonction de la taille de page choisie, - une taille unique de contexte de 8 mots. Un algorithme pour la mise en oeuvre du procédé d'adressage selon l'invention est décrit ci-après à l'aide des étapes 11 à 21 de l'organigramme de la figure 5; Sur cet organigramme le procédé de traduction commence à l'étape 11 par une vérification de la validité de l'identifiant de circuit virtuel en extrayant par une intersection logique, par exemple, les bits de la zone VPIO. Si l'identifiant n'est pas valide la cellule est rejetée à l'étape 19. Si l'identifiant est validé, I'étape 12 est exécutée pour accéder dans la table majeure 3 au pointeur Ml d'une page d'indirection à l'adresse indiquée par les zones VPI1 et VPI2. Si le pointeur M1 est nul, le mode de commutation VP est sélectionné en allant chercher à I'étape 13 le mot M4 dans la table majeure 4 à l'adresse indiquée par la zone VPI1. Si le contenu du mot M4 n'est pas nul un contexte VP est sélectionné à l'étape 14 dans la page de contexte M4 du mode de commutation VP, à l'adresse indiquée par le contenu du champ VPI4. Dans le cas o le mot M4 est nul la cellule est rejetée à l'étape 15. Si le test effectué à l'étape 12 indique que le contenu du pointeur M1 n'est pas nul, alors une page de contexte VC est sélectionnée à l'étape 16 à l'adresse indiquée par le pointeur de page M2 trouvé à l'intérieur de la page Ml de contexte d'indirection 5 à l'adresse indiquée par les champs VPI3 et VCI1. Si M2 est nul on revient au mode de commutation VP et I'on passe à l'étape 13. Si M2 n'est pas nul, un test est effectué à l'étape 17 sur le contenu du champ VCIO. Si celui-ci est nul un contexte est sélectionné à l'étape 18 dans la page de contexte VCC adressée par le pointeur M2, à l'adresse indiquée par le contenu du champ VCI4. Si VCIO n'est pas nul la cellule est rejetée à l'étape 19. Lors des deux cas d'erreur identifiés sur cet organigramme (15 et 19) des compteurs spécifiques peuvent être incrémentés. Par ailleurs, lors des étapes 14 et 18 on vérifie dans le contexte atteint que le VPC ou le VCC concerné est actif avant d'effectuer la traduction. Des variantes à ce procédé peuvent être mises en oeuvre pour I'adressage de pages, de 16, 32 et 128 contextes. A titre d'exemple, l'adressage de pages à 16 contextes peut avoir lieu en effectuant les opérations référencées de ( a à k) suivantes: a) extraire les 2 bits de poids forts du champ VPI et incrémenter le compteur de violations s'ils sont non nuls b) prendre les 6 bits suivants (VPI1) et adresser la table majeure VPI du mode de commutation VC. c) lire le mot sélectionné d) prendre les 2 bits suivants (VPI2) et adresser (dans le mot sélectionné) I'octet désignant la page de contextes d'indirection; e) si le pointeur page est nul, prendre les 6 bits de 10 à 4 (VPI1) et adresser la table majeure VPI du mode VP, lire le pointeur page VP sélectionné si ce pointeur est non nul, le mode de commutation est VP passer alors à l'exécution de k. sinon rejeter la cellule (incrémenter un compteur) f) Sinon, prendre les 2 bits suivants (c'est-à-dire les 2 derniers bits du champ VPI) (VPI3) et sélectionner le contexte d'indirection dans la page. g) prendre les bits 11 à 5 du champ VCI (VCI1) et adresser dans le contexte d'indirection le pointeur sur la page VC. h) si ce pointeur est non nul (mode de commutation VC) vérifier qu'il n'y a pas violation en comparant les 5 premiers bits de VCI (VCIO) à la valeur nulle. S'il y a violation, incrémenter le compteur de violations et rejeter la cellule, i) si non, sélectionner le contexte VC dans la page VC à partir des 4 bits de poids faible du champ VCI (VCI4). - tester l'indicateur d'activité de ce contexte VC avant d'utiliser les informations de ce contexte. Si l'indicateur est inactif, rejeter la cellule (incrémenter un compteur). j) Si ce pointeur est nul, 2 cas peuvent se présenter: mode VP de commutation ou contexte VC inactif dans le mode de commutation VC: - prendre les 6 bits de 10 à 4 (VPI1) et adresser la table majeure VPI du mode VP de commutation en mémoire rapide - lire le pointeur page VP sélectionné si ce pointeur est non nul, le cas est un mode de commutation VP (passer alors à k) sinon le cas est un mode de commutation VC avec VCC inactif: rejeter la cellule (incrémenter un compteur) k) Mode VP de commutation - prendre les 4 derniers bits du champ VPI (VPI4) et sélectionner le contexte VP dans la page VP sélectionnée tester l'indicateur d'activité de ce contexte VP avant d'utiliser les informations de ce contexte. Si l'indicateur est inactif, rejeter la cellule (incrémenter un compteur). Des opérations similaires peuvent être exécutées pour l'adressage de pages à 32 et 128 contextes. REVENDICATIONS 1- Procédé de traduction d'un en-tête de cellule ATM pour son acheminement sur une artère de transmission d'un réseau de communication via un commutateur ATM, I'entête de la cellule comportant un premier champ VPI et un deuxième champ VCI, le premier champ VPI identifiant un numéro de conduit virtuel et le deuxième champ VCI sélectionnant une voie virtuelle déterminée au sein du conduit virtuel, caractérisé en ce qu'il consiste: à mémoriser dans une première table majeure (3) des numéros de page de contexte d'indirection, - à mémoriser dans une deuxième table majeure (4) des numéros de page de contexte pour les circuits en mode de commutation VP, - à mémoriser dans des pages de contexte (2) d'indirection (5) des numéros de pages de contexte (7) pour les circuits en mode de commutation VC, - à adresser par l'intermédiaire d'une page de contexte d'indirection (5) les pages de contexte (7) de circuits en mode de commutation VC à partir de la première table majeure (3) et du champ VCI, et - à adresser les pages de contexte (9) du mode de commutation VP à partir de numéros de page de contexte contenus dans la deuxième table majeure (4). 2- Procédé selon la revendication 1 caractérisé en ce que pour l'adressage d'une page de contexte en mode de commutation VC, le premier champ VPI comporte une première zone de bits VPI1 et une deuxième zone de bits VPI2 réservées à l'adressage de la première table majeure (3) de commutation en mode VC et une troisième zone de bits VPI3 réservée à l'adressage d'une page de contexte d'indirection (5) et en ce que le deuxième champ VCI comporte une première zone de bits VCI1 réservée avec la troisième zone de bits VPI3 à l'adressage à l'intérieur des pages de contexte d'indirection ainsi qu'une deuxième zone de bits VCI4 réservée à l'adressage d'un contexte à l'intérieur d'une page de contexte 3- Procédé selon la revendication 2, caractérisé en ce qu'il consiste à utiliser également, pour l'adressage d'une page de contexte en mode de commutation VP, la première zone de bits VPI1 pour l'adressage de mots à l'intérieur de la deuxième table majeure (4) de commutation en mode VP et une deuxième zone de bits VPI4 réservée comme mot d'indirection pour l'adressage d'un contexte à l'intérieur d'une page de contexte.