4

TCP ループバックを介してソケットを使用してデータを送受信する 2 つのアプリケーションを実行する場合、データの実際のパスは何ですか? このデータは、Windows ネットワーク ドライバーや NIC ハードウェアを経由しますか?

編集。これは Windows の「ループバック」ではなく、2 つのポートがケーブルで相互に接続された NIC で作成された物理的なループバックであり、物理的なループバックになっていると考えてください。

4

1 に答える 1

4

ループバックは仮想インターフェイスであり、それに対応するハードウェアはありません。データのコピーは、ドライバーレベルより上でもカーネル内で行われます。

編集0:

TCP / IPのループバックは、サブネット内の特別なアドレスを持つ仮想ネットワークインターフェイスであり127/8、通常127.0.0.1はデフォルトで作成されます。また、同じマシン上の2つのカード間でイーサネットクロスオーバーケーブルがループします。

私は最初の答えで最初のケースに取り組みました。

2番目の場合のTCP/IPスタックの動作は、実装とトランスポートオプションによって異なります。TCP接続およびユニキャストUDPの場合、カーネルは、送信元アドレスとターゲットアドレスの両方がマシンに対してローカルであり、メモリを介したデータ転送を短絡していることを認識している可能性があります。最新のネットワークスタックのほとんどがこのように動作することがわかります。ブロードキャストまたはマルチキャストUDPの場合、ネットワーク上に他のリスナーが存在する可能性があるため、物理カードを介してパケットを送信する以外に選択肢はありません。

于 2012-06-18T13:29:09.087 に答える