FR 2898449 A1 20070914 FR 0650810 A 20060310 DISPOSITIF D'AIGUILLAGE DE PAQUETS DE DONNÉES PAR CONSTITUTION DE GROUPES D'ENSEMBLES DE DONNÉES, POUR UN NOEUD D'UN RÉSEAU DE COMMUNICATION À TRÈS HAUT DÉBIT L'invention concerne les réseaux de communication à très haut débit, et plus précisément, les dispositifs d'aiguillage qui sont utilisés dans les noeuds de tels réseaux pour aiguiller des paquets de données vers leurs destinations respectives. On entend ici par paquet un ensemble de données regroupant selon un format préétabli des données d'information à transmettre (appelées charge utile (ou payload en anglais)) et des données auxiliaires contenues par exemple dans un entête (ou header en anglais). L'entête contient notamment une information représentative de la destination du paquet et généralement une classe de qualité de service (QoS). L'information peut être une adresse de destination explicite ou une étiquette (ou label en anglais) représentative de cette destination. Parmi les formats de paquets les plus courants, on peut par exemple citer les paquets IP (Internet Protocol), MPLS et Ethernet qui sont de taille variable, et les cellules ATM qui sont de taille fixe. Comme le sait l'homme de l'art, une architecture d'aiguillage de paquets de données peut être composée d'un seul étage comprenant en entrée et en sortie ce que l'on appelle habituellement des cartes de lignes (ou fine cards en anglais), pouvant offrir par exemple des débits de 10 Gbits/s. Pour atteindre de très hauts débits de commutation (ou d'aiguillage), comme par exemple de l'ordre de 10 Tbits/s, il faut mettre en parallèle au moins 1000 cartes de lignes de 10 Gbits/s en entrée et en sortie. Cela est très difficilement réalisable en pratique, que ce soit pour la réalisation du commutateur central ou la réalisation du contrôle de l'ensemble constitué du commutateur central et des cartes de lignes, à cause du très grand nombre d'entrées et de sorties rattachées au commutateur central. Pour cette raison, lorsqu'un très grand nombre de cartes de lignes 2 2898449 doivent être interconnectées entre elles, on préfère utiliser une architecture multi-étages, comprenant par exemple trois étages : un premier étage chargé de pré-aiguiller vers ses sorties les données qu'il reçoit sur ses entrées sous forme de paquets, un deuxième étage chargé d'aiguiller vers ses sorties 5 les données pré-aiguillées reçues sur ses entrées, et un troisième étage chargé de post-aiguiller vers ses sorties les données aiguillées reçues sur ses entrées. Une telle architecture est notamment décrite dans le document Cisco carrier routing system accessible à l'adresse Internet lo http://www.cisco.com/ en/US/products/ps5763/index.html . Cette architecture induit au moins deux inconvénients. Elle est tout d'abord très onéreuse du fait de l'importance de la capacité de commutation qu'il est nécessaire d'ajouter pour qu'elle ne soit pas bloquante (typiquement +200% à +250%). Ensuite, elle nécessite un ré-ordonnancement des groupes 15 de données aiguillées en amont des sorties, ce qui accroît notablement sa complexité. L'invention a donc pour but d'améliorer la situation. Elle propose à cet effet un dispositif d'aiguillage de paquets de données, pour un noeud d'un réseau de communication, comprenant i) un 20 premier étage comprenant N sous-étages d'entrée parallèles chargés chacun de pré-aiguiller vers J sorties des données reçues sur des entrées sous forme de paquets, ii) un deuxième étage comprenant d blocs d'aiguillage parallèles chargés chacun d'aiguiller vers au moins N sorties des données pré-aiguillées reçues sur au moins N entrées, et iii) un troisième étage comprenant Q sous-25 étages de sortie parallèles chargés chacun de post-aiguiller vers des sorties des données aiguillées reçues sur J entrées. Ce dispositif d'aiguillage se caractérise par le fait que son premier étage est chargé de constituer sur un cycle, comprenant M périodes (ou coups d'horloge (par exemple un cycle de 10 gs comprend 200 coups 30 d'horloges d'environ 50 ns chacun)), des groupes de J ensembles avec des ensembles de données, en attente d'aiguillage au sein d'un même sousétage d'entrée et destinés à l'un des sous-étages de sortie, et de distribuer les d ensembles de chaque groupe, ayant un même sous-étage d'entrée et un 3 2898449 même sous-étage de sortie, aux J blocs d'aiguillage qui sont tous placés dans une même configuration d'aiguillage afin de les aiguiller en parallèle et de façon synchronisée vers le sous-étage de sortie destinataire, cette configuration d'aiguillage des J blocs d'aiguillage pouvant être modifiée à s chaque coup d'horloge pour qu'au cours d'un cycle de M coups d'horloge (ou périodes) chacun des sous-étages de sortie puisse recevoir tous les groupes d'ensembles de données qu'il doit post-aiguiller. Le fait de constituer des ensembles de données ayant un même sous-étage d'entrée et un même sous-étage de sortie, et de distribuer les lo éléments de chacun de ces ensembles vers les J blocs d'aiguillage configurés de la même façon pour un même coup d'horloge présente l'avantage de simplifier grandement la réalisation de l'étage central d'aiguillage qui peut être composé de J sous-étages fonctionnant en parallèle et de manière synchrone, contrôlés par la même commande d'aiguillage. Un autre avantage 15 découle de la constitution des groupes d'ensembles de données dans un cycle, ce qui permet de faciliter le contrôle de la répartition de la capacité d'aiguillage entre les sous-étages d'entrée et de sortie en réduisant le nombre d'informations à gérer dans un cycle : NxN données dans M coups d'horloge au lieu de NxM données sans la constitution de ces ensembles (en pratique 20 M>N). Le dispositif selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment : chaque sous-étage d'entrée peut par exemple comprendre : • au plus K interfaces d'entrée comportant chacune au moins une 25 entrée et une sortie, • un module d'aiguillage d'entrée comprenant K entrées connectées respectivement aux sorties des au plus K interfaces d'entrée et J sorties, et • J modules d'interfaçage d'entrée comportant chacun une entrée 30 connectée à l'une des J sorties du module d'aiguillage d'entrée, une sortie et Q sous-modules d'entrée chargés chacun de stocker temporairement des ensembles de données à aiguiller destinés à l'un des sous-étages de sortie et de délivrer à chaque coup d'horloge (ou 4 2898449 période) un ensemble de données destiné à faire partie d'un groupe, • le module d'aiguillage d'entrée étant alors chargé d'aiguiller des ensembles de données provenant de l'une des au plus K interfaces d'entrée vers l'un des J modules d'interfaçage d'entrée ; 5 > chaque module d'aiguillage d'entrée peut être chargé, à réception d'instructions, d'aiguiller au cours d'un cycle un nombre sensiblement égal d'ensembles, provenant des interfaces de sortie et à destination d'un même sous-étage de sortie, vers chacun des modules d'interfaçage d'entrée ; 10 chaque sous-étage de sortie peut par exemple comprendre : • J modules d'interfaçage de sortie comportant chacun une entrée connectée à l'une des Q sorties de l'un des J blocs d'aiguillage, une sortie et P sous-modules de sortie chargés chacun de stocker temporairement des ensembles de données à post-aiguiller, issus de 15 groupes, • un module d'aiguillage de sortie comprenant J entrées connectées respectivement aux J sorties des J modules d'interfaçage de sortie et au plus P sorties, et • au plus P interfaces de sortie comportant chacune une entrée et au 20 moins une sortie, • le module d'aiguillage de sortie étant alors chargé d'aiguiller des ensembles de données stockés dans l'un des P sous-modules de sortie de l'un des J modules d'interfaçage de sortie vers l'une des au plus P interfaces de sortie ; 25 - le premier étage peut être chargé de décomposer chaque paquet de données qu'il reçoit en au moins un ensemble de données destiné à constituer (ou participer à la constitution) d'un groupe ; le troisième étage peut être chargé de reconstituer chaque paquet de données, initialement reçu puis décomposé par le premier étage, à partir 3o d'au moins un ensemble de données reçu du deuxième étage ; le premier étage peut être chargé de constituer des sur-ensembles de données à partir d'au moins deux ensembles de données, et de 5 2898449 constituer des groupes à partir de J sur-ensembles ; • le troisième étage peut être chargé de reconstituer chaque paquet de données, initialement reçu puis décomposé par le premier étage, à partir d'une partie d'au moins un sur-ensemble de données reçu du s deuxième étage ; M est de préférence supérieur ou égal à N ; J est par exemple égal à N ; J est par exemple égal à P; Q est par exemple égal à N ; zo K est par exemple égal à J ; -les premier et troisième étages peuvent être éventuellement regroupés au sein d'un étage d'interfaçage d'entrée/sortie dans lequel les entrées et les sorties sont physiquement dissociées. L'invention propose également un noeud de réseau de 15 communication, équipé d'un dispositif d'aiguillage du type de celui présenté ci-avant. L'invention est particulièrement bien adaptée, bien que de façon non exclusive, aux réseaux de coeur pour le transport de paquets. D'autres caractéristiques et avantages de l'invention apparaîtront à 20 l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels : - la figure 1 illustre de façon très schématique et fonctionnelle un premier exemple de réalisation d'un dispositif d'aiguillage selon l'invention, la figure 2 illustre de façon très schématique et fonctionnelle un second 25 exemple de réalisation d'un dispositif d'aiguillage selon l'invention, - la figure 3 illustre de façon très schématique et fonctionnelle un exemple de réalisation d'un sous-étage d'entrée d'un premier étage d'un dispositif d'aiguillage du type de celui illustré sur la figure 1, - la figure 4 illustre de façon très schématique et fonctionnelle un exemple de 30 réalisation d'un sous-étage de sortie d'un troisième étage d'un dispositif d'aiguillage du type de celui illustré sur la figure 1, la figure 5 illustre de façon très schématique et fonctionnelle les connexions 6 2898449 entre les sous-étages d'entrée du premier étage illustré sur la figure 3, les sous-étages de sortie du troisième étage illustré sur la figure 4, et les blocs d'aiguillage d'un deuxième étage, - la figure 6 illustre de façon très schématique un exemple d'aiguillage d'un 5 premier groupe d'ensembles de données entre les premières mémoires tampons d'un premier sous-étage d'entrée du premier étage illustré sur la figure 5, et les mémoires tampons d'un premier sous-étage de sortie du troisième étage illustré sur la figure 5, via les blocs d'aiguillage du deuxième étage illustré sur la figure 5, et lo - la figure 7 illustre de façon très schématique un exemple d'aiguillage d'un deuxième groupe d'ensembles de données entre les deuxièmes mémoires tampons d'un premier sous-étage d'entrée du premier étage illustré sur la figure 5, et les mémoires tampons d'un deuxième sous-étage de sortie du troisième étage illustré sur la figure 5, via les blocs d'aiguillage du 15 deuxième étage illustré sur la figure 5. Les dessins annexés pourront non seulement servir à compléter l'invention, mais aussi contribuer à sa définition, le cas échéant. L'invention a pour objet de permettre l'aiguillage de paquets de données selon des très hauts débits au moyen de dispositifs d'aiguillage 20 faciles à contrôler, et donc à configurer, permettant ainsi une utilisation efficace de la bande passante. On se réfère tout d'abord à la figure 1 pour présenter un dispositif d'aiguillage D selon l'invention pouvant être implanté dans un noeud de commutation ou de routage de paquets, comme par exemple un routeur IP ou 25 un commutateur Ethernet, d'un réseau de communication nécessitant des noeuds de grande capacité (comme par exemple un réseau de coeur, mais pas exclusivement). Un dispositif d'aiguillage D comprend des premier El, deuxième E2 et troisième E3 étages. 3o Le premier étage El est chargé de pré-aiguiller vers ses sorties les données qu'il reçoit sur ses entrées sous forme de paquets. Il comprend N sous-étages d'entrée SLCEn (n = 1 à N) parallèles entre eux et comportant chacun ce.s entrées et L sorties, Par exemple, N est égal à 32. "~!la{s, N oeut 7 2898449 prendre n'importe quelle valeur supérieure ou égale à 2. Par exemple, J est égal à 32. Mais, J peut prendre n'importe quelle valeur supérieure ou égale à 2. Un mode de réalisation particulier, non limitatif, consiste à choisir J égal à N. 5 Comme on le verra plus loin, chaque sous-étage d'entrée SLCEn constitue ce que l'on appelle une super carte de lignes . Le deuxième étage E2 est chargé d'aiguiller vers ses JxQ sorties les données pré-aiguillées qu'il reçoit sur ses NxJ entrées en provenance des N sous-étages d'entrée SLCEn. lo Comme cela est illustré sur les figures 5 à 7, le deuxième étage E2 comprend J blocs d'aiguillage BAj (j = 1 à J) parallèles entre eux et comprenant chacun au moins N entrées et au moins Q sorties. Q est de préférence égal à N. Mais, cela n'est pas une obligation. On peut en effet également avoir Q différent de N. 15 Le troisième étage E3 est chargé de post-aiguiller vers ses sorties les données qui ont été aiguillées par le deuxième étage E2 et qu'il reçoit sur ses entrées. Il comprend Q sous-étages de sortie SLCSq (q = 1 à Q) parallèles entre eux et comportant chacun J entrées et des sorties. Le nombre de sorties de chaque sous-étages de sortie SLCSq peut être égal au, ou 20 différent du, nombre d'entrées de chaque sous-étage d'entrée SLCEn. De préférence, N est égal à Q, mais cela n'est pas obligatoire. Dans ce qui suit on considère que N est égal à Q (à titre d'exemple). Le premier étage El est plus précisément chargé de constituer périodiquement N groupes de J ensembles (ou cellules) de données avec des 25 ensembles de données, qui sont respectivement en attente d'aiguillage au sein des N sous-étages d'entrée SLCEn et qui sont destinés aux Q sous-étages de sortie SLCSq. Les J ensembles de données qui constituent chaque groupe présentent tous une même taille (en terme de nombre de bits). Il est important de noter qu'un ensemble de données peut être 30 constitué par une fraction d'un paquet de données reçu ou par plusieurs fractions de paquets reçus. Le premier étage E1 est également chargé de distribuer les J ensembles de chaque groupe qu'il a constitué, qui sont donc issus d'un 8 2898449 même sous-étage d'entrée SLCEn et sont destinés à l'un des Q sous-étages de sortie SLCSq, aux J blocs d'aiguillage BAj du deuxième étage E2, afin qu'ils les aiguillent en parallèle et de façon synchronisée vers le sous-étage de sortie SLCSq destinataire. A cet effet, le deuxième étage E2 dispose de s moyens de contrôle (non représentés) chargés de placer les J blocs d'aiguillage BAj dans une même configuration d'aiguillage adaptée à l'aiguillage simultané et synchronisé des J ensembles de chacun des N groupes. Les moyens de contrôle du dispositif D peuvent modifier, si cela est nécessaire à l'aiguillage, la configuration d'aiguillage des J blocs d'aiguillage le BAj lors de chacune des M périodes de chaque cycle afin que chacun des N sous-étages d'entrée SLCEn puisse transférer un groupe de J ensembles vers au plus l'un des Q sous-étages de sortie SLCSq (lors de chaque période). ll est important de noter que les premier El et troisième E3 étages ne 15 sont pas obligatoirement physiquement dissociés, comme c'est le cas dans l'exemple illustré sur les figures 1 et 3 à 7. Ils peuvent en effet faire parti d'un unique étage d'interfaçage d'entrée/sortie E4 comme cela est illustré sur la figure 2. Dans ce cas, comme illustré, l'étage d'interfaçage d'entrée/sortie E4 peut être constitué de cartes sur lesquelles les entrées et les sorties sont 20 physiquement dissociées et raccordées à des lignes de transmission et donc définissent des ports d'entrée et des ports de sortie. Afin de faciliter la compréhension de la description, il est précisé que : - dans le cas général N fixe le nombre de sous-étages d'entrée SLCEn. Dans le cas où N est égal à Q, N fixe le nombre' maximum de groupes 25 d'ensembles de données qui sont aiguillés en parallèle et de façon synchronisée par le deuxième étage E2 au cours de chacune des M périodes (ou coups d'horloge) de chaque cycle. Si, N est différent de Q, ce nombre maximum est donné par min(N,Q), J fixe le nombre d'ensembles de données que comprend chaque groupe à 3o aiguiller, et M fixe le nombre de périodes (ou coups d'horloge) de chaque cycle, chaque période permettant d'aiguiller jusqu'à N (si N=Q) ou min(N,Q) (si N est différent de Q) groupes de J ensembles en parallèle et de façon 9 2898449 synchronisée. On va maintenant décrire plus en détail, en référence aux figures 3 à 7, des exemples de réalisation et de fonctionnement des trois étages El, E2 et E3 lorsqu'ils font partie d'un dispositif d'aiguillage du type de celui illustré s sur la figure 1. Bien entendu, tout ce qui suit est transposable à un dispositif d'aiguillage du type de celui illustré sur la figure 2, moyennant quelques adaptations qui seront signalées. Sur la figure 3 se trouve illustré un exemple de réalisation d'un sous-étage d'entrée SLCEn d'un premier étage El (parmi les N qu'il comprend). zo Ce sous-étage d'entrée SLCEn comprend tout d'abord au plus K interfaces d'entrée IEnk (k = 1 à K) parallèles entre elles et comportant chacune une ou plusieurs entrées (définissant chacune un port d'entrée) et une sortie. Chaque interface d'entrée IEnk est par exemple une carte de ligne (ou line card) offrant par exemple un débit d'environ 10 Gbits/s. 1s Dans l'exemple illustré sur les figures chaque sous-étage d'entrée SLCEn comprend K interfaces d'entrée IEnk. Par ailleurs, chaque interface d'entrée IEnk peut par exemple être chargée de décomposer chaque paquet de données qu'elle reçoit en au moins un ensemble de données destiné à constituer ou à participer à la 20 constitution d'un groupe devant être aiguillé par le deuxième étage E2. Elle peut être éventuellement agencée pour regrouper les données d'au moins deux ensembles afin de constituer un sur-ensemble destiné à constituer ou à participer à la constitution d'un groupe devant être aiguillé par le deuxième étage E2. Toute technique de constitution d'ensemble ou de sur-ensemble de 25 données connue de l'homme de l'art peut être envisagée, et notamment celle qui est décrite dans le document brevet FR 2864395. Grâce à cette décomposition, suivie d'un éventuel regroupement, on peut donc constituer des ensembles qui comportent toujours sensiblement le même nombre de données (ou bien qui sont vides), permettant ainsi de 30 prendre en compte le fait que les paquets de données reçus ne comprennent pas toujours le même nombre de données utiles. II est également possible de constituer des sur-ensembles (ou sur-cellules) à partir d'ensembles (de taille constante) afin d'adapter le débit en fonction des besoins. 10 2898449 Le sous-étage d'entrée SLCEn comprend également un module d'aiguillage d'entrée MAEn comprenant au plus K entrées, connectées respectivement aux sorties des au plus K interfaces d'entrée IEnk, et J sorties. Ce module d'aiguillage d'entrée MAEn est chargé de pré-aiguiller les 5 ((sur-)ensembles de) données qu'il reçoit sur l'une quelconque de ses au plus K entrées vers l'une quelconque de ses J sorties en fonction d'instructions de configuration reçues des moyens de contrôle du dispositif D. Par exemple, lorsque J = 32, lorsque l'on utilise K=J interfaces d'entrée lEnk et lorsque chaque interface d'entrée lEnk offre un débit de 10 10 Gbits/s, le module d'aiguillage d'entrée MAEn offre un débit de 320 Gbits/s. On notera que le cas J=K n'est pas une obligation. Dans le cas d'un dispositif d'aiguillage D du type de celui illustré sur la figure 2, le module d'aiguillage d'entrée MAEn doit assurer à la fois le pré- aiguillage et le post-aiguillage. Il doit donc offrir un débit double de celui 15 mentionné ci-avant (par exemple 2x320 Gbits/s). Le sous-étage d'entrée SLCEn comprend également J modules d'interfaçage d'entrée SPCnj (j = 1 à J) parallèles entre eux et comportant chacun une entrée connectée à l'une des J sorties du module d'aiguillage d'entrée MAEn, une sortie et Q sous-modules d'entrée BEnjq (n = 1 à N et q = 20 1 à Q). Chaque sous-module d'entrée BEnjq est chargé de stocker temporairement des (sur-)ensembles de données qui doivent être aiguillés par le deuxième étage E2 et qui sont destinés à l'un des sous-étages de sortie SLCSq (de même valeur d'indice q). 25 Ces (sur-)ensembles proviennent des au plus K interfaces d'entrée IEnk via le module d'aiguillage d'entrée MAEn. Pour éviter de gaspiller de la bande passante lors de la construction des groupes d'ensembles expliquée ci-après, le module d'aiguillage d'entrée MAEn peut répartir la charge à destination d'un sous-étage de sortie SLCSq 3o entre les différents modules d'interfaçage d'entrée SPCnj du sous-étage d'entrée SLCEn. Pour cela, lors d'un cycle donné, le module d'aiguillage d'entrée MAEn reçoit dnstructions des moyens de contrôle Oi .e du dispositif D des ~ des ,~. 11 2898449 demandant de répartir les ensembles de données provenant de toutes les interfaces d'entrée lEnk et à destination du même sous-étage de sortie SLCSq sur l'ensemble des sous-modules d'entrée BEnjq, de sorte que l'on ait sensiblement le même nombre d'ensembles stockés sur chacun de ces sous- 5 modules d'entrée BEnjq (j= 1 à J), typiquement avec un écart d'au plus un. Les Q sous-modules d'entrée BEnjq de chaque module d'interfaçage d'entrée SPCnj sont de préférence contrôlés par les moyens de contrôle qui gèrent la configuration des J blocs d'aiguillage BAj du deuxième étage E2. Ainsi, lors de chacune des M périodes d'un cycle tous les sous-modules 10 d'entrée BEnjq, appartenant aux J modules d'interfaçage d'entrée SPCnj d'un même sous-étage d'entrée SLCEn et présentant une même valeur d'indice n, sont sollicités par les moyens de contrôle afin de délivrer respectivement les ensembles (ou sur-ensembles) de données qu'ils stockent en tête de file. Par exemple et comme illustré sur la figure 6, au cours d'un cycle les 15 moyens de contrôle sollicitent d'abord, lors d'une première période, les J sous-modules d'entrée BEnj1 (de chaque sous-étage d'entrée SLCEn) afin qu'ils délivrent sensiblement simultanément J (sur-)ensembles qui constituent un groupe à aiguiller. On obtient ainsi N groupes de J ensembles en parallèle. Puis, comme illustré sur la figure 7, lors de la période suivante du même cycle 20 les moyens de contrôle sollicitent les J sous-modules d'entrée BEnj2 (de chaque sous-étage d'entrée SLCEn) afin qu'ils délivrent sensiblement simultanément J (sur-)ensembles qui constituent un autre groupe à aiguiller. On obtient ainsi N nouveaux groupes de J ensembles en parallèles. Et ainsi de suite jusqu'à ce que le cycle soit terminé et donc que les JxQ sous- 25 modules d'entrée BEnjq de chaque sous-étage d'entrée SLCEn aient délivrés les (sur-)ensembles de tête qu'ils stockaient et donc que M groupes aient été constitués par chaque sous-étage d'entrée SLCEn. Ainsi au cours d'un cycle de M périodes, chaque sous-étage d'entrée SLCEn envoie jusqu'à M groupes d'ensembles, dont Mnq (désignant un 30 nombre inférieur ou égal à m) vers le sous-étage de sortie SLCSq, et chaque sous-étage de sortie SLCSq reçoit jusqu'à M groupes d'ensembles, dont Mnq du sous-étage d'entrée SLCEn, Les moyens de contrôle du dispositif D fixent les valeurs nécessaires pour Mnq à chaque cycle, en fonction des besoins 12 2898449 d'échange de données entre les entrées et les sorties, ces valeurs pouvant changer d'un cycle au cycle suivant. Par exemple, les sous-modules d'entrée BEnjq sont réalisés sous la forme de mémoires tampons de type FIFO ( First ln First Out - premier 5 entré, premier sorti). Il est important de noter qu'à un instant donné les J sous-modules d'entrée BEnjq, présentant une même valeur d'indice q au sein d'un sous-étage d'entrée SLCEn, ne stockent pas forcément tous un (sur-)ensemble de données. Par conséquent, lorsqu'un sous-module d'entrée BEnjq ne stocke lo pas de (sur-)ensemble, il délivre au bloc d'aiguillage BAj un (sur-)ensemble vide ou bien un (sur-)ensemble contenant des données de bourrage (ou padding en anglais). Chaque module d'interfaçage d'entrée SPCnj comporte une sortie offrant par exemple un débit de 10 Gbits/s. 15 Compte tenu du mode de réalisation décrit ci-avant, chaque sous-étage d'entrée SLCEn constitue une super carte de lignes constituée notamment à partir d'au plus J cartes de lignes. Ainsi, lorsque J est égal à 32 et que chaque carte de ligne offre un débit de 10 Gbits/s, chaque super carte de lignes SLCEn offre un débit de 320 Gbits/s. 20 Comme cela est illustré sur les figures 5 à 7, chaque bloc d'aiguillage BAj, du deuxième étage E2, comprend N entrées connectées respectivement aux sorties des N modules d'interfaçage d'entrée SPCnj qui comportent la même valeur d'indice j. Par exemple, le bloc d'aiguillage BAI comprend N entrées connectées respectivement aux sorties des N modules d'interfaçage 25 d'entrée SPCn1 des N sous-étages d'entrée SLCEn, tandis que le bloc d'aiguillage BAJ comprend N entrées connectées respectivement aux sorties des N modules d'interfaçage d'entrée SPCnJ des N sous-étages d'entrée SLCEn. Par ailleurs, chaque bloc d'aiguillage BAj, du deuxième étage E2, o comprend Q sorties (par exemple Q=N, mais cela n'est pas obligatoire). Par convention, on appelle n-ième entrée l'entrée d'un bloc d'aiguillage BAj qui est reliée au sous-étage d'entrée SLCEn, et on appelle q- ième sortie la sortie d'un bloc d'aiguillage BAj cui est reliée au sous-étage de 13 2898449 sortie SLCSq. Un bloc d'aiguillage BAj est configurable dans différentes configurations d'aiguillage de manière à pouvoir faire correspondre n'importe laquelle de ses N entrées à n'importe laquelle de ses Q sorties. Au cours 5 d'une période, un bloc d'aiguillage BAj est apte à recevoir jusqu'à N ensembles de données sur ses N entrées et à aiguiller ces ensembles de données vers ses sorties. De préférence, un bloc d'aiguillage BAj est apte à gérer la contention entre des ensembles de données destinées à une même sortie. Pour cela, on peut utiliser par exemple une matrice de commutation à 10 mémoire. Comme cela est illustré sur les figures 6 et 7, chaque fois que J (sur-) ensembles d'un groupe sont extraits des J sous-modules d'entrée BEnjq (pour une valeur d'indice q donnée, par exemple q = 1 (figure 6) ou q = 2 (figure 7)) d'un sous-étage d'entrée SLCEn (par exemple SLCE1), ils 15 parviennent sur les J n-ièmes (par exemple les premières si n=1) entrées des J blocs d'aiguillage BAj, puis sont aiguillés en interne simultanément et de façon synchronisée, conformément à leur configuration du moment, afin d'être délivrés respectivement sur les J q-ièmes sorties des J blocs d'aiguillage BAj connectées aux J entrées du sous-étage de sortie SLCSq (q pouvant être 20 égal à n au cours de l'une des M périodes d'un cycle, q=1 dans l'exemple de la figure 6 et q=2 dans l'exemple de la figure 7). Sur la figure 4 se trouve illustré un exemple de réalisation d'un sous-étage de sortie SLCSq d'un troisième étage E3. Ce sous-étage de sortie SLCSq comprend tout d'abord J modules 25 d'interfaçage de sortie DPCgj (j = 1 à J) parallèles entre eux et comportant chacun une entrée connectée à l'unedes N sorties (à savoir la q-ième sortie) de l'un des J blocs d'aiguillage BAj, une sortie et P sous-modules de sortie BSnjp (p = 1 à P). Chaque sous-module de sortie BSnjp est chargé de stocker 30 temporairement des (sur-)ensembles de données qui ont été aiguillés par le deuxième étage E2 et qui doivent être post-aiguillés vers une interface de sortie ISgp (de même valeur d'indice p) de son propre sous-étage de sortie SLCSq. Par conséquent, lorsqu'un ensemble de données parvient sur l'entrée 14 2898449 d'un module d'interfaçage de sortie DPCqj, il est aiguillé (afin d'être stocké) vers le sous-module de sortie BSnjp qui est associé à l'interface de sortie ISgp qui est le destinataire dudit ensemble de données. Cet aiguillage (en vue d'un stockage) peut se faire en fonction des informations qui se trouvent s incluses dans l'entête de l'ensemble de données et qui désignent l'interface de sortie destinataire ISgp. Par exemple, les sous-modules de sortie BSnjm sont réalisés sous la forme de mémoires tampons de type FIFO. Lorsqu'un sous-module de sortie BSnjm reçoit du deuxième étage E2 lo un (sur-)ensemble vide (ou ne contenant que des données de bourrage), il ne le stocke pas, car il ne correspond pas à un paquet reçu par le premier étage E1. Chaque sous-étage de sortie SLCSq comprend également un module d'aiguillage de sortie MASq comprenant J entrées connectées respectivement 15 aux J sorties des J modules d'interfaçage de sortie DPCqj et au plus P sorties. Ce module d'aiguillage de sortie MASq est chargé de post-aiguiller les ((sur-)ensembles de) données qu'il reçoit sur l'une quelconque de ses J entrées vers l'une quelconque de ses au plus P sorties en fonction d'instructions de configuration reçues des moyens de contrôle du dispositif D. 20 A chaque période, des (sur-)ensembles de données à post-aiguiller, stockés dans les sous-modules de sorties BSnjp, sont extraits en fonction des instructions reçues des moyens de contrôle du dispositif D, pour alimenter les J entrées du module d'aiguillage de sortie MASq correspondant, pour être aiguillés vers les interfaces de sortie ISgp (présentant le même indice p que 25 celui d'un sous-module BSnjp). La reconstruction des paquets se fait ensuite dans les interfaces de sortie ISgp. Le cadencement du troisième étage E3 est de préférence identique à celui du deuxième étage E2. Mais, cela n'est pas une obligation. Dans l'exemple illustré sur les figures, chaque module d'aiguillage de 30 sortie MASq comprend autant d'entrées (J) que de sorties (P=J). Mais, ce nombre P de sorties pourrait être différent du nombre d d'entrées. Dans le cas d'un dispositif d'aiguillage D du type de celui illustré sur la figure 2, le module d'aiguillage de sortie MAS.; est confondu avec le module J 15 2898449 d'aiguillage d'entrée MAEn et doit assurer à la fois le pré-aiguillage et le post-aiguillage. II doit donc offrir un débit double. Comme indiqué ci-avant, le sous-étage de sortie SLCSq comprend également au plus P interfaces de sortie ISgp (p = 1 à P) parallèles entre elles 5 et comportant chacune une entrée connectée à l'une des sorties du module d'aiguillage de sortie MASq et une ou plusieurs sorties (définissant chacune un port de sortie). Chaque interface de sortie ISgp est par exemple une carte de lignes (ou fine card) offrant un débit d'environ 10 Gbits/s. Dans ce cas, lorsque le nombre P d'interfaces de sortie ISgp est égal à J et lorsque J = 32, 10 le module d'aiguillage de sortie MASq offre un débit de 320 Gbits/s. Le nombre de sorties de chaque interface de sortie ISgp peut être égal au, ou différent du, nombre d'entrées de chaque interface d'entrée IEnk. Par ailleurs, le nombre P d'interfaces de sortie ISgp peut être différent du nombre J de modules d'interfaçage de sortie DPCgj. 15 Lorsque le deuxième étage E2 est chargé d'aiguiller des groupes de (sur-)ensembles de données, chaque interface de sortie ISgp est chargée de reconstituer des paquet(s) de données à partir d'une partie au moins d'au moins un (sur-)ensemble de données qu'elle reçoit du module d'aiguillage de sortie MASq. Toute technique de reconstitution de paquets de données à 20 partir de partie(s) de (sur-)ensemble(s) de données connue de l'homme de l'art peut être envisagée, et notamment celle qui est décrite dans le document brevet FR 2864395. Compte tenu du mode de réalisation décrit ci-avant, chaque sous-étage de sortie SLCSq constitue une super carte de lignes constituée 25 notamment à partir d'au plus J cartes de lignes. Ainsi, lorsque J est égal à 32 et que chaque carte de lignes offre un débit de 10 Gbits/s, chaque super carte de lignes SLCSq offre un débit de 320 Gbits/s. Par conséquent, en mettant en parallèle N = 32 supers cartes de lignes SLCEn et SLCSq de 320 Gbits/s (en entrée et en sortie) et en utilisant un deuxième étage E2 comportant J blocs 30 d'aiguillage (ou de commutation) BAj, on obtient un dispositif d'aiguillage D offrant un débit supérieur à 10 Tbits/s. Bien entendu, en jouant sur les valeurs respectives de J, N, Q et P on peut obtenir de nombreux autres débits, supérieurs ou inférieurs à 10 Tbits/s. 16 2898449 L'invention ne se limite pas aux modes de réalisation de dispositif d'aiguillage et de noeud décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes que pourra envisager l'homme de l'art dans le cadre des revendications ci-après. 5 17 REVENDICATIONS 1. Dispositif d'aiguillage de paquets de données (D) pour un noeud d'un réseau de communication, comportant i) un premier étage (El) comprenant N sous-étages d'entrée (SLCEn) parallèles chargés chacun de pré-aiguiller vers J sorties dudit sous-étage d'entrée des données reçues sur des entrées sous forme de paquets, ii) un deuxième étage (E2) comprenant J blocs d'aiguillage (BAj) parallèles chargés chacun d'aiguiller vers au moins Q sorties des données pré-aiguillées reçues sur au moins N entrées, et un zo troisième étage (E3) comprenant Q sous- étages de sortie (SLCSq) parallèles chargés chacun de post-aiguiller vers des sorties des données aiguillées reçues sur J entrées dudit sous-étage de sortie, caractérisé en ce que ledit premier étage (El) est agencé pour constituer sur des cycles, comprenant M périodes, des groupes d'ensembles de données, un groupe incluant J 15 ensembles de données en attente d'aiguillage au sein d'un même sous-étage d'entrée (SLCEn) et destinés à l'un desdits sous-étages de sortie (SLCSq), et pour distribuer les J ensembles de chaque groupe, ayant un même sous-étage d'entrée et un même sous-étage de sortie, auxdits J blocs d'aiguillage (BAj) tous placés dans une même configuration d'aiguillage, de sorte qu'ils les 20 aiguillent en parallèle et de façon synchronisée vers un sous-étage de sortie destinataire, ladite configuration d'aiguillage des J blocs d'aiguillage (BAj) pouvant être modifiée à chaque période de sorte qu'au cours d'un cycle de M périodes chacun desdits sous-étages de sortie (SLCSq) puisse recevoir tous les groupes d'ensembles de données qu'il doit post-aiguiller. 25 2. Dispositif selon la revendication 1, caractérisé en ce que chaque sous-étage d'entrée (SLCEn) comprend i) au plus K interfaces d'entrée (IEnk) comportant chacune au moins une entrée et une sortie, ii) un module d'aiguillage d'entrée (MAEn) comprenant au plus K entrées connectées respectivement aux sorties des au plus K interfaces d'entrée (IEnk) et J 30 sorties, et iii) J modules d'interfaçage d'entrée (SPCnj) comportant chacun une entrée connectée à l'une des J sorties dudit module d'aiguillage d'entrée (MAEn), une sortie et Q sous-modules d'entrée (BEnjq) propres chacun à stocker temporairement des ensembles de données à aiguiller destinés à l'un 18 2898449 desdits sous-étage de sortie (SLCSq) et à délivrer à chaque période d'un cycle un ensemble de données destiné à faire partie d'un groupe, et en ce que chaque module d'aiguillage d'entrée (MAEn) est agencé pour aiguiller des ensembles de données provenant de l'une desdites au plus K interfaces s d'entrée (lEnk) vers l'un desdits J modules d'interfaçage d'entrée (SPCnj). 3. Dispositif selon la revendication 2, caractérisé en ce que ledit module d'aiguillage d'entrée (MAEn) est agencé, à réception d'instructions, pour aiguiller au cours d'un cycle un nombre sensiblement égal d'ensembles, provenant desdites interfaces de sortie (IEnk) et à destination d'un même io sous-étage de sortie (SLCSq), vers chacun des modules d'interfaçage d'entrée (SPCnj). 4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce que chaque sous-étage de sortie (SLCSq) comprend i) J modules d'interfaçage de sortie (DPCqj) comportant chacun une entrée connectée à l'une des Q sorties 15 de l'un des J blocs d'aiguillage (BAj), une sortie et P sous-modules de sortie (BSnjm) propres chacun à stocker temporairement des ensembles de données à post-aiguiller, issus de groupes, ii) un module d'aiguillage de sortie (MASq) comprenant J entrées connectées respectivement aux J sorties des J modules d'interfaçage de sortie (DPCqj) et au plus P sorties, et iii) au plus P 20 interfaces de sortie (ISgp) comportant chacune une entrée et au moins une sortie, et en ce que chaque module d'aiguillage de sortie (MASq) est agencé pour aiguiller des ensembles de données stockés dans l'un desdits P sous-modules de sortie (BSnjm) de l'un desdits J modules d'interfaçage de sortie (DPCqj) vers l'une desdites au plus P interfaces de sortie (ISgp). 25 5. Dispositif selon l'une des revendications 1 à 4, caractérisé en ce que ledit premier étage (E1) est agencé pour décomposer chaque paquet de données qu'il reçoit en au moins un ensemble de données destiné à constituer un groupe. 6. Dispositif selon la revendication 5, caractérisé en ce que ledit 3o troisième étage (F3) est agencé pour reconstituer chaque paquet de données, initialement reçu puis décomposé par ledit premier étage (El}, à partir d'au moins un ensemble de données reçu dudit deuxième étage (E2). 7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce que 19 2898449 ledit premier étage (El) est agencé pour constituer des sur-ensembles de données à partir d'au moins deux ensembles de données et pour constituer des groupes à partir de J sur-ensembles. 8. Dispositif selon la revendication 7, caractérisé en ce que ledit s troisième étage (E3) est agencé pour reconstituer chaque paquet de données, initialement reçu puis décomposé par ledit premier étage (El), à partir d'une partie d'au moins un sur-ensemble de données reçu dudit deuxième étage (E2). 9. Dispositif selon l'une des revendications 1 à 8, caractérisé en ce que lo M est supérieur ou égal à N. 10. Dispositif selon l'une des revendications 1 à 9, caractérisé en ce que Q est égal à N. 11. Dispositif selon l'une des revendications 1 à 10, caractérisé en ce que J est égal à N. 15 12. Dispositif selon l'une des revendications 1 à 11, caractérisé en ce que K est égal à J. 13. Dispositif selon l'une des revendications 1 à 12, caractérisé en ce que J est égal à P. 14. Dispositif selon l'une des revendications 1 à 13, caractérisé en ce 20 que lesdits premier (El) et troisième (E3) étages sont regroupés au sein d'un étage d'interfaçage d'entrée/sortie (E4) dans lequel lesdites entrées et lesdites sorties sont physiquement dissociées. 15. Noeud pour un réseau de communication, caractérisé en ce qu'il comprend au moins un dispositif d'aiguillage (D) selon l'une des 25 revendications précédentes.