Je suis implémentation d'un serveur de réseau qui traite les paquets UDP. Je veux éviter les attaques en répétition, où un attaquant pourrait copier des paquets udp, et les rejouer plus tard dans le temps. Je suis en train de jouer avec l'idée que je pourrais hacher le paquet et stocker cette valeur dans une table de hachage. Je peux alors faire le même processus chaque fois qu'un paquet est reçu puis le chercher dans la table de hachage. S'il existe déjà, nous rejetons le paquet, mais si nous ne l'avons jamais vu (l'entrée n'existe pas), nous le stockons pour un usage futur.Optomised algorithme pour garder la trace des paquets réseau (rediffusion de prévention d'attaque)
Maintenant, quel algorithme de hachage Conviendrait pour cela? Ai-je besoin d'autre chose qu'une table de hachage? Comme il y a beaucoup de paquets udp reçus, je veux que cela fonctionne dans O (1) !!!!!! ;-), Est-ce possible?
Il est évident que plus je me souviens « » hachages, plus de stockage (état) je vais devoir allouer, peut une table de hachage croître et réduire dynamiquement au fil du temps?
je peut-être loin ici, je ne peux pas avoir besoin d'une table de hachage du tout! Je suis ouvert à l'idée !!