Brevet FR2725573A1 — publié le 19960412

La présente invention concemrne un procédé et un dispositif pour le contrôle de congestion des échanges sporadiques de paquets de données dans un réseau de transmission numérique. Elle s'applique notamment à la réalisation de réseaux locaux fonctionnant dans le mode de transmission connue sous l'abréviation anglo-saxonne ATM de "Asynchronous Transfert Mode". Dans un réseau fonctionnant en mode ATM, les informations nu- mériques sont échangées entre des noeuds du réseau sous forme de pa- quets de bits de format fixe appelés "cellules". Chaque cellule se compose, d'une part, d'un entête servant à identifier la cellule et la communication à laquelle elle appartient et, d'autre part, d'un champ d'information contenant les données utiles à véhiculer. Les noeuds du réseau ont la charge d'ai- guiller les cellules ATM appliquées à leurs entrées vers une ou plusieurs sorties. Dans ces réseaux, les utilisateurs actifs, en cours de communica- tion, se partagent la bande passante disponible selon différents modes de fonctionnement. Un premier mode est de réserver une portion de la bande passante à chaque utilisateur actif, qu'il émette ou non (réservation de débit crête, par exemple). Mais alors, la portion de bande réservée et non utilisée par les utilisateurs actifs qui n'émettent pas, ne peut pas être attribuée aux autres utilisateurs. Une autre façon de procéder est de ne pas réserver de ressources dans le réseau, celui-ci se chargeant de réaliser le multiplexage statistique des informations réellement transmises. Cependant, il est possi- ble qu'à un instant donné, les utilisateurs émettent plus d'information que le réseau ne sait en écouler, ce qui se traduira par une perte d'une partie de ces informations (phénomène de congestion). Pour éviter que ce phéno- mène de congestion du réseau ainsi produit ne perturbe la totalité du réseau, un procédé de régulation connu sous l'abréviation anglo-saxonne ABR de "Available Bit Rate" peut être mis en oeuvre. Ce procédé permet le partage effectif de la bande passante disponible entre les utilisateurs actifs, en évitant la congestion du réseau. Des mécanismes connus sous les abréviations anglo-saxonnes FECN et BECN de Forward Explicit Congestion Notification et Backward Explicit Congestion Notification sont alors appliqués. Ils permettent de blo- quer les sources actives lorsque le réseau commence à ne plus pouvoir écouler tout le trafic qui lui est confié. Un mécanisme de déblocage associé permet d'éviter le blocage permanent de ces sources. Cependant, dans certains cas d'anomalies, par exemple la déconnexion des câbles de liaison, ou la défaillance des composants consti- tuant les noeuds, il se peut que des sources ne reçoivent pas les informa- tions de congestion et continuent d'émettre et donc de congestionner le réseau; il se peut également que des sources bloquées ne reçoivent pas l'information de déblocage, et restent bloquées pendant un temps très long, ce qui est préjudiciable aux applications qui l'utilisent. 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é pour le contrôle de congestion des échanges sporadiques de paquets de données dans un réseau de transmission numérique, chaque paquet étant composé d'un entête permettant de l'identifier et de le guider à travers des canaux virtuels et d'une partie contenant des informations à véhiculer, caractérisé en ce qu'il consiste au niveau de chaque noeud du réseau à détecter les canaux en congestion et à transmettre, sur les noeuds placés en amont relatifs à cha- que canal virtuel détecté en congestion, un indicateur de congestion pour bloquer les communications sur ce canal tant que la congestion constatée par un noeud sur ce canal n'est pas résorbée. 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, un exemple pour illustrer une communication dans un réseau ATN; - la figure 2, le format d'un entête de cellule ATM; - la figure 3, un mode de réalisation d'un automate câblé pour la mise en oeuvre dans chaque noeud du réseau du procédé selon l'inven- tion; - la figure 4, un exemple pour illustrer le principe d'une communi- cation selon l'invention sur plusieurs noeuds en cascade. Dans l'exemple de la figure 1, le chemin pris par une communica- tion entre un utilisateur 2 et un terminal de données 3 est illustré par une ligne en pointillés 1. Le chemin suivant la ligne 1 est formé par une mise en cascade de noeuds de communications 41 à 4N d'un réseau local ATM 5 communiquant entre eux sur des artères 6j. Les informations échangées sur les artères 6j sont fournies par des paquets de bits de format fixe appelés "cellules". Chaque cellule se compose d'un champ d'information et d'un entête permettant d'identifier la cellule et notamment à la communication à laquelle elle appartient. Le rôle des noeuds 41 à 4N est d'aiguiller les cellules arrivant sur leurs entrées vers une ou plusieurs de leurs sorties. A cet effet, l'entête de chaque cellule comporte comme le montre l'exemple de la figure 2, quatre zones VPI, VCI, PTI et HEC réparties dans un bloc de 5 octets de 8 bits chacun et référencés de 7 à 11. Un octet et demi est réservé au codage du faisceau virtuel VPI auquel appartient la cellule. Deux octets sont réservés au codage du canal virtuel VCI auquel appartient la cellule. La zone PTI comporte 4 bits dont l'usage n'est pas dé- fini ici. Enfin la zone HEC comporte un octet réservé pour générer un code de contrôle d'erreur. Chaque noeud comporte de la manière représentée à la figure 3, un circuit de brassage 12 du type de celui qui est décrit par exemple dans les demandes de brevet FR 2 635 243 ou FR 2 635 242. Le rôle du circuit de brassage 12 est d'aiguiller les cellules entrantes sur ses entrées el- eN sur les artères de sortie du noeud en fonction des informations VPI et VCI contenues dans chaque entête. L'aiguillage a lieu de façon connue et telle que décrite par exemple dans la demande de brevet 2 681 164 en utilisant un traducteur. Le traducteur donne pour chaque cellule un nouvel entête et une artère sortante en fonction de l'entête qu'elle possède à son entrée dans le noeud et de l'artère qui l'a véhiculée. Le circuit de brassage 12 est relié aux artères sortantes par l'intermédiaire de registres 131 à 13N organi- sés en pile. Ces registres placent les cellules à transmettre sur chacune des artères sortantes S1-SN du noeud dans une file d'attente. A cette fin, chaque file d'attente est organisée dans un registre 13i suivant le mode "FIFO" de l'abréviation anglo-saxonne "FIRST IN FIRST OUT". Pour la mise en oeuvre de l'invention, les registres 13i comportent de façon connue un capteur de remplissage à deux seuils, un seuil haut désigné par SH et un seuil bas désigné par SB. Lorsque la hauteur de la file d'attente de l'une des directions de sortie du noeud atteint ou dépasse le seuil haut SH, pour chaque canal vir- tuel (identifié par exemple par le champ VCI des cellules qu'il transmet) sur lequel arrive une cellule, on positionne un indicateur de type booléen de congestion de type 1, par exemple dans le traducteur (qui signale donc en interne que la sortie qui est emprunté par le canal virtuel considéré est en voie de congestion). Cette information est également émise vers le noeud amont correspondant au canal logique sur lequel on a reçu la cellule, sous la forme d'un indicateur de congestion IC, par exemple par l'intermédiaire d'une cellule émise spécifiquement à cet effet. La réception de l'indicateur de congestion IC dans un noeud pro- voque la mise à la valeur maximum d'un indicateur (par exemple de type entier naturel) de congestion de type 2, associé (par exemple dans le traducteur) au canal virtuel ayant rencontré la congestion de type 1 dans le _5 noeud aval. Cet indicateur signale donc que le chemin est saturé en aval. Chaque noeud émet de façon cyclique vers l'amont la valeur des indicateurs de congestion IC (positionné ou non) correspondant à chacun des canaux logiques. Chaque noeud décrémente de façcon cyclique les indications de congestion de type 2 dont la valeur est non nulle (par exemple). Les cellules appartenant à un canal logique dont l'indicateur de type 2 n'est pas à la valeur 0 (par exemple) sont bloquées. Lorsque la file d'attente d'un noeud congestionné redescend au niveau du seuil bas SB, I'indicateur de conges- tion de type 1 est positionné à "non congestionné". Ce changement d'état est transmis vers les noeuds amont, qui positionnent alors le compteur de congestion de type 2 à sa valeur minimale (par exemple 0). L'indicateur de congestion IC est ensuite propagé de proche en proche de la manière représentée à la figure 4 sur l'ensemble des noeuds amonts par o a été transmis la cellule afin d'être mémorisée dans chacune des zones VCi des traducteurs correspondants. Cette mémorisation permet le signalement dans les noeuds du réseau des canaux virtuels en congestion qui leur sont rattachés. Une variante consiste pour un noeud donné à informer cyclique- ment les noeuds amont non seulement de l'état de congestion de type 1 (IC) tel que décrit plus haut, mais aussi de l'état de congestion de type 2, de telle façon que les dits noeuds amont bloquent à leur tour le trafic sur les canaux logiques concernés. REVENDICATIONS 1. Procédé pour le contrôle de congestion des échanges sporadi- ques de paquets de données dans un réseau (5) de transmission numéri- que, chaque paquet étant composé d'un entête (7-11) permettant de l'iden- tifier et de le guider à travers des canaux virtuels (VCI) et d'une partie con- tenant des informations à véhiculer, caractérisé en ce qu'il consiste au niveau de chaque noeud (41-4N) du réseau à détecter les canaux en con- gestion et à transmettre, sur les noeuds placés en amont relatifs à chaque canal virtuel détecté en congestion, un indicateur de congestion (IC) pour bloquer les communications sur ce canal tant que la congestion constatée par un noeud sur ce canal n'est pas résorbée. 2. Procédé selon la revendication 1, caractérisé en ce qu'il con- siste à identifier chaque canal virtuel (VCI) en congestion par une valeur de compte prédéterminée et à émettre cycliquement des indicateurs de con- gestion sur les noeuds correspondants pour ramener la valeur du compteur à zéro et permettre le rétablissement des communications sur le canal. 3. Procédé selon la revendication 2, caractérisé en ce que la valeur de compte est décrémentée périodiquement en l'absence d'information explicite venant des autres noeuds. 4. Dispositif pour re contrôle de congestion des échanges spora- diques de paquets de données dans un réseau de transmission numérique, chaque paquet de données étant composé d'un entête (7-11) permettant de l'identifier et de le guider à travers des canaux virtuels et d'une partie conte- nant des informations à véhiculer, le réseau de transmission numérique étant composé de noeuds de transmission communiquant entre eux sur des artères de transmission (6j), caractérisé en ce qu'il comprend, dans chaque noeud (41-4N) du réseau, un circuit de brassage (12) pour distribuer sur des artères sortantes les paquets de données appliqués sur les artères en- trantes du noeud de transmission et un ensemble de registres organisés en piles interposés entre le brasseur et les artères sortantes, pour placer les paquets de données à transmettre en file d'attente et indiquer, en mesurant (SH) la longueur de chaque file d'attente, les canaux virtuels de transmission en congestion. 5. Dispositif selon la revendication 4, caractérisé en ce que cha- que registre comprend un capteur de remplissage à deux seuils haut (SH) et bas (SB). 6. Dispositif selon la revendication 4, caractérisé en ce que cha- que noeud (41-4N) comprend un traducteur pour la mise à jour de l'entête (4-11) des paquets de données à transmettre et inscrire les canaux virtuels en congestion au reçu d'indicateur de congestion (IC) fourni par les capteurs de remplissage, (SH) des noeuds placés en aval.