IPTables はマルチコア プロセッサを活用しますか?

IPTables はマルチコア プロセッサを活用しますか?

各パケットは異なるコアによって処理されますか? それともシングルスレッド プロセスですか?

答え1

Iptables は、Linux ファイアウォールである netfilter のユーザー空間フロントエンドにすぎません。netfilter は、パケット処理に関するカーネル内のフックのシステムです。各パケットは、割り込みをトリガーしてカーネルによって処理されます。カーネルが複数の CPU 間で割り込みを分散するかどうかは、カーネルの古さによって異なります。これについては、StackOverflow のこのスレッドを参照してください。https://stackoverflow.com/questions/7467688/netfilter-hooks-on-multi-core-system

Nils が述べたように、これらの割り込みはパケットごとにバランスが取られるわけではありません。IRQ ごと (インターフェイスごと) にバランスが取られるか、1 つの CPU が忙しくなりすぎた場合は別の CPU にまとめて移動される可能性があります。

関連情報