2017-11-09 18 views
0

P1は、次にP2からデータを取得したい場合、2つのデバイス(異なるネットワーク上)D1、D2は、それらのそれぞれにプロセスP1及びP2を実行してい -TCP接続

P1を有するTCPコネクションを確立しますP2。 P1はSYNパケットを送信します。
P2はSYN-ACKパケットを送信します。
P1はACKパケットで応答し、3方向TCP接続の確立を終了します。 このHTTP要求がこのTCP接続を介して送信された後。

D1とD2が同じネットワーク上にあるとすれば、このプロセスはより速く、なぜですか?

+1

"_P1がP2._のIPアドレスでTCP接続を確立しました。"いいえ、それは間違っています。 TCPはIPではなくTCPとの接続を確立します。 D1のTCPは、D2のTCPとのTCP接続を確立します。また、プロセスはハンドシェイクを行いません。これはTCPまでであり、プロセスを接続の複雑さから解放しません。 –

答えて

1

P1のメッセージがP2に達するのに要する時間が短いほど、またその逆もあります。このプロセスはより速くなります。その時間は、さまざまな要素に依存します。その中には、マシン間の物理的な距離と、ネットワーク機器とリンクの数と容量があります。

通常、ローカルネットワーク内のマシンは近くにネットワーク機器がほとんどないため、マシン間の接続が離れている場合よりも高速に接続する必要があります。

もちろん、そうでないシナリオを想像することもできますが、それは非典型的なケースです。

+0

okですので、プロセスは同じですが、マシンが近くにあり、ネットワークジャンプがないため、速度が速くなります。 – iajnr

+0

私も質問がありました.2台のデバイスがネットワークに接続されている場合、ネットワークには常に物理的な接続があります。 @Malt – iajnr

+0

プロセスは似ていますが、同じではありません。ネットワーク間のルーティングが必要です。 1つのネットワークにルーティングがありません。「ネットワーク」とは、「スイッチドネットワーク」などを意味します。あなたの2番目の質問について - 私は理解していません。デバイスが物理的に切断される可能性がある場合、「デバイスはネットワーク内にある」という意味はどうですか? – Malt