FR2839835A1 - Routeur et procede de classification de paquets ip pour la mise en oeuvre dudit routeur - Google Patents

Routeur et procede de classification de paquets ip pour la mise en oeuvre dudit routeur Download PDF

Info

Publication number
FR2839835A1
FR2839835A1 FR0211978A FR0211978A FR2839835A1 FR 2839835 A1 FR2839835 A1 FR 2839835A1 FR 0211978 A FR0211978 A FR 0211978A FR 0211978 A FR0211978 A FR 0211978A FR 2839835 A1 FR2839835 A1 FR 2839835A1
Authority
FR
France
Prior art keywords
differentiated
memory
group
packet
frequency
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0211978A
Other languages
English (en)
Other versions
FR2839835B1 (fr
Inventor
Eui Jin Seung
Il Kim Tae
Ho Lee Hyeong
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Electronics and Telecommunications Research Institute ETRI
Original Assignee
Electronics and Telecommunications Research Institute ETRI
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Electronics and Telecommunications Research Institute ETRI filed Critical Electronics and Telecommunications Research Institute ETRI
Publication of FR2839835A1 publication Critical patent/FR2839835A1/fr
Application granted granted Critical
Publication of FR2839835B1 publication Critical patent/FR2839835B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/742Route cache; Operation thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2408Traffic characterised by specific attributes, e.g. priority or QoS for supporting different services, e.g. a differentiated services [DiffServ] type of service
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2441Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

L'invention a pour objet un routeur (10) comprenant un client de modalités de qualité de service (QdS) (22) pour transformer des modalités QdS reçues d'un système serveur de modalités QdS (1) en données de contrôle de ressource QdS, un processeur de tables de flux (40) établissant une pluralité de tables de flux (50l, 50m) en réponse aux données de contrôle de ressource QdS, un classificateur de paquets (60) classifiant les paquets reçus selon un flux sur la base des données stockées dans les tables de flux (50l, 50m) et générant des codes d'exploitation et, un contrôleur de ressource QdS (80) contrôlant chaque paquet reçu à réexpédier sur une base de type flux par flux en réponse aux codes d'exploitation et contrôlant l'ordonnancement de ressources émises.Le routeur (10) peut être utilisé dans un procédé de classification de paquets IP pour améliorer la vitesse de la classification desdits paquets.

Description

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
\

Claims (14)

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
FR0211978A 2002-05-18 2002-09-27 Routeur et procede de classification de paquets ip pour la mise en oeuvre dudit routeur Expired - Lifetime FR2839835B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0027594A KR100429904B1 (ko) 2002-05-18 2002-05-18 차등화된 QoS 서비스를 제공하는 라우터 및 그것의고속 IP 패킷 분류 방법

Publications (2)

Publication Number Publication Date
FR2839835A1 true FR2839835A1 (fr) 2003-11-21
FR2839835B1 FR2839835B1 (fr) 2004-11-12

Family

ID=29398529

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0211978A Expired - Lifetime FR2839835B1 (fr) 2002-05-18 2002-09-27 Routeur et procede de classification de paquets ip pour la mise en oeuvre dudit routeur

Country Status (3)

Country Link
US (1) US7274700B2 (fr)
KR (1) KR100429904B1 (fr)
FR (1) FR2839835B1 (fr)

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE50214788D1 (de) * 2001-09-20 2011-01-05 Nokia Siemens Networks Gmbh Verteilte übermittlung von informationen in einem verbindungslosen, paketorientierten kommunikationsnetz
US7320037B1 (en) 2002-05-10 2008-01-15 Altera Corporation Method and apparatus for packet segmentation, enqueuing and queue servicing for multiple network processor architecture
US7606248B1 (en) 2002-05-10 2009-10-20 Altera Corporation Method and apparatus for using multiple network processors to achieve higher performance networking applications
US7339943B1 (en) 2002-05-10 2008-03-04 Altera Corporation Apparatus and method for queuing flow management between input, intermediate and output queues
US7593334B1 (en) 2002-05-20 2009-09-22 Altera Corporation Method of policing network traffic
US7277437B1 (en) * 2002-05-20 2007-10-02 Altera Corporation Packet classification method
US7336669B1 (en) 2002-05-20 2008-02-26 Altera Corporation Mechanism for distributing statistics across multiple elements
US20060045014A1 (en) * 2002-09-30 2006-03-02 Siemens Aktiengesellschaft Method for partially maintaining packet sequences in connectionless packet switching with alternative routing
US7801171B2 (en) 2002-12-02 2010-09-21 Redknee Inc. Method for implementing an Open Charging (OC) middleware platform and gateway system
US7457865B2 (en) * 2003-01-23 2008-11-25 Redknee Inc. Method for implementing an internet protocol (IP) charging and rating middleware platform and gateway system
US8477780B2 (en) * 2003-03-26 2013-07-02 Alcatel Lucent Processing packet information using an array of processing elements
US7440441B2 (en) 2003-06-16 2008-10-21 Redknee Inc. Method and system for Multimedia Messaging Service (MMS) rating and billing
US20050190779A1 (en) * 2004-03-01 2005-09-01 Cisco Technology, Inc., A California Corporation Scalable approach to large scale queuing through dynamic resource allocation
US8199764B2 (en) * 2003-08-25 2012-06-12 Cisco Technology, Inc. Scalable approach to large scale queuing through dynamic resource allocation
US9614772B1 (en) * 2003-10-20 2017-04-04 F5 Networks, Inc. System and method for directing network traffic in tunneling applications
CN100397824C (zh) * 2003-11-25 2008-06-25 华为技术有限公司 一种实现ip报文流分类的方法
US8059562B2 (en) * 2004-10-18 2011-11-15 Nokia Corporation Listener mechanism in a distributed network system
US7639674B2 (en) * 2004-10-25 2009-12-29 Alcatel Lucent Internal load balancing in a data switch using distributed network processing
US8848530B2 (en) 2004-11-01 2014-09-30 At&T Intellectual Property Ii, L.P. System and method for providing differentiated quality of service
KR100603584B1 (ko) * 2004-11-16 2006-07-24 삼성전자주식회사 라우터 및 이를 이용한 패킷의 큐 관리 방법
US20060221850A1 (en) * 2005-03-31 2006-10-05 Teresa Buckley Field content based packet classification
US7865624B1 (en) * 2005-04-04 2011-01-04 Oracle America, Inc. Lookup mechanism based on link layer semantics
US8533308B1 (en) 2005-08-12 2013-09-10 F5 Networks, Inc. Network traffic management through protocol-configurable transaction processing
KR100668661B1 (ko) * 2005-10-19 2007-01-16 한국전자통신연구원 휴대 인터넷 시스템에서 트랜스포트 연결 식별자의생성/변경 방법 및 그를 위한 단말기
KR100737525B1 (ko) 2005-10-19 2007-07-10 한국전자통신연구원 아이피 버전 6 (IPv6) 플로우레이블 생성방법
US7664088B2 (en) 2005-12-08 2010-02-16 Electronics And Telecommunications Research Institute Method for providing QoS using flow label in providing multimedia service in IPv6 network and system applying the same
US8565088B1 (en) 2006-02-01 2013-10-22 F5 Networks, Inc. Selectively enabling packet concatenation based on a transaction boundary
US8223642B2 (en) * 2006-04-28 2012-07-17 Tellabs San Jose, Inc. Differentiated services using weighted quality of service (QoS)
US8745185B1 (en) 2006-10-12 2014-06-03 Timothy J. Salo Method and apparatus for providing semantically aware network services
WO2008046444A1 (fr) * 2006-10-16 2008-04-24 Telefonaktiebolaget Lm Ericsson (Publ) Messages de priorisation dans un réseau de communication
JP4981916B2 (ja) * 2006-10-25 2012-07-25 トムソン ライセンシング フレーム分類のための方法およびシステム
US9106606B1 (en) 2007-02-05 2015-08-11 F5 Networks, Inc. Method, intermediate device and computer program code for maintaining persistency
KR101292445B1 (ko) * 2007-02-06 2013-07-31 주식회사 엘지씨엔에스 피투피 트래픽의 탐지 및 차단 장치 그리고 이의 탐지 및차단 방법
US8619766B2 (en) * 2007-03-02 2013-12-31 At&T Intellectual Property Ii, L.P. Method and apparatus for classifying packets
KR100884746B1 (ko) * 2007-04-24 2009-02-20 한국전자통신연구원 맞춤형 QoS를 제공하는 QoS 패킷 플로우 설정 및 QoS 패킷 처리방법
US8982887B2 (en) * 2007-05-18 2015-03-17 International Business Machines Corporation System, method and program for making routing decisions
US7808898B2 (en) * 2007-08-14 2010-10-05 Hewlett-Packard Development Company, L.P. Flow estimator
US8385205B2 (en) * 2007-09-20 2013-02-26 Tellabs Operations, Inc. Modeling packet traffic using an inverse leaky bucket
KR100920518B1 (ko) 2007-11-27 2009-10-09 한국전자통신연구원 패킷 분류 장치 및 방법
US8854966B2 (en) 2008-01-10 2014-10-07 Apple Inc. Apparatus and methods for network resource allocation
CN101247337B (zh) * 2008-02-18 2012-11-21 华为技术有限公司 一种报文转发的方法和设备
US8005114B2 (en) * 2008-09-08 2011-08-23 Wisconsin Alumni Research Foundation Method and apparatus to vary the transmission bit rate within individual wireless packets through multi-rate packetization
US8693328B2 (en) * 2009-02-19 2014-04-08 Sandvine Incorporated Ulc Method and apparatus for distributing credits to multiple shapers to enable shaping traffic targets in packet communication networks
US20120233431A1 (en) * 2009-11-26 2012-09-13 Tetsu Izawa Relay device
US20150334016A1 (en) * 2009-11-26 2015-11-19 Nec Corporation Relay device
US9755947B2 (en) 2010-05-18 2017-09-05 Intel Corporation Hierarchical self-organizing classification processing in a network switch
US9485200B2 (en) 2010-05-18 2016-11-01 Intel Corporation Network switch with external buffering via looparound path
US8314807B2 (en) 2010-09-16 2012-11-20 Apple Inc. Memory controller with QoS-aware scheduling
US8631213B2 (en) 2010-09-16 2014-01-14 Apple Inc. Dynamic QoS upgrading
KR101145389B1 (ko) * 2010-09-28 2012-05-15 한국전자통신연구원 분산화를 통한 확장성 있는 중앙 집중식 네트워크 구조 및 제어 방법과 이를 위한 네트워크 스위칭 장치
KR101155012B1 (ko) * 2010-11-24 2012-06-14 한국과학기술정보연구원 오픈플로우 네트워크 시스템 및 그 제어방법
US8897316B2 (en) * 2010-12-31 2014-11-25 Telefonaktiebolaget L M Ericsson (Publ) On-chip packet cut-through
JP2012146201A (ja) 2011-01-13 2012-08-02 Toshiba Corp オンチップルータ及びそれを用いたマルチコアシステム
WO2012126488A1 (fr) * 2011-03-24 2012-09-27 Nec Europe Ltd. Procédé de fonctionnement d'un système de commutation basé sur des flux, et système de commutation
US9247023B2 (en) 2011-07-27 2016-01-26 Qualcomm Incorporated System and method for prioritizing requests to a SIM
US9049251B2 (en) * 2012-02-28 2015-06-02 Futurewei Technologies, Inc. Method and apparatus for internet protocol based content router
US20130223226A1 (en) * 2012-02-29 2013-08-29 Dell Products, Lp System and Method for Providing a Split Data Plane in a Flow-Based Switching Device
US9559948B2 (en) 2012-02-29 2017-01-31 Dell Products, Lp System and method for managing unknown flows in a flow-based switching device
US8930690B2 (en) * 2012-03-21 2015-01-06 Microsoft Corporation Offloading packet processing for networking device virtualization
JP5624579B2 (ja) * 2012-03-23 2014-11-12 株式会社東芝 オンチップルータ
US9092269B2 (en) 2012-06-21 2015-07-28 Microsoft Technology Licensing, Llc Offloading virtual machine flows to physical queues
KR101479950B1 (ko) * 2012-10-12 2015-01-07 주식회사 케이티 M2m 네트워크 자원 할당 방법 및 장치
US9053058B2 (en) 2012-12-20 2015-06-09 Apple Inc. QoS inband upgrade
US9229896B2 (en) 2012-12-21 2016-01-05 Apple Inc. Systems and methods for maintaining an order of read and write transactions in a computing system
US9680748B2 (en) 2013-09-15 2017-06-13 Nicira, Inc. Tracking prefixes of values associated with different rules to generate flows
US9680738B2 (en) 2013-09-15 2017-06-13 Nicira, Inc. Tracking prefixes of values associated with different rules to generate flows
US9674087B2 (en) 2013-09-15 2017-06-06 Nicira, Inc. Performing a multi-stage lookup to classify packets
US9602398B2 (en) 2013-09-15 2017-03-21 Nicira, Inc. Dynamically generating flows with wildcard fields
US9686185B2 (en) 2013-09-15 2017-06-20 Nicira, Inc. Generating flows using common match techniques
KR101515581B1 (ko) * 2013-10-29 2015-05-04 고려대학교 산학협력단 이동 트래픽의 플로우 제어방법
US9996467B2 (en) 2013-12-13 2018-06-12 Nicira, Inc. Dynamically adjusting the number of flows allowed in a flow table cache
US9569368B2 (en) * 2013-12-13 2017-02-14 Nicira, Inc. Installing and managing flows in a flow table cache
US9686200B2 (en) 2014-03-31 2017-06-20 Nicira, Inc. Flow cache hierarchy
CN104009924B (zh) * 2014-05-19 2017-04-12 北京东土科技股份有限公司 一种基于tcam和fpga的报文处理方法及装置
US9600191B2 (en) * 2014-06-02 2017-03-21 Micron Technology, Inc. Systems and methods for reordering packet transmissions in a scalable memory system protocol
US11178051B2 (en) 2014-09-30 2021-11-16 Vmware, Inc. Packet key parser for flow-based forwarding elements
CN106330694A (zh) * 2015-06-26 2017-01-11 中兴通讯股份有限公司 一种流表遍历业务的实现方法及装置
KR102412289B1 (ko) 2017-12-13 2022-06-23 한국전자통신연구원 병렬 스케줄링 방법 및 장치
CN115037680B (zh) * 2022-04-25 2023-08-22 哈尔滨工业大学(威海) 一种面向sase的流量选路方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740175A (en) * 1995-10-03 1998-04-14 National Semiconductor Corporation Forwarding database cache for integrated switch controller
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
US20020046291A1 (en) * 2000-10-18 2002-04-18 O'callaghan Sorcha Network unit with address cache for frequently occurring network conversations

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6272133B1 (en) 1998-05-21 2001-08-07 Inviscid Networks, Inc. Packet filtering method
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6167445A (en) * 1998-10-26 2000-12-26 Cisco Technology, Inc. Method and apparatus for defining and implementing high-level quality of service policies in computer networks
US6594268B1 (en) * 1999-03-11 2003-07-15 Lucent Technologies Inc. Adaptive routing system and method for QOS packet networks
US6628610B1 (en) * 1999-06-28 2003-09-30 Cisco Technology, Inc. Methods and apparatus for managing a flow of packets using change and reply signals
US6674743B1 (en) * 1999-12-30 2004-01-06 3Com Corporation Method and apparatus for providing policy-based services for internal applications
US6747968B1 (en) * 2000-01-14 2004-06-08 Nokia Ip Inc. Methods and systems for weighted PCF polling lists for WLAN QoS support
JP3591420B2 (ja) * 2000-04-07 2004-11-17 日本電気株式会社 ルータにおけるキャッシュテーブル管理装置およびプログラム記録媒体
US6772223B1 (en) * 2000-04-10 2004-08-03 International Business Machines Corporation Configurable classification interface for networking devices supporting multiple action packet handling rules
JP2001292167A (ja) * 2000-04-10 2001-10-19 Fujitsu Ltd ネットワーク中継システムおよび中継装置
US7290028B2 (en) * 2000-08-24 2007-10-30 International Business Machines Corporation Methods, systems and computer program products for providing transactional quality of service
US7002965B1 (en) * 2001-05-21 2006-02-21 Cisco Technology, Inc. Method and apparatus for using ternary and binary content-addressable memory stages to classify packets
US7020143B2 (en) * 2001-06-18 2006-03-28 Ericsson Inc. System for and method of differentiated queuing in a routing system
US6940862B2 (en) * 2001-06-25 2005-09-06 Mark Goudreau Apparatus and method for classifying packets

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5740175A (en) * 1995-10-03 1998-04-14 National Semiconductor Corporation Forwarding database cache for integrated switch controller
US6041053A (en) * 1997-09-18 2000-03-21 Microsfot Corporation Technique for efficiently classifying packets using a trie-indexed hierarchy forest that accommodates wildcards
US20020046291A1 (en) * 2000-10-18 2002-04-18 O'callaghan Sorcha Network unit with address cache for frequently occurring network conversations

Also Published As

Publication number Publication date
US7274700B2 (en) 2007-09-25
FR2839835B1 (fr) 2004-11-12
KR100429904B1 (ko) 2004-05-03
KR20030089747A (ko) 2003-11-28
US20030214948A1 (en) 2003-11-20

Similar Documents

Publication Publication Date Title
FR2839835A1 (fr) Routeur et procede de classification de paquets ip pour la mise en oeuvre dudit routeur
US11316946B2 (en) Processing and caching in an information-centric network
US7742414B1 (en) Lightweight indexing for fast retrieval of data from a flow-level compressed packet trace
WO2019148568A1 (fr) Procédé et système pour envoyer une demande d'acquisition de ressource de données
US7734787B2 (en) Method and system for managing quality of service in a network
US6871265B1 (en) Method and apparatus for maintaining netflow statistics using an associative memory to identify and maintain netflows
US20070153796A1 (en) Packet processing utilizing cached metadata to support forwarding and non-forwarding operations on parallel paths
US20080188987A1 (en) Systems and methods for optimal component composition in a stream processing system
WO2008056041A1 (fr) Methode et appareil pour fournir un equilibrage de charge base sur le flux
US20070104099A1 (en) Data Processing System and Method
CN111432247B (zh) 流量调度方法、装置、服务器及存储介质
CN107317841A (zh) 一种数据服务请求处理方法及装置
WO2010010266A1 (fr) Technique de communication entre une pluralite de noeuds
CN111813556B (zh) 云计算环境下的虚拟集群的弹性伸缩方法
CN102209019B (zh) 一种基于报文净荷的负载均衡方法和负载均衡设备
CN103329493A (zh) 芯片上分组穿过
CN112968845B (zh) 一种带宽管理方法、装置、设备及机器可读存储介质
CN112825507A (zh) 网络设备中的流监测
CN115665157B (zh) 一种基于应用资源类型的均衡调度方法和系统
CN113259263B (zh) 一种深度报文检测集群中的数据包调度方法
EP2577920B1 (fr) Procédé de routage pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procédé
CN110110081A (zh) 用于移动互联网海量监测数据的分级分类处理方法及系统
CN106888237A (zh) 一种数据调度方法及系统
FR2981236A1 (fr) Procede de routage adaptatif pseudo-dynamique dans un cluster comprenant des liens de communication statiques et programme d'ordinateur mettant en oeuvre ce procede
EP1841151A1 (fr) Système de commutation de message

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 14

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19

PLFP Fee payment

Year of fee payment: 20