Chaque paquet est-il traité par un noyau différent? Ou s'agit-il d'un processus à fil unique?
Chaque paquet est-il traité par un noyau différent? Ou s'agit-il d'un processus à fil unique?
Réponses:
Iptables n'est vraiment que le front-end de l'espace utilisateur pour le pare-feu Linux qui est netfilter. Netfilter est vraiment un système de hooks dans le noyau autour du traitement des paquets. Chaque paquet est traité par le noyau en déclenchant une interruption. Si votre noyau équilibre les interruptions sur plusieurs processeurs, cela dépend de son âge. Voir ce fil sur StackOverflow à ce sujet. /programming/7467688/netfilter-hooks-on-multi-core-system
Comme Nils l'a mentionné, ces interruptions ne seraient pas équilibrées par paquet. Ils seraient équilibrés par IRQ (par interface) ou éventuellement déplacés complètement vers un processeur différent si l'un devenait trop occupé.