物理インターフェイスアドレスを使用する場合、ループバックトラフィックのパケットデータパスは何ですか?

物理インターフェイスアドレスを使用する場合、ループバックトラフィックのパケットデータパスは何ですか?

同じシステム上の2つのプロセス間に40 Gbps以上の速度で数時間のWebソケットトラフィックを送信するアプリケーションがあります。サーバーはシステム上の物理インターフェイスのIPアドレスにバインドされます。数時間後、受信側が十分に長い間SYNに応答できず、Webソケットが閉じました。

このようにローカルトラフィックの場合、パケットフローはどうなりますか?物理NICドライバに到達し、トラフィックがループバックインターフェイスをヘアピンします(アドレスは指定されていませんが、それでもローカルですが)。

このトラフィックはqueue、bpf、iptablesに達しますか?

答え1

私が知る限り、どのローカル割り当てIPアドレスが使用されているかに関係なく、すべてのローカルトラフィックはそのインターフェイスを通過loし、物理インターフェイスに到達しません。を使用してテストできますip route get 1.2.3.41.2.3.4ローカルアドレスはどこに表示され、表示する必要がありますdev lo

私は一般的なカーネルbpfとiptablesのパスがlo適用されていると仮定していますが、それを直接チェックしませんでした。これはテストするのも簡単です(直接実行できます)。適切なiptablesルールまたはbpfプログラムを作成し、破損していることを確認してください。

関連情報