• Aucun résultat trouvé

CHAPITRE 2 REVUE DE LITT´ ERATURE

2.3 Approche algorithmique de la classification de paquet

2.3.1 Algorithmes bas´es sur la projection ou la d´ecomposition

Une famille d’algorithmes utilisant la technique dite de projection a ´et´e largement d´evelop- p´ee dans la litt´erature. On peut ainsi citer “Aggregated Bit Vector” (Baboescu et Varghese, 2001) ainsi que “Bit Vectors” (Lakshman et Stiliadis, 1998). Ces deux algorithmes d´ecom- posent la recherche multidimensionnelle en autant de recherches unidimensionnelles que de champs trait´es. Ainsi, pour chaque dimension utilis´ee, un arbre est cr´e´e, dont les nœuds contiennent les informations permettant de connaitre la ou les r`egles associ´ees `a la comparai- son partielle. A chaque recherche est associ´e un ensemble de r`egles pouvant correspondre `a la comparaison partielle. Afin de d´eterminer la r`egle r´esultante du processus de classification, il suffit d’identifier la ou les r`egles partag´ees pour l’ensemble des r´esultats.

Un autre algorithme bas´e sur cette approche,“Cross producting scheme”(Srinivasan et al., 1998). Il a ´et´e con¸cu afin de supporter un nombre arbitraire de champs et d’ˆetre ind´ependant du type d’applications. Il vise `a effectuer une recherche selon chacune des dimensions d (ou champs) utilis´es et la combinaison des r´esultats partiels de chacune des recherches permet

d’acc´eder `a la r`egle correspondante contenue dans une table dont les entr´ees ont ´et´e pr´e- calcul´ees initialement. Cet algorithme offre une complexit´e en temps de recherche faible en O(d· trl), o`u trl est la complexit´e en temps de recherche pour identifier un intervalle selon

un champs. Cette faible complexit´e de recherche s’obtient au prix d’une consommation de m´emoire gigantesque, puisque la table de“Cross-product”peut avoir O(md) entr´ees. De mˆeme,

le processus de mise `a jour est complexe car il demande la reconstruction compl`ete de la table pr´e-calcul´ee. Ainsi, en raison d’un cout de stockage prohibitif, l’algorithme “Cross Producting Scheme” n’est pas adapt´e `a une utilisation avec un nombre ´elev´e de r`egles.

Bien que ces algorithmes offrent une performance ´elev´ee en termes de vitesse de clas- sification, ils consomment n´eanmoins une quantit´e excessive de m´emoire. Cela rend donc ces algorithmes peut compatibles avec des applications n´ecessitant un nombre important de r`egles de classification. D`es lors, de nouveaux algorithmes ont vu le jour, afin de diminuer la surconsommation m´emoire.

Comme mentionn´e pr´ec´edemment, les algorithmes de classification doivent g´en´eralement faire un compromis entre rapidit´e de traitement, d´ebit et consommation m´emoire. `A cet ´egard, “Recursive Flow Classification” (RFC) (Gupta et McKeown, 1999) et “Distributed Cross- producting of Field Labels” (Taylor et Turner, 2004) offrent un compromis plus int´eressant entre la consommation m´emoire et la bande passante, par rapport aux algorithmes pr´ec´edents, mais souffre n´eanmoins de limitations. Malgr´e une consommation m´emoire am´elior´ee par rapport aux algorithmes ant´erieurs, celle-ci demeure importante (Singh et al., 2003). En effet, RFC est une variation de l’algorithme “Cross producting scheme” et, `a cet ´egard, h´erite de son d´efaut relatif `a une grande consommation m´emoire. RFC utilise une m´ethode heuristique pour classer les paquets. Consid´erons que le processus de classification implique l’association de l’entˆete d’un paquet de H bits `a un identifiant d’action de T bit et que N r`egles sont pr´esentes dans la table de classification utilis´ee. Une m´ethode simple, mais clairement sous- optimale, consiste `a pr´e-calculer l’action associ´ee `a chacun des 2H paquets diff´erents. Un tel

processus n´ecessiterait l’utilisation d’un tableau de taille 2H·2T. Un seul acc`es m´emoire serait

alors n´ecessaire pour identifier l’action associ´ee `a un paquet entrant, mais la consommation m´emoire serait tout simplement astronomique. Le but de RFC est de proc´eder `a la mˆeme association, mais au travers de plusieurs ´etages ou phases comme pr´esent´e dans la figure ci-dessous. Ainsi, l’association s’effectue de mani`ere r´ecursive : `a chaque ´etage, l’algorithme proc`ede `a une r´eduction de la largeur de bits consid´er´es.

Dans la figure 2.3, trois ´etages sont utilis´es, mais RFC propose de faire varier le nombre d’´etages suivant la performance envisag´ee. Dans le cas de l’exemple ci-dessus, les H bits utilis´es pour identifier un paquet sont initialement d´ecoup´es en plusieurs ”morceaux”, qui seront utilis´es pour indexer diff´erentes tables en m´emoire lors de la premi`ere it´eration, c’est-

2H 2T

Classification en une seule étape

2H 2T

Classification récursive

Phase 1 Phase 2 Phase 3

Figure 2.3 Illustration du principe de l’algorithme RFC. Figure traduite et provenant de Gupta et McKeown, 1999

`a-dire menant vers la phase 1. Chacune de ces recherches va associer `a un ”morceau” un identifiant not´e eqID, qui sont ensuite combin´es et `a nouveau d´ecoup´es en ”morceaux”. Ces derniers vont ˆetre utilis´es pour indexer diff´erentes tables, lors de la mˆeme phase. Ce processus est r´ep´et´e jusqu’`a ce que la derni`ere phase soit atteinte, et permette de sp´ecifier la ou les r`egles associ´ees au paquet entrant.

RFC permet d’atteindre en pratique un d´ebit de 10 Gbps une fois impl´ement´e en mat´eriel mais, d’une part, ce d´ebit offert semble relativement faible par rapport la vitesse des liens actuels et, d’autre part, RFC souffre d’une consommation m´emoire ´elev´ee, ainsi que d’un temps de pr´e-calcul important lorsque le nombre de r`egles devient sup´erieur `a 6000. Ces deux algorithmes pr´esentent une capacit´e `a monter en charge limit´e, ainsi qu’un compromis de performance m´ediocre entre temps de recherche et l’utilisation m´emoire. Par cons´equent, il est pertinent de se tourner vers des algorithmes adoptant d’autres approches et minimisant les compromis extrˆeme entre temps de recherche et utilisation m´emoire.

Documents relatifs