¿Cada paquete es procesado por un núcleo diferente? ¿O es un proceso de subproceso único?
¿Cada paquete es procesado por un núcleo diferente? ¿O es un proceso de subproceso único?
Respuestas:
Iptables es realmente el front-end del espacio de usuario para el firewall de Linux que es netfilter. Netfilter es realmente un sistema de ganchos en el núcleo alrededor del procesamiento de paquetes. Cada paquete es procesado por el núcleo activando una interrupción. Si el kernel equilibra las interrupciones en varias CPU depende de la antigüedad. Vea este hilo en StackOverflow al respecto. /programming/7467688/netfilter-hooks-on-multi-core-system
Como mencionó Nils, estas interrupciones no se equilibrarían por paquete. Se equilibrarían por IRQ (por interfaz) o posiblemente se trasladarían por completo a una CPU diferente si uno estuviera demasiado ocupado.