各パケットは異なるコアで処理されますか?それともシングルスレッドプロセスですか?
2
Chopper3がこの質問を閉じた理由はわかりません。しかしそれに答えるために:Iptablesは実際にはLinuxファイアウォールのネットスペースであるユーザースペースフロントエンドにすぎません。Netfilterは実際には、パケット処理に関するカーネル内のフックのシステムです。各パケットは、割り込みをトリガーすることによってカーネルによって処理されます。カーネルが複数のCPU間で割り込みのバランスをとるかどうかは、カーネルの古さに依存します。StackOverflowでこのスレッドを参照してください。stackoverflow.com/questions/7467688/...
—
JakePaulus
+1、それは本物の質問だと思うので。
—
Sachin Divekar
@JakePaulusこのIRQバランスは、1つの割り込みに複数のコアを割り当てることはありません。それで、単一ライン上の各パケットのコアの切り替えは決して行われませんか?
—
Nils
CPUメモリキャッシュの観点から見ると、単一の接続でコアを切り替えることはあまり意味がありません。これらのコアが同じキャッシュを共有していない場合は、おそらく速度が遅くなることさえあります。しかし、なぜあなたはこの質問をするのですか?
—
Nils
@Nilsインターフェイスによって生成された割り込みは、別の、ビジーでないCPUにリダイレクトされる可能性があります。また、複数のインターフェイスが割り込みを異なるCPUに送信して、負荷を分散させることもできます。単一のインターフェイスからのトラフィックが、パケットごとにCPU間でバランスが取れていないことについては、あなたは正しいと思います。
—
JakePaulus 2011年