TCP/IP スタックは、ローカル ホストおよび自分自身の宛先アドレスへの UDP パケットをどのように処理しますか?

TCP/IP スタックは、ローカル ホストおよび自分自身の宛先アドレスへの UDP パケットをどのように処理しますか?

ネットワーク スタック (TCP/IP) がローカルホストへの UDP メッセージをどのように処理するかを理解しようとしています。スタックを下って IP 層に到達し、ローカルホストを見つけたらスタックに送り返すと想定していますか?

また、ネットワーク スタック (TCP/IP) が、自分の NIC 宛ての UDP メッセージをどのように処理するかを理解しようとしています。自分の NIC に 192.168.0.1 が割り当てられ、送信元アドレスと送信先アドレスが同じ場合、何が起きますか? ハードウェアから送信され、スタックのどこまで下がるのでしょうか?

これらのことが起こる場所に関する Linux ソースがあれば、ぜひ教えてください。

答え1

ハードウェアには到達しません。前者の場合、ループバック インターフェイス linux/drivers/net/loopback.c で処理されます。後者の場合、NIC をサポートする任意のドライバーで処理されます。「netstat -i」を使用して、各インターフェイスに関連付けられた統計情報や、インターフェイス間のトラフィックを生成する netcat などを確認できます。

関連情報