Brevet FR2839835A1 — publié le 20031121

vent des donnees multimedia. 1 2839835 ROUTEUR ET PROCEDE DE CLASSIFICATION DE PAQUETS IP POUR LA MISE EN (EUVRE DUDIT ROUTEUR - La presente invention concerne le routeur et un procede de classification de paquets IP (Internet Protocol), en particulier pour fournir une qualite de service (QdS) differenciee. Les routeurs les plus recents et les plus communement utilises ne fournissent pas de services differencies en fonction des caracteristiques des donnees transferees dans la mesure ou ils vent concus pour fournir un simple service. Pour des services Internet de qualite controlable, un routeur doit etre en mesure de supporter un controle d' admission de chaque paquet recu et de reservation de bande passante, de file d'attente par flux et un ordonnancement equitable des paquets recus. Un service differencie est etabli sur la base des regles definissant la condition d'appartenance des paquets recus a chaque flux et de son action correspondante. Une unite fonctionnelle, dans laquelle les paquets vent classes selon les flux et traites sur la base d'une telle regle, est nommee classificateur de paquets. En pratique, les regles appliquees aux flux de paquets respectifs vent gerees par un routeur sous la forme de tables de flux. Afin de fournir des services differencies pour chaque flux de paquets, chaque arrivee de paquet necessite une recherche de table de flux. Le Groupe de travail pour la standardisation d'Internet (ETF) et l'organisation normative d'Internet, 2 0 conseillent que la recherche de table de flux soit fondee sur six valeurs de champs multiples d'une entete de paquet, y compris parmi d'autres sources et destination les adresses IP, les numeros de ports de la source et la destination TCP/UDP, le type de protocole IP et le point de code de service differencie (DSCP). Toutefois, cette recherche sur la base de tels champs multiples pour chaque paquet arrivant a un routeur provoque une charge importante de travail sur le routage. Precisement, avec un accroissement necessaire de la vitesse de traitement des paquets, la charge de travail generee par la classification de paquets susmentionnee staccro^t egalement. Cela implique de nouvelles approches 2 2839835 pour reduire la charge de travail suscitee par la classification susmentionnee des paquets. Pour resoudre les problemes decrits ci-dessus, un objet de la presente invention est de proposer un routeur susceptible de maximaliser la performance de la classification des paquets en minimisant la charge de travail dans un procede de routage genere par la classification des paquets et de proposer egal ement un pro c ede de cl as s ifi cation de p aquets d ' un protoc o le Internet (IP) rapide mis en acuvre dans le routeur. Plus precisement, ['invention a pour objet un routeur 1 0 comprenant: - un client de modalites de qualite de service (QdS) pour transformer des modalites QdS recues d'un systeme servour de modalites QdS en donnees de contr81e de ressource QdS, - un processeur de tables de flux etablissant une pluralite de tables de flux en reponse aux donnees de contr81e de ressource QdS, - un classificateur de paquets classifiant les paquets recus selon un flux sur la base des donnees stockees dans les tables de flux et generant des codes d'exploitation, et - un contr81eur de ressource QdS contr81ant chaque paquet recu 2 0 a reexpedier sur une base de type flux par flux en reponse aux codes d' exploitation et contr81ant l ' ordonnancement de ressources emises. Selon des modes preferes de realisation de ['invention: - le routeur comprend en outre une premiere memoire pour stocker la pluralite des tables de flux; 2 5 - le classificateur de paquets comprend, un extracteur de clef de recherche a champs multiples pour extraire des donnees de champs multiples des paquets recus, un classificateur de classes differenciees, classifiant les paquets recus selon les classes differenciees, une pluralite de moteurs de recherche de tables de flux de classes differenciees recherchant les donnees dans les tables de flux concernant les classes differenciees respectives, une seconde memoire pour stocker les saisies de tables recemment recherchees dans les donnees de tables de 3 2839835 - flux, un controleur de segments contr81ant les tailles des segments de la seconde memoire en unites de classes differenciees, une pluralite de comparateurs de memoire pour fournir une interface permettant de rechercher dans les tables de flux presentes dans la premiere memoire si la recherche dans la seconde memoire n'a pas ete fructueuse, et un mediateur de signaux emis pour arbitrer les resultats de la recherche des tables de flux de maniere a ce qu'ils soient emis de maniere sequentielle; - la premiere memoire est une memoire dynamique (DRAM) installee a l'exterieur du classificateur de paquets; - la seconde memoire est une memoire cache installee a l'interieur du classificateur de paquets; - la seconde memoire comprend une pluralite de tables de flux segmentees de maniere a apparier les tables de flux comprises dans la premiere memoire; - les moteurs de recherche de tables de flux de classes differenciees vent apparies avec les tables de flux comprises dans la seconde memoire de maniere a realiser une recherche de flux parallele; - les comparateurs de memoire vent apparies avec la pluralite de tables de flux comprise dans la premiere memoire de maniere a rechercher la 2 0 pluralite de tables de flux comprise dans la premiere memoire; - l a plural ite de c omp arateurs de memo ire sto cke l es resultats de la recherche fructueuse des tables de flux de la premiere memoire dans la pluralite de tables de flux de la seconde memoire; - le contr81eur de segments classifie les classes differenciees des 2 5 tables de flux a stocker dans la seconde memoire en groupes de services superieur et inferieur, et le segment du groupe de service superieur est plus grand que celui du groupe de service inferieur; - le contr81eur de segments segmente le groupe de service superieur en parties fixes egales; 4 2839835 - le contr81eur de segments segmente de maniere inegale le groupe de service inferieur de maniere proportionnelle a la frequence des services fournis pour chacune des classes differenciees; - lorsque le groupe de service superieur est prevu pour etre segmente a une taille inferieure a la taille de segment attribuee pendant la periode precedente, le controleur de segment libere de son utilisation un segment deja occupe de la seconde memoire dans l'ordre des segments de memoire les moins recemment utilisees; - la periode du segment de chacun des groupes de services superieur et inferieur varie en fonction de la difference entre la frequence d' occurrences reelle de la seconde memoire comptabilisee par classes differenciees et la frequence d'occurrences de consigne de la seconde memoire; - le contrdleur de segments accrolt la periode de segment de la difference entre la frequence d' occurrences reelle et la frequence d' occurrences de consigne, si la frequence d'occurrences reelle depasse la frequence d'occurrences de consigne; - le controleur de segments diminue la periode de segment de la difference entre la frequence d'occurrences reelle et la frequence d' occurrences de consigne, si la frequence d' occurrences reelle est inferieure a la frequence 2 0 d'occurrences de consigne; - le mediateur de signal de sortie stocke les resultats de recherche de tables de flux generes parallelement dans sa memoire a epuisement successif (FIFO) et sort de maniere sequentielle les resultats de recherche de tables de flux sur le mode premier arrive premier servi (FIFO); 2 5 L' invention a egalement pour objet un procede de classification de paquets comprenant les etapes consistent a: extraire une clef de recherche a champs multiples d'un paquet recu, extraire un point de code de service differencie de la clef de 3 0 recherche a champs multiples extraite, 2839835 - classifier le paquet recu scion les classes differenciees en reponse au champ de point de code de service differencie extrait, - rechercher On premier groupe de table de flux correspondent au champ de code de point de code de service differencie en reponse a la clef de recherche a champs multiples, - extraire les codes d' exploitation du resultat de la recherche si la recherche dans le premier groupe de tables a ete fructueuse, et - parcourir un second groupe de tables de flux correspondent au champ de point de code de service differencie en reponse a la clef de recherche a champs multiples, si la recherche dans le premier groupe de tables de flux a echoue et extraire du resultat de la recherche dans le second groupe de tables de flux les codes d'exploitation, - dans loquel, le premier groupe de tables de flux est stocke dans une premiere memoire et le second groupe de tables de flux est stocke dans une seconde memoire. Selon des modes preferes de realisation de ['invention: - la premiere memoire est une memoire cache installee a l'interieur du classificateur de paquets; - la seconde memoire est une memoire dynamique DRAM 2 0 installee a l'exterieur du classificateur de paquets; - le premier groupe de tables de flux stocke le resultat de recherche recense; - le premier groupe de tables de flux est segmente pour apparier la pluralite des tables de flux comprises dans le second groupe de tables de flux. Avantageusement, le procede comprend en outre les etapes consistent a: classifier la premiere memoire en un groupe de service superieur et un groupe de service inferieur, - segmenter les groupes de service superieur et service inferieur, et 6 2839835 s - moduler la periode de segmentation de chacun des groupes de service superieur et inferieur. Selon d'autres modes preferes de realisation de ['invention: - les segments du groupe de service superieur vent plus grands que ceux du groupe de service inferieur; - le groupe de service superieur est segmente en parties de tailles fixe et egales; - le groupe de service inferieur est segmente de maniere inegale et proportionnellement a la frequence des services de chaque classe differenciee 1 0 pourvue; - le segment de groupe de service comprend les etapes consistent a calculer le taux de service a partir de la frequence des services de chaque classe differenciee dans le groupe de service inferieur pourvu, calculer une quantite de modulation de segment pour chaque classe differenciee dans le groupe de service inferieur, repertorier les classes differenciees presentant des quantites de modulation negatives dans le groupe de service inferieur si les quantites de modulation de segment vent negatives, exclure un espace memoire correspondent a la quantite de modulation de segment pour chaque classe differenciee repertoriee de la memoire segmentee, repertorier les classes differenciees presentant des quantites de modulation positives dans le groupe de service inferieur si les quantites de modulation de segment vent positives et, aj outer un espace memoire correspondent a la quantite de modulation de segment pour chaque classe differenciee repertoriee de la memoire segmentee. Preferentiellement, le taux de service est obtenu en divisant la frequence des services d'une classe differenciee par la frequence des services de toutes les classes differenciees dans le groupe de service inferieur. De maniere avantageuse, la quantite de modulation de segment pour chaque classe differenciee est obtenue en soustrayant la taille d'un segment actuellement attribuee a chaque classe differenciee du produit de la taille de la 3 0 memoire du groupe de service inferieur par le taux de service. 7 2839835 De preference, une premiere zone de memoire est exclue de la premiere memoire segmentee dans l'ordre des zones de memoire utilisees le moins recemment. Selon une variante de realisation de ['invention, la modulation de la periode de segmentation comprend les etapes consistent a calculer la frequence d' occurrences pour chaque classe differenciee, calculer la frequence d' occurrences pour toutes les classes differenciees en reponse a la frequence d'occurrences calculee pour chaque classe differenciee, obtenir une equence d' occurrences reelle en additionnant les frequences d' occurrences pour les classes differenciees respectives, obtenir une frequence d'occurrences estimee en multipliant un taux d' occurrences de consigne preetabli par le nombre de paquets recus pendant une periode donnee, calculer une quantite de modulation de periode en soustrayant la frequence d' occurrences estimee de la frequence d' occurrences reelle, actualiser une valeur de periode etablie en ajoutant la valeur de periode etablie a la valeur de modulation de periode et, etablir la valeur du compteur de periode en tent que valeur de periode etablie. L'invention a par ailleurs pour objet un support d'enregistrement risible par un ordinateur dans lequel un programme d'ordinateur pour un procede tel que decrit precedemment est enregistre. 2 0 D'autres caracteristiques, details et avantages de ['invention ressortiront a la lecture de la description faite en reference aux dessins annexes donnes a titre d'exemple qui representent respectivement: - la figure 1, un schema fonctionnel d'un reseau fonde sur des modalites de qualite de service (QdS) comprenant un routeur selon un mode de 2 5 realisation prefere de la presente invention; - la figure 2, un schema fonctionnel detaille du classificateur de paquets de la figure 1; - la fgure 3, la structure d'une clef de recherche a champs multiples destinee a etre utilisee pour la classification des paquets; - la figure 4, un organigramme representant le fonctionnement global du classificateur de paquets de la figure 2; 8 2839835 - la figure 5, un organigramme representant un procede de gestion de segment dynamique realise dans le controleur de segment de memoire cache integree de la figure 2; - la figure 6, un organigramme detaille representant ['application de l'algorithme de modulation de segment de la figure 5; et - la figure 7, un organigramme detaille representant ['application de l'algorithme de modulation de periode de la figure 5. En se referent a la figure 1, un reseau fonde sur des modalites de qualite de service (QdS) 100 comprend un systeme de serveur de modalites de QdS 1 et un routeur 10. Le systeme de serveur de qualite QdS 1 integre et gere les modalites QdS appropriees aux donnees de controle de source QdS associees au routeur 10. Pour ce faire, le systeme de serveur de modalites QdS charge des modalites QdS sur le routeur 10 sur la base des modalites extraites les plus significatives geree par le gestionnaire de reseau. Le routeur 10 relic des reseaux independents en utilisant un protocole de transmission unique et comprend de maniere generale un processeur principal 20 et une carte interface de ligne 30. Le routeur 10 effectue une classification de parquets IP a grande vitesse de maniere a fournir des services QdS differencies pour les paquets respectifs re,cus par la carte interface de ligne 2 0 30. La raison d'etre principale de la classification de paquets IP est d'extraire une table de donnees de classification de paquets (nomme ci-dessous tables de flux) predefinie dans les modalites de QdS chargees et acquerir les donnees de contr61e de ressource QdS (nominees ci-dessous code d' exploitation) sur un paquet. Le nombre de saisies de recherche dans la table de flux est en croissance continue en 2 5 raison de la demande d'une diversification et d'une sous division des modalites de QdS par le Fournisseur de Service Internet qui vise la rentabilite grace a Internet. Plus precisement, le processeur principal 20 comprend un client de modalites QdS 22 et controle les operations d'un classificateur de paquets 60 et un programme d'ordonnancement de sortie 95, tous deux inclus dans la carte interface de ligne 30. Le client des modalites QdS 22 transforme les modalites de QdS re,cues du systeme de serveur de modalites QdS 1 en donnees de controle de ressource de modalites QdS, et arbitre les donnees de controle de ressource de QdS vers la carte interface de ligne 30. La carte interface de ligne 30 comprend un processeur de tables de flux 40, une memoire externe non-integree 50 possedant des tables de la premiere a la m-ieme classe, 501 a 50m, un classificateur de paquets 60, un tampon de paquets re,cus 70, un controleur de ressource QdS 80, un parcours de reexpedition presentant des premier a n-ieme parcours de reexpedition de flux 90 a 90n et un programme d'ordonnancement de paquets 965. Ici m et n vent est entiers egaux ou superieur a 1. Les tables de flux 501 a 50m des premiere a m-ieme classes stockent des donnees de contr81e de ressource QdS pour les flux respectifs fournis par le client de modalites QdS 22. Le processeur de tables de flux etablit et gere les tables de flux 501 a 50m des premiere a m-ieme classes (661 a 66m sur la figure 2) sur la carte d'interface de ligne 30 en reponse aux donnees de contrdle de ressource QdS re,cues du client de modalites QdS 22. Le classificateur de paquets classifie les paquets rapides re,cus selon le flux sur la base des donnees sur les tables 501 a 50m des premiere a m-ieme classes. Le tampon de paquets re,cus 70 stocke momentanement les paquets pendant que la classification des paquets est realisee. Les premier au n-ieme parcours de reexpedition de flux 901 a 90n reexpedient les paquets classifies par flux. Le programme d'ordonnancement de paquets emis 95 multiplexe les parquets transmis et ordonnance les paquets emis de la carte d'interface de ligne 30. Le controleur de source QdS 80 controle les fonctionnements des parcours 901 a 90n des premier au n-ieme flux et le programme d'ordonnancement 95 en reponse au code d'exploitation d'un flux correspondent genere grace a la classification de parquets par le classificateur de paquets 60. Dans le reseau fonde sur des modalites QdS 100, le systeme de servour de modalites QdS 1 fournit des donnees de modalites QdS au client de modalites QdS 22 inclus dans le processeur principal 20. Le client de modalites QdS 22 reconstruit les donnees de controle de ressource QdS sur la base des 3 0 donnees de modalites QdS et transfert les donnees de controle de ressource QdS a la carte interface de ligne 30. Dans la carte interface de ligne 30, les parcours de 2839835 reexpedition 901 a 90n realisent chacun un mecanisme de controle de trafic approprie pour un flux correspondent et le programme d'ordonnancement de paquets 95 au port de sortie controle l'utilisation d'une largeur de bande de sortie pour fournir des qualites differenciees de service pour les differents flux. Pour etre plus precis, le processeur de tables de flux 40 de la carte d' interface de ligne 3 0 recoit les donnees de contrGle de ressource QdS provenant du client de modalites QdS 22, classifie les donnees de controle de ressource QdS en classes differenciees (par exemple: une condition de classification, la forme de combinaison d'une action correspondante, etc.) et stocke les classes differenciees dans les tables de flux 501 a 50n des premiere a m-ieme classes. Les tables de flux 501 a 50n des premiere a m-ieme classes vent etablies sur la memoire externe non-integree 50 existent individuellement a l'exterieur du classificateur de paquets 60 et classes selon une classe differenciee 1 5 sur la base de la valeur de point de code d'un service differencie. Ici, si le nombre des classes differenciees determine par le systime serveur de modalites QdS est m, le nombre de tables de flux etablies sur la carte interface de ligne 30 est egalement m. Le classificateur de paquets 60 classifie les paquets recus vers les tables de flux 501 a 50m en fonction du flux. La classification de paquets comprend un pro c ede de s el ection d ' un p arc ours de reexp edition p armi l es premier a n-ieme parcours de reexpedition 901 a 90n en recherchant dans les tables de flux 501 a 50n de la premiere a la m- ieme classe en fonction de chaque paquet arrivant a la carte interface de ligne 30 et un procede pour controler les fonctionnements des parcours de reexpedition 901 a 90n des premier a n-ieme flux Un tel procede de classification de paquets est realise sur la base des donnees d'entOte d'un paquet. Lors de la classification des paquets, la totalite du paquet est momentanement stocke dans le tampon de paquets recus 70. Lorsque le classificateur de paquets 60 a acheve le procede de classification de paquets pour le paquet correspondent et transmet un signal de controle de paquet 11 2839835 au tampon de paquets recus 70, le paquet stocke dans le tampon de paquets recus est envoye au premier a n-ieme parcours de reexpedition de flux 901 a 90n. Chacun des parcours de reexpedition de flux 901 a 90n de la figure l est presente comme une abstraction d'une action de traitement reelle definie pour chaque flux. Ici, ['action de traitement reelle est definie comme le fait d'ecarter un paquet ou remarquer la valeur de champ de point de code differencie IP dans l'entete d'un paquet de maniere a moduler la classe d'un service. Lors de la classification de paquets, la recherche de toutes les saisies de tables de chaque table de classe differenciee en accedant a la memoire externe non-integree 50 existent a l'exterieur du classificateur de paquets 60 par rapport a tous les paquets recus peut representer une charge importante pour le systeme du routeur. Aussi, afin de repondre a ce probleme, le routeur lO, selon la presente invention, stocke les saisies de tables recemment recherchees dans une memoire cache integree 660 de la figure 2, qui se trouve a l'interieur du classificateur de paquets 60. Il s'ensuit que la frequence d'interactions entre le classificateur de paquets 60 et la memoire externe non-integree 50 est reduite, ce qui ameliore la rapidite de la classification de paquets. Dans la presente invention, le routeur lO est equipe d'une memoire integree et d'une memoire non-integree en fonction de la mise en ceuvre materielle. La memoire integree presente une memoire cache rapide de faible capacite a l'interieur du classificateur de paquets 60 et la memoire non-integree presente generalement une memoire de grande capacite, telle qu'une memoire dynamique (DRAM), installee a l'exterieur du classificateur 60. L'algorithme et la structure de controle d'une memoire integree 2 5 vent appliques a la memoire cache et l'algorithme et la structure de controle d'une memoire non-integree vent appliques a la memoire externe generale. L'algorithme de classification de paquets, selon la presente invention, peut etre applique a la fois au logiciel et au materiel. La figure 2 est un schema fonctionnel detaille du classificateur de paquets 60 de la figure 1. En se referent a la figure 2, le classificateur de 12 2839835 paquets 60 est essentiellement compose d'une unite de recherche de parcours 610 et d'une unite de contrOle 690. L'unite de recherche de parcours 610 recherche les tables de flux par rapport a chaque paquet recu pour determiner comment trailer un flux correspondent. L'unite de recherche de parcours 610 comprend On extracteur de clef de recherche de champs multiples 620, un classificateur de classes differenciees 630, une pluralite de moteurs de recherche de tables de flux de classes differenciees 641 a 64m, une memoire cache integree 660 presentant One pluralite de tables de flux de classes differenciees 661 a 66m et une pluralite de comparateurs de memoire externe non-integree de classe differenciee 681 a 68n. L'extracteur de clef de recherche de champs multiples 620 extrait les donnees de champs multiples provenant de l'entete d'un paquet reck pour creer une clef de recherche de champs multiples 300 sur la figure 3. La figure 3 represente la structure de la clef de recherche de champs multiples destinee a etre utilisee pour la classification de paquets. En se referent a la figure 3, la clef de recherche de champs multiples 300 presente six champs: un champ de point de code de service differencie 310, des champs d'adresse IP de source et de destination 320 et 330, un champ de type de protocole IP 340 et des champs de numeros de port TCP/UDP de source et de destination 350 et 360. Le champ de point de code de service differencie 310 presente un byte, les champs d'adresse IP de source et destination 320 et 330 presentent deux bytes, le champ de type protocole IP presente un byte et les champs de numero de port TCP/UDP de source et de destination ont quatre bytes chacun. En revenant a la figure 2, le classificateur de classes 2 5 differenciees 630 realise une classification de classes differenciees d'une maniere appariee exacte sur la base du champ de point de code de service differencie 310 de la clef de recherche de champs multiples 300 creee par l'extracteur de clef de recherche de champs multiples 620. Les moteurs de recherche des tables de flux de premiere a m ieme classes differenciees 641 a 64n recherchent en parallele les tables de flux 661 a 66n de la premiere a la m-ieme classe differenciee. Les tables de flux de 13 2839835 premiere a m-ieme classes differenciees 661 a 66m, qui vent etablies selon les classes differenciees sur la memoire cache integree 660, stockent les saisies de table recemment recherchees. Les tables de flux 661 a 66n des premiere a m-ieme classes differenciees vent segmentees de maniere a etre appariees avec les tables de flux 501 a 50m des premiere a m-ieme classes comprises dans la memoire externe non-integree 50. Si la memoire cache integree 660 echoue dans la recherche des tables de flux 661 a 66m, les comparateurs 681 a 68m de memoire externe non- integree de premiere a m-ieme classes differenciees recherchent les tables de flux 501 a 50m des premiere a m-ieme classes comprises dans la memoire externe non-integree 50 en reponse aux demandes de recherche de tables de flux des moteurs de recherche 641 a 64m de tables de flux des premiere a m-ieme classes differenciees. Si la recherche de la memoire cache integree 660 est fructueuse, les resultats de la recherche de la table de flux vent stockes dans les tables de flux 661 1 5 a 66m de la memoire cache integree 660. L'unite de controle 690 comprend un mediateur 695 de signal de sortie et un controleur de segment de memoire cache integree 697, et suit et controle le fonctionnement de la recherche de parcours. Le mediateur de signal de sortie 695 stocke la sortie de codes d'exploitation des moteurs de recherche 641 a 64m de table de flux de premiere a m-ieme classe differenciee dans son tampon interne (non represente) presentant une structure a epuisement successif (FIFO). Le mediateur de signal de sortie 695 sort egalement de maniere sequentielle des codes d' exploitation stockes avec le controleur de ressource QdS 80 et, en meme temps, envoie un signal de controle de paquet au tampon de paquets recus 70 de 2 5 maniere a ce que le paquet soit transfere vers un parcours de reexpedition parmi les parcours 901 a 90n de reexpedition de premier a n-ieme flux. Le controleur de segment de memoire cache integree 697 classifie toutes les classes differenciees en groupes superieur et inferieur. Le groupe de service superieur est divise a parts egales et le groupe de service inferieur est divise de maniere inegale en proportion de la frequence de reception de service pour chaque classe. Cela ameliore la fonction de recherche de flux. La modulation et la gestion par ['unite de contr81e 14 2839835 690 des tailles des segments a allouer aux moteurs de recherche 641 a 64m de tables de flux de premiere a m-ieme classe, sera decrit en details ulterieurement en reference aux figures 5, 6 et 7. Le classificateur de paquets 60, selon la presente invention, traite independamment les classes sur la base du champ de point de code de service differencie 310. En consequence les classes differenciees vent recherchees en parallele. D'ou, tent que des paquets recus consecutivement n'appartiennent pas a la meme classe differenciee, ils peuvent etretraites sans avoir besoin d'attendre jusqu'a ce que le paquet precedent ait ete completement classifie. 1 0 Lorsque la recherche des tables de flux 661 a 66m dans la cache memoire integree 660 echoue et que les tables SO1 a SOm de la memoire externe non-integree 50 dolvent etre parcourues, si le classificateur de paquets 60 ne supporte pas une telle recherche parallele comme decrit cidessus, il existe une probabilite que la file d'attente dans le tampon de paquets recus 70 et le delai de traitement de paquet cree pendant la classification ne s'allongent inutilement. D'ou, ['introduction d'une technique de pipeline dans la classification de paquets de maniere a resoudre ce probleme et reduire ainsi le temps global de traitement des paquets. La memo ire cache integree 6 6 0 qui foncti onne rapi dement, 2 0 possede une copie des saisies des tables de flux frequemment utilisees ce qui rend possible une recherche rapide des tables de flux. Chacune des tables de flux 661 a 66m existent dans la memoire cache 660 qui est une memoire interne rapide, est segmentee selon une classe differente. Les segments ne vent pas seulement conserves statiquement mais modules dynamiquement sur la base du resultat d'un suivi periodique de la performance de classification des paquets. Une telle modulation dynamique accro^t la probabilite de succes d'une recherche des tables de flux dans la memoire cache. En considerant ['ensemble du procede de classification des 3 0 paquets a intervalles d'une periodicite predeterminee, la classification des paquets n'est pas realisee uniformement dans toutes les classes differenciees pendant une 2839835 periode determinee. Par exemple, certaines classes differenciees vent sujettes a de frequentes classifications de paquets et certaines classes differenciees presentent une faible frequence de classification de paquets. Ainsi, dans la presente invention, le contr81eur de segments de la memoire cache integree 697 dans ['unite de contr81e 690, contr81e-telle le nombre le nombre d'elements de tables de flux a placer en permanence sur la memoire cache integree 660 en fonction de la frequence d'occurrences de classification de paquets et maximalise-t-elle l'efficacite d'utilisation de la memoire cache integree 660. Le mediateur de signal de sortie 695 re,coit les codes d'exploitation generes simultanement par les moteurs de recherche 641 a 64m des tables de flux des premiere a m-ieme classes differenciees. Ici, les codes d'exploitation correspondent au resultat de la classification par le classificateur de paquets 60. Ensuite, le mediateur de signal de sortie 695 stocke momentanement les codes d' exploitation re,cus dans son tampon FIFO interne (non represente), rearrange les codes d'exploitation dans un ordre de sortie et les transmet au controleur de ressource QdS 80. Les paquets associes aux codes d'exploitation doivent etre transferee du tampon de paquets re,cus vers les parcours de reexpedition de flux 901 a 90n de maniere synchrone a la sortie des codes d'exploitation. Le mediateur 2 0 de signal de sortie 695 transfert un signal de controle de paquet au tampon de paquets re,cus 70 de maniere synchrone a la sortie des codes d'exploitation de maniere a synchroniser la transmission des codes d'exploitation et la transmission des paquets. Le signal de controle de paquet contient un identificateur pour un paquet a transferee et un identificateur pour un parcours de reexpedition pour chaque flux. Le tampon de paquets re,cus 70 transfert un paquet correspondent a l'identificateur compris dans le signal de contrBle de paquet au parcours de reexpedition de flux correspondent a l'identificateur pour le parcours de reexpedition de flux dans le signal de contr81e de paquet. La figure 4 est un organigramme representant le fonctionnement global du classificateur de paquets 60 de la figure 2. Le classificateur de paquets classifie les paquets selon les classes differenciees et accede aux tables de flux en 1 6 2839835 fonction du resultat de la classification. Le procede de la figure 4 concerne la classification par rapport a un paquet re,cu et une serie d' operations associees a cette classification. La classification de paquets par le classificateur de paquets 60 est realisee en repetant une operation de retardement de reception de paquet jusqu'a ce que la classification soit achevee et une operation de recherche des tables de flux lors de la reception d'un paquet. Dans la presente invention, une telle serie d' operations pour la classification est realisee sur le mode pipeline. A savoir, un paquet arrivant a la carte interface de ligne 30 peut etre traite sans attente de son tout jusquta ce qu'une classification de paquets comprenant les etapes 6001 a 6015 soit achevee pour ce qui concerne le paquet precedent. Ici, si deux paquets re,cus consecutivement n'appartiennent pas a la m8me classe differenciee, lorsqutun paquet acheve une etape de classification de classe differenciee 6004 et est ensuite soumis a une recherche de tables de flux sur la base d'une clef de recherche a 1 5 champs multiples, le paquet suivant peut egalement subir une etape de classifications de classe differenciee 6004 et passer immediatement a ['operation de recherche des tables de flux comprenant ltetape 6005 et les etapes suivantes. Le classificateur de paquets 60, selon la presente invention, effectue une classification de paquets multiplexes par la technique du pipeline decrite ci 2 0 dessus, et reduit le temps global de traitement du paquet. En se referent a la figure 4, en premier lieu, le classificateur de paquets 60 est tout d'abord a ltetat d'attente de reception de paquet, a l'etape 6001. A cet instant, un paquet arrive au tampon de paquets re,cus 70 et le tampon de paquets re,cus 70 genere un signal d'information de l'arrivee d'un paquet a 2 5 l'etape 6002. Ensuite, une clef de recherche a champs multiples 300 est extraite de l'ent8te du paquet stocke dans le tampon de paquets re,cus 70, a l'etape 6003. Puis, les classes vent classifiees sur la base du champ de point de code de service differencie 310 extrait de la clef de recherche a champs multiples 300, a 1'etape 6004. A cet instant, un signal informant de l'arrivee d'un paquet est genere sous forme d/interruption a chaque fois qu'un paquet arrive a la carte d'interface de ligne 30 et est stocke dans le tampon de paquets re, cus 70. Lorsque le signal 17 2839835 d' information d' arrivee d'un paquet est recu par le classificateur de paquets 60, l'etape 6004 de classification de classe sur la base du champ 310 de point de code de service differencie est automatiquement executee. A savoir, des evenements ayant des temps de classification de classe differenciee fixes surviennent sequentiellement a chaque interruption d'un paquet en reception. L'etape 6004 etant achevee, les paquets subissent le processus de recherche des tables de flux etabli selon la classe a l'etape 6005. A L'etape 6005, les tables de flux de classe presentes dans la memoire cache integree 660 vent parcourues sur la base de la clef de recherche a champs multiples 300. Ensuite, a l'etape 6006, il est determine si la recherche sur la memoire cache integree 600 a ete couronnee de succes ou non. S'il est determine a l'etape 6006 que la recherche sur la memoire cache integree 660 a ete couronnee de succes, les codes d' exploitation pour les flux de paquets respectifs vent extraits du resultat de la recherche, a 1 5 l'etape 6007. L'etape 6007 est suivie par l'etape 6013. Ici, le resultat de la recherche est compose d'une clef de recherche a champs multiples 300 de chaque flux de paquets et du code d'exploitation de celui-ci. La clef de recherche a champs multiples 300 dans le resultat de recherche est transformee en une etiquette de flux a signification locale 2 0 de maniere a identifier chaque flux de paquets. Une etiquette de flux, qui est un index pour un systeme destine a identifier un parcours de reexpedition de flux determine par la recherche de tables de flux ci-dessus, est definie par une valeur fixe unique. Lorsqu'un tel index normalise est applique a un processus de reexpedition de flux, cela permet une reexpedition de flux rapide. Par ailleurs, si a l'etape 6006 il n'est pas determine que la recherche dans la memoire cache integree 660 ait ete couronnee de succes, les tables 501 a 50m de flux de classes differenciees dans la memoire externe non integree 50 avec lesquelles les tables de flux dans la memoire cache integree non integree vent comparees par les comparateurs 681 a 68m de memoire non integree de classes differenciee font ['objet d'une recherche a l'etape 6008. 18 2839835 Ensuite il est determine si les tables de flux 501 a 50m ont ete recherchees avec succes, a l'etape 6009. S'il est determine a l'etape 6009 que la recherche de la memoire externe non-integree a egalement echoue, les paquets correspondents vent determines en tent que paquets indefinis et des codes d' exploitation par defaut qui vent generalement des codes d' exploitation decrivant un service du meilleur effort, vent generes a l'etape 6012. L'etape 6012 est suivie par l'etape 6013. Par ailleurs, si a l'etape 6009 il est determine que la recherche de la memoire externe non-integree a reussi, le resultat de la recherche est stocke dans la memoire cache integree 660, a ltetape 6010. Ensuite, les codes d'exploitation vent extraits du resultat de la recherche a l'etape 6011. L'etape 6011 est suivie par ltetape 6013. Comme decrit ci-dessus, le resultat de la recherche de la memoire externe non-integree est stocke dans la memoire cache integree 660 de maniere a ce que les codes d' exploitation pour un paquet re$u 1 5 presentant la meme clef de recherche a champs multiples 300 que celle du paquent precedent soit directement obtenus a partir de la memoire cache integree 660 sans avoir besoin de rechercher les tables de flux 501 a 50m dans la memoire externe nonintegree 50. L'etape d'extraction du code d'exploitation 6011 n'affecte pas la vitesse de ligne. 2 0 Dans la mesure ou la transmission de groupes de paquets presentant la meme clef de recherche a champs multiples intervient generalement dans un trafic Internet recent, le stockage et la re-utilisation des codes d' exploitation utilises les plus recemment dans la memoire cache integree 660 est important pour ['amelioration de la performance de la classification de paquets. Si la memoire cache integree 660 n'a pas d'espace pour charger les nouveaux elements, qui vent le resultat de la recherche de la memoire externe non-integree , un espace pour un element a etre nouvellement charge doit etre prepare en effa$ant un element parmi les elements existants deja charges. Dans la presente invention, l'algorithme utilise le moins recemment (LRU) est employe pour un tel effacement d'element. L'algorithme LRU efface ltelement auquel il a ete fait reference le moins recemment, sur l'hypothese avant tout que ['element auquel il a 19 2839835 ete fait reference le moins recemment est le moins susceptible d'etre ['objet de reference a l'avenir. Le classifcateur de paquets 60, selon la presente invention, ameliore la probabilite de succes d'une recherche dans la memoire cache integree 660 grace a l' effacement d'element decrit ci-dessus en utilisant l'algorithme LRU. A l'etape 6013, le classificateur de paquets 60 stocke les codes d'exploitation pour les flux de paquets respectifs obtenus par la recherche de la memoire non integree dans un tampon FIFO a l'interieur du mediateur de signal de sortie 695. Ensuite, les codes d'exploitation vent extraits du tampon FIFO un a un et transmis de maniere sequentielle au contr81eur de ressource QdS 80, a l'etape 6014. Le classificateur de paquets 60 envoie un signal de controle de paquets au tampon de paquets recus 70 en synchronisation avec la transmission des codes d' exploitation de maniere a ce qu'un paquet correspondent au signal de contr81e de paquet soit envoye a un parcours de reexpedition approprie parmi les parcours de reexpedition de flux 901 a 90n simultanement avec la transmission des codes d'exploitation, a l'etape 6015. Le classificateur de paquets permet a la majorite des paquets d'etre traitee pour reussir une recherche de memoire cache integree, et extraire ainsi des codes d' exploitation pour les flux respectifs directement a partir de la memoire cache integree 660 en evitant les etapes 6008 a 6011 pour parcourir la memoire externe non-integree 50. En consequence, le classificateur de paquets maximalise la performance de la classification de paquets. Afin d'y parvenir, le classificateur de paquets 60 accro^t la probabilite d'une recherche fructueuse de la memoire cache integree 660, en realisant une gestion de segmentation dynamique en utilisant le contr81eur de segment de memoire cache integree 697. Le classificateur de paquets 60 fournit egalement une performance amelioree de maniere a ce que les codes d' exploitation pour les flux respectifs soient extraits sans affecter la vitesse de ligne. La figure 5 est un organigramme representant un procede de gestion de segmentation dynamique realisee dans la memoire cache integree par le contr81eur de segment 697 de la figure 2. En se referent a la figure 5, le controleur de segment de memoire cache integree 697 etablit une difference de taille de 2839835 segment fixe a maintenir entre les groupes de service superieur et inferieur a l'etape 6901. Ici, les segments des classes dans le groupe de service superieur vent plus grands que ceux des classes dans le groupe de service infirieur de par la difference de taille fixe preetablie. En consequence, les classes dans le groupe de service superieur presentant une propriete de sensibilite au retard sensible au retard de transmission peuvent indubitablement ameliorer la performance en matiere de retard de transmission grace a une recherche de flux rapide. En consequence, les classes dans le groupe de service superieur ont toujours un espace constant attribue dans la memoire cache integree 660 queues que soient les circonstances d'une piste, fournissant ainsi une performance constante de traitement de paquets. Dans ce cas, dans la mesure ou l'espace de la memoire cache integree 660 pour le groupe de service superieur est etabli plus grand que pour le groupe de service inferieur et ou le nombre de classes de service superieur est inferieur a celui des classes de service inferieur, les classes du groupe de service superieur peuvent effectuer plus rapidement la classification de paquets que les classes dans le groupe de service inferieur en moyenne. Ensuite, le controleur de segment de memoire cache integree 697 repartit de maniere egale l'espace de memoire cache integree pour stocker les saisies de chaque table de flux de sorte a ne pas attribuer des ressources de services QdS aux classes differenciees a l'etape 6902. Une telle distribution de segmentation de la memoire se repete periodiquement. Dans la presente invention, la periodicite de la modulation de segment est fondee sur le nombre de paquets recus. Si les segments de memoire pour les classes differenciees vent 2 5 modules tous les 100 paquets recus, le nombre de paquets recus est compte par un compteur et lorsque le nombre de paquets du compteur est O en reduisant la valeur initiale fixee a 100, de 1 pour chaque paquet recu, les segments de la memoire vent modules. Comme decrit ci-dessus, le controleur de segments de memoire cache integree 697 comprend un compteur pour compter le nombre de paquets 3 0 recus de maniere a etablir la periode de modulation de segment. Le compteur est nomme compteur de periode. 21 2839835 Lors que ltetablissement initial des segments de memoire est acheve a l'etape 6902, le compteur de periode est etabli a une valeur de periode par defaut preetablie, a l'etape 6903. comme decrit anterieurement, lorsque les segments de classes differenciees sur la memoire cache integree 660 vent periodiquement modules, la taille de chaque segment de memoire est modulee en fonction de la frequence de service de chaque classe differenciee dans le groupe de servie inferieur. Afin d'y parvenir, les donnees de decompte de la frequence de service de chaque classe differenciee doivent etre conservees. Ainsi, le contrGleur de segment de memoire cache integree 697 possede des compteurs, chacun pour enregistrer la frequence de service des classes differenciees. Le compteur est nomme compteur de service. Les compteurs de service pour les classes differenciees respectives vent remis a zero a chaque fois qutune periode de modulation de segment commence a l'etape 6904. Apres les quatre etapes 6910 a 6904 d'initialisation, le 1 5 contrOleur de segment de memoire cache integree 697 passe a un etat d'attente de reception de paquet et maintient l'etat de veille jusqu'a ce qu'un nouveau paquet arrive, a l'etape 6005. Ensuite, lorsqutun paquet arrive en provenance du tampon de paquets recus 70, le contrGleur de segment de memoire cache integree 697 recoit un signal de notifcation d'arrivee de paquets, a l'etape 6005. Le contrOleur de segment de memoire cache integre 697 identifie la classe differenciee du paquet re>cu en reponse au signal de notification de paquet recu et accrot la valeur du compteur de service de la classe correspondante par une incrementation de 1, a l'etape 6907. Ensuite, la valeur du compteur de periode decrot de 1 a l'etape 6908. Puis, il est determine si la valeur du compteur de periode est O a l'etape 2 5 6909. Si la valeur du compteur de periode est 0, un algorithme de modulation de segment et un algorithme de modulation de periode vent effectues aux etapes 6910 et 6920. L'algorithme de modulation de segment effectue a l'etape 6910 est represente en detail sur la figure 6 et l'algorithme de modulation 3 0 de segment realise a l'etape 6920 est represente en details sur la figure 7. 22 2839835 Par ailleurs, si la valeur du compteur de periode n'est pas 0, le procede revient a l'etape 6905, dans laquelle le controleur de segment de memoire cache integree 697 passe a un etat d'attente de reception de paquet. Comme decrit anterieurement, le controleur de segment de memoire cache integree 697 repete la procedure decrite ci-dessus pour moduler les segments de classe sur la memoire cache integree en fonction de la frequence des services de chaque classe differenciee dans le groupe de service inferieur. La figure 6 est un organigramme representant ['application de l'algorithme de modulation de segment de la figure 5 en plus de details. L'algorithme de modulation de segment est utilise pour determiner les tailles des segments de classe differenciee de la memoire cache integree 660 a utiliser pendant une periode donnee en fonction de la frequence des services de chaque classe differenciee pendant la periode precedente. En se referent a la figure 6, en premier lieu, l'algorithme de modulation de segment selon la presente invention calcule le taux de service de chaque classe differenciee dans le groupe de service inferieur, a l'etape 6911. Le taux de service est defini comme le taux de frequence des services d'une classe differenciee particuliere dans une periode donnee par rapport a la frequence des services de toutes les classes differenciees dans le groupe de service inferieur 2 0 pendant une periode donnee et calcule par ltequation 1: taux de service = frequence de services d'une classe particuliere frequence des services de toutes les classes dans le groupe de service inferieur (1) dans laquelle la frequence des services de toutes les classes dans le groupe de service inferieur correspond a la valeur de la periode. En supposant que la periode soit 100, et la frequence globale des services du groupe de service inferieur soit 80, si la frequence des services d'une classe differenciee particuliere dans le groupe de service inferieur est 20, le taux de service de la classe differenciee particuliere est de 0,25, ce qui est obtenu par /80. Le taux de service est utilise pour determiner les tailles des segments de classe differenciees de la memoire cache integree 660 a utiliser pour la periode 23 2839835 suivante. La taille de segment de memoire pour chacune des classes dans le groupe de service inferieur a etre utilisee pour la periode suivante est le produit de la taille globale de la memoire cache integree 660 distribuee au groupe de service inferieur par taux de service. Ensuite, une quantite de modulation de segment par laquelle chacune des classes differenciees dans le groupe de service inferieur est modulee est obtenue a l'etape 6912. La quantite de modulation de segment est obtenue en soustrayant la taille d'un segment allouee a la classe actuelle de la taille du segment de la memoire cache integree pour les classes differenciees a etre utilisees pour la prochaine periode comme le montre ['equation 2: Quantite de modulation de segment = (taille de cache pour le groupe de service inferieur x taux de service) - taille du segment (2) Apres le calcul de la quantite de modulation du segment, on determine si la quantite de modulation du segment est negative, a l'etape 6913. Dans l'algorithme de modulation de segment selon la presente invention, selon que la quantite de modulation de segment est negative ou positive determine la suite du processus. A l'etape 6913, on determine si la quantite de modulation du segment est negative, les classes differenciees presentant des quantites de modulation de segment negatives dans le groupe de service inferieur vent repertoriees a l'etape 6914. Ensuite, afin de moduler les segments de memoire cache integree des classes differenciees repertoriees, une zone de memoire cache integree correspondent a la quantite de modulation de segment est exclue de la memoire segmentee a l'etape 6915. A savoir, lorsqu'un segment de memoire non utilise de taille suffisante qui est superieure a la quantite de modulation de segment existe dans la memoire cache integree, une memoire non utilisee de la taille correspondante a la quantite de modulation de segment peut etre exclue de la memoire segmentee. Toutefois, si la memoire non utilisee est inferieure a la quantite de modulation de segment, une partie d'une memoire utilisee actuellement peut etre liberee pour etre utilisee. Dans la presente invention, l'algorithme LRU est utilise pour liberer de force une zone de memoire de l'utilisation. Selon l'algorithme LRU, la memoire est liberee de l'utilisation dans 24 2839835 l'ordre des zones de memoire les moins recemment utilisees, de maniere a ce que la zone necessaire de la memoire puisse etre retournee sans degrader le taux de succes de la recherche de la memoire cache integree. Lorsque les segments de memoire pour les classes differenciees presentant une frequence de service faible vent totalement retrocedes par le procede decrit ci-dessus, la memoire cache integree retrocedee est allouee aux classes differenciees ayant une frequence de service elevee. Pour ce faire, en premier lieu, les classes differenciees ayant des quantites de modulation de segment positives dans le groupe de service inferieur vent repertoriees a ltetape 6916. Ensuite, une memoire de taille correspondent a la quantite de modulation de segment est ajoutee a chaque classe differenciee, a l'etape 6917. De cette maniere, les segments de memoire cache integree des classes differenciees repertoriees vent modules. Ici, la memoire ajoutee est une memoire cache integree retrocedee a l'etape 6915. Dans l'algorithme de classification de paquets du controleur de segments de memoire cache integree 697 represente sur la figure 6, la periode pour laquelle les segments de la memoire cache integree vent modules ntest pas fixe mais modulee en fonction des circonstances. Cela accrot le taux de recherche fructueuse sur la memoire cache integree. 2 0 Le taux de succes de la recherche sur la memoire cache integree peut etre maximalise en realisant un algorithme de modulation de segment sur chaque paquet re$u. Toutefois, les operations d'algorithme de modulation de segment frequentes affectent la performance de traitement d'un systeme. En consequence, un aigorithme pour controler la periode dans lequel les segments 2 5 d'une memoire cache integree vent modules, represente sur la fgure 7, est utilise pour maintenir a un certain niveau le taux de succes de la memoire cache integree sans affecter la performance de traitement des paquets. La figure 7 est un organigramme representant ['application de l'algorithme de modulation de la periode de la figure 5 en plus de details. L'algorithme de modulation de la periode de la figure 7 est realise avant qu'une 2839835 nouvelle periode ne commence apres une periode pour laquelle l'algorithme de modulation de segment est applique. En se referent a la figure 7, en premier lieu, l'algorithme de modulation de periode selon la presente invention calcule la frequence d'occurrences de cache pour ['ensemble des classes differenciees utilisant la frequence d'occurrences de cache pour chaque classe differenciee a l'etape 6922. La frequence d'occurrences de cache pour chaque classe differenciee indique la *equence des succes obtenus dans la recherche de chaque classe dans la memoire cache integree. Les frequences d' occurrences de cache pour les classes differenciees individuelles vent additionnees pour obtenir la frequence d' occurrences de cache dans la plage d'une periode donnee qui est nommee frequence d' occurrences de cache reelle. La frequence d' occurrences de cache actuelle est exprimee par ['equation 3: frequence d'occurences de cache actuel = frequence de cache pour chaque classe differenciee () Ensuite, a l'etape 6923, une frequence d'occurrences de cache estimee est calculee qui est comparee avec la frequence d' occurrences de cache reelle obtenu a l'etape 6922. La frequence d' occurrences de cache estimee est obtenue en multipliant un taux d' occurrences de cache de consigne predefini par 2 0 le nombre total de paquets recus dans une periode donnee. Ici, le nombre total de paquets recus correspond a une valeur de periode etablie. En consequence, la frequence d'occurrences de cache estimee est exprimee par ['equation 4: frequence cache estimee = valeur etablie de periode x taux d'occurrences cache de consigne (4) Lorsque le taux d'occurrences de cache est etabli a 70% et la valeur de periode etablie a 100, si un total de 100 paquets vent arrives, la frequence d'occurrences de cache estimee est 80. Apres ltobtention de la *equence d'occurrences de cache actuelle et la frequence d' occurrences de cache estimee aux etapes 6922 et 6923, elles vent soustraites l'une de l'autre pour obtenir une modulation de periode, a l'etape 6924. La modulation de periode est calculee par ['equation S: 2 6 2839835 Modulation de periode = frequence d'occurrences de cache actuelle frequence d' occurrences de cache estimee (5) La modulation de periode obtenue est utilisee en tent que valeur representative quantitativement du fait que la frequence d'occurrences de cache actuelle est superieure ou inferieure a la frequence d' occurrences de cache necessaire a un systeme. Apres l'obtention de la modulation de periode, une nouvelle valeur de periode fixe est obtenue en utilisant la modulation de periode a l'etape 6925. Ensuite, la valeur de compteur de periode est etablie en tent que nouvelle valeur de periode fixe, a l'etape 6926. La nouvelle valeur de periode fixe obtenue a l'etape 6925 est exprimee par ['equation 6: valeur de periode fixee = valeur de periode fixee + periode de compensation (6) Comme decrit ci-dessus, si le compteur de periode est etabli a la valeur de periode fixe obtenue par ['equation 6, la periode s'accro^t ou decro^t selon que la frequence d' occurrences de cache reelle est superieure ou inferieure a la frequence d' occurrences de cache requise par un systeme. Pour etre plus precis, lorsque la frequence d' occurrences de cache actuelle depasse la frequence d' occurrences estimee, le controleur de 2 0segments de memoire cache integree 697 accro^t la periode de la difference entre la frequence d'occurrences de cache reelle et la frequence d'occurrences de cache estimee de maniere a abaisser la frequence des operations de l'algorithme de modulation de segment. Lorsque la frequence d'occurrences de cache est inferieure a la frequence d'occurrences de cache estimee, le contr81eur de segment de la memoire cache integree 697 reduit la periode de la difference entre la frequence d'occurrences de cache reelle et la frequence d'occurrences de cache estimee de maniere a maintenir la frequence d' occurrences de cache estimee. Dans la presente invention, ltequilibre entre deux facteurs de performance, a savoir, un taux d' occurrences de cache et une vitesse de traitement de paquets, est etablie en utilisant un algorithme de modulation de periode 27 2839835 adaptative, maximalisant ainsi la performance globale de la classification des paquets. Le procede de classification de paquets selon la presente invention peut etre ecrit comme des codes d'ordinateur dans un support d'enregistrement risible par ordinateur. Le support d'enregistrement comprend tous les types de dispositifs d'enregistrement dans lesquels les donnees lisibles par ordinateur vent stockees, tels que des ROM, RAM, CD-ROM, bandes magnetiques, disquettes, dispositifs de stockage de donnees optiques. Les codes d'ordinateur peuvent egalement etre transmis par une once porteuse telle que l'Internet. De plus, dans la mesure ou les supports d'enregistrement risible par ordinateur vent decentralises dans un systeme d'ordinateur relic a un reseau, le procede de classification de paquets peut etre stocke et applique en tent que codes d'ordinateur d'une maniere decentralisee. Comme decrit ci-dessus, dans le routeur selon la presente invention et le procede de classification de paquets rapides IP mis en acuvre dans le routeur, une memoire stockant des tables de flux est pourvue avec une memoire cache interne rapide et une memoire generale externe economique. Un mecanisme de classification de paquets est differencie en fonction des caracteristiques de chaque classe de service et une classification de paquets est contr81ee dynamiquement en se referent periodiquement a l'etat du trafic. Ainsi, une recherche rapide est possible et la performance de la classification de paquets est maximalisee. L'invention n'est nullement limitee aux exemples de realisation donnes uniquement a titre d'illustration de ltobjet de l'ffivention. *2 8 2839835 \ REVENDICATIONS 1. Procede de classification de paquets comprenant les etapes consistent a: - extraire une clef de recherche a champs multiples d'un paquet re,cu; - extraire un point de code de service differencie de la clef de recherche a champs multiples extraite; - classifier le paquet re,cu selon les classes differenciees en reponse au champ de point de code de service differencie extrait; - rechercher un premier groupe de table de flux correspondent au champ de code de point de code de service differencie en reponse a la clef de recherche a champs multiples; - extraire les codes d' exploitation du resultat de la recherche si la recherche dans le premier groupe de tables a ete fructueuse; et - parcourir un second groupe de tables de flux correspondent au champ de point de code de service differencie en reponse a la clef de recherche a champs multiples, si la recherche dans le premier groupe de tables de flux a echoue et extraire du resultat de la recherche dans le second groupe de tables de flux les codes d'exploitation; 2 0 - dans lequel, le premier groupe de tables de flux est stocke dans une premiere memoire (50) et le second groupe de tables de flux est stocke dans une seconde memoire (660). 2. Procede de classification de paquets selon la revendication 1, dans lequel la premiere memoire (50) est une memoire cache installee a l'interieur 2 5 du classificateur de paquets (60). 3. Procede de classification de paquets selon la revendication 1, dans lequel la seconde memoire (660) est une memoire dynamique DRAM installee a l'exterieur du classificateur de paquets (60).; -2 9 2839835 4. Procede de classification de paquets selon la revendication 1, dans lequel le premier groupe de tables de flux stocke le resultat de recherche recense. 5. Procede de classification de paquets selon la revendication 1, dans lequel le premier groupe de tables de flux est segmente pour apparier la pluralite des tables de flux comprises dans le second groupe de tables de flux. 6. Procede de classification de paquets selon la revendication 1, comprenant en outre les etapes consistent a: - classifier la premiere memoire (50) en un groupe de service superieur et un groupe de service inferieur; - segmenter les groupes de service superieur et service inferieur; et - moduler la periode de segmentation de chacun des groupes de ..... servce supereur et mfereur. 7. Procede de classification de paquets selon la revendication 6, dans lequel les segments du groupe de service superieur vent plus grands que ceux du groupe de service inferieur. 8. Procede de classification de paquets selon la revendication 6, dans lequel le groupe de service superieur est segmente en parties de tailles fixe et 2 0 egales. 9. Procede de classification de paquets selon la revendication 6, dans lequel le groupe de service inferieur est segmente de maniere inegale et proportionnellement a la frequence des services de chaque classe differenciee pourvue. 2 5 10. Procede de classification de paquets selon la revendication 6, dans lequel le segment de groupe de service comprend les etapes consistent a: - calculer le taux de service a partir de la frequence des services de chaque classe differenciee dans le groupe de service inferieur pourvu; - calculer une quantite de modulation de segment pour chaque 3 0 classe differenciee dans le groupe de service inferieur; 2839835 - repertorier les classes differenciees presentant des quantites de modulation negatives dans le groupe de service inferieur si les quantites de modulation de segment vent negatives; - exclure un espace memoire correspondent a la quantite de modulation de segment pour chaque classe differenciee repertoriee de la memoire segmentee; - repertorier le s class es di fferenci ee s pres entant des quantites de modulation positives dans le groupe de service inferieur si les quantites de modulation de segment vent positives; et - ajouter un espace memoire correspondent a la quantite de modulation de segment pour chaque classe differenciee repertoriee de la memoire segmentee. 11. Procede de classification de paquets selon la revendication , dans lequel le taux de service est obtenu en divisant la frequence des services d'une classe differenciee par la frequence des services de toutes les classes differenciees dans le groupe de service inferieur. 12. Procede de classification de paquets selon la revendication , dans lequel la quantite de modulation de segment pour chaque classe differenciee est obtenue en soustrayant la taille d'un segment actuellement attribuee a chaque classe differenciee du produit de la taille de la memoire du groupe de service inferieur par le taux de service. 13. Procede de classification de paquets selon la revendication , dans loquel une premiere zone de memoire est exclue de la premiere memoire (50) segmentee dans l'ordre des zones de memoire utilisees le moins recemment. ; 2 5 14. Procede de classification de paquets selon la revendication 6, dans loquel la modulation de la periode de segmentation comprend les etapes consistent a: - calculer la frequence d' occurrences pour chaque classe differenciee; t31 2839835 - calculer la frequence d' occurrences pour toutes les classes differenciees en reponse a la frequence d' occurrences calculee pour chaque classe differenciee; - obtenir une frequence d'occurrences reelle en additionnant les frequences d'occurrences pour les classes differenciees respectives; - obtenir une frequence d'occurrences estimee en multipliant un taux d' occurrences de consigne preetabli par le nombre de paquets recus pendant une periode donnee; - calculer une quantite de modulation de periode en soustrayant la frequence d'occurrences estimee de la frequence d'occurrences reelle; actualiser une valeur de periode etablie en ajoutant la valeur de periode etablie a la valeur de modulation de periode; - etablir la valeur du compteur de periode en tent que valeur de periode etabIie. lS. Support d'enregistrement risible par ordinateur dans lequel un programme d'ordinateur pour un procede selon l'une quelconque des