Next: Redirection pour le scanner
Up: Filtrage des paquets
Previous: Recherche des ports
  Contents
Le filtrage des paquets étant effectué en continu, il paraît évident
que cela doit être une des étapes les plus optimisée.
Dans cette optique, nous avons pris conscience que la recherche sur
les ports (pour déterminer si le port est autorisé ou pas) était des
plus banale, en effet, il s'agissait d'un simple parcours de tableau.
Donc, pour augmenter la performance de cette recherche, nous avons
recherché parmi tous les algorithmes que nous connaissons pour
trouver le plus adapté.
Dans notre cas, lorsque nous recevons une donnée, il est plutôt rare
qu'elle ne soit pas divisée en plusieurs paquets. Donc, lorsque l'on
reçoit un paquet sur un port, il est courant que le suivant soit du
même port.
Plus généralement, la recherche qui nous intéresse, est une recherche
dite auto-adaptative (plus un port est utilisé, plus on doit le retrouver
vite).
Après cette étude, il paraît évident d'utiliser une recherche qui
rapprochera la donnée vers le début à chaque fois qu'elle est demandée.
Lorsqu'un port est trouvé, nous calculons un pivot situé exactement entre
le début et la position de la donnée, puis nous échangeons la donnée avec
celle située au pivot, ce qui a pour effet de rapprocher du début à une
vitesse raisonnable de manière à ce que lorsqu'un port n'est demandé
qu'une seule fois, il ne se rapproche pas trop vite.
Next: Redirection pour le scanner
Up: Filtrage des paquets
Previous: Recherche des ports
  Contents
root
2002-06-23