レポートによると、ループバックネットワークインターフェースは「完全にソフトウェアで実装された仮想ネットワークデバイス」です。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回(たとえば、このパケットをどのインターフェイスで送信する必要がありますか?)このルーティング決定は、カーネルがローカルルーティングテーブルにパケットを調べるときに行われます。