A simple and fast algorithm for multi-dimensional packet classification by
solving the best matching filter problem. The substantial part of the
algorithm includes the search of filters being concurrently stabbed by the
packet using a KD-tree data structure. Another aspect of the present
invention includes the classification of the packet according to its
destination address using a second data-structure which preferably
consists of a one dimensional segment tree. In a preferred embodiment of
the present invention, the packet is first classified according to its
protocol type, then the packet is classified according to its destination
address using a one dimensional segment tree data structure, and finally,
a 6 dimension KD-tree is used to find the filters being stabbed by the
remaining 3 parameters of the packet. Among the filters, which comply with
the packet, the filter which applies to the packet is the filter with the
highest pre-determined priority. Theoretical analysis predicts and
experimental results verify that in practice, the proposed data-structure
can handle a lot of "difficult" filters quickly and efficiently.
Un algorithme simple et rapide pour la classification multidimensionnelle de paquet en résolvant le meilleur problème assorti de filtre. La partie substantielle de l'algorithme inclut la recherche des filtres concurremment poignardé par le paquet en utilisant une structure de données d'KD-arbre. Un autre aspect de la présente invention inclut la classification du paquet selon sa adresse de destination en utilisant une deuxième donnée-structure qui se compose de préférence d'un arbre un dimensionnel de segment. Dans un mode de réalisation préféré de la présente invention, le paquet est d'abord classifié selon son type de protocole, puis le paquet est classifié selon sa adresse de destination en utilisant une structure de données un dimensionnelle d'arbre de segment, et en conclusion, un KD-arbre de 6 dimensions est employé pour trouver les filtres poignardé par les 3 paramètres restants du paquet. Parmi les filtres, qui sont conformes au paquet, le filtre qui s'applique au paquet est le filtre avec la priorité prédéterminée la plus élevée. L'analyse théorique prévoit et les résultats expérimentaux vérifient cela dans la pratique, la donnée-structure proposée peut manipuler beaucoup de filtres "difficiles" rapidement et efficacement.