每个数据包是否由不同的核心处理? 或者它是一个单线程的过程?
Iptables实际上只是netfilter的linux防火墙的用户空间前端。 Netfilter实际上是一个围绕包处理的内核钩子系统。 每个数据包都由内核通过触发中断来处理。 内核是否平衡多个CPU的中断取决于它的年龄。 在StackOverflow上看到这个线程。 https://stackoverflow.com/questions/7467688/netfilter-hooks-on-multi-core-system
正如Nils提到的那样,这些中断不会以每个数据包为基础进行平衡。 每个IRQ(每个接口)都是平衡的,如果太忙,可能会完全移到不同的CPU。