ループバックネットワークインタフェースはどのように実装されますか?

ループバックネットワークインタフェースはどのように実装されますか?

レポートによると、ループバックネットワークインターフェースは「完全にソフトウェアで実装された仮想ネットワークデバイス」です。Unix.SEについての他の質問

しかし、この実装は実際にどのように行われ、どのように動作しますか?

私が知る限り、IPはローカルルーティングテーブルにローカルに表示されます。

ip route show table local  

ローカルでマークされた IP に送信すると、ループバックデバイスがトリガされます。しかし、この検出は純粋にルーティングテーブルを介して行われますか、それとも別のカーネル操作を介して行われますか?

私の究極の目標は、ループデバイス構成を操作して、ラップトップの2つのWLANアダプタ間でデータグラムを送信するときにネットワークに実際のトラフィック/データグラムが発生するようにすることです。いいえローカルループで。それは:

Interface 1 -> WLAN -> Interface 2 

いいえ:

Interface 1 -> LOOP -> Interface 2

ベストアンサー1

非常に基本的なレベルでは、純粋にソフトウェアで実装されたデバイスです。仮想マシンが完全にソフトウェアであるのと同様に、ループバックも同様です(完全に異なるメカニズムを使用しますが)。

通常、インターフェイスがパケットを送信すると、最終的に有線に送信され、フラッシュされます。一方、ループバックは発信パケットを有線で接続するのではなく、そのインターフェイスの着信キューに移動し、着信パケットのように処理します。

パケットを評価すると、netfilterルーティングの決定が 2 回行われます。着信パケットに対して1回(たとえば、このパケットが正しいインターフェイスで受信されましたか?)、発信パケットに対して1回(たとえば、このパケットをどのインターフェイスで送信する必要がありますか?)このルーティング決定は、カーネルがローカルルーティングテーブルにパケットを調べるときに行われます。

おすすめ記事