Webサイトからファイルをダウンロードする場合、1秒あたり数メガバイトの速度を達成できます。TCPを分割して、1500バイトを超えるパケットを個別に送信する必要がある場合、これらの速度はどのように可能ですか?クライアントは1500バイトのフラグメントごとに待機する必要はありませんか?これにはしばらく時間がかかりますか?
ありがとう
クライアントは1500バイトのフラグメントごとに待機する必要はありません。これにはしばらく時間がかかります。
いいえ。それが魔法です。すべてのセグメントを実行TCP
する必要はありません。たまに実行できます。クライアントが少なくとも一部を積極的に確認する必要がある前に、サーバーは多くのセグメントをプッシュできます。ACK
ACK
TCPは「ウィンドウ」と呼ばれる概念を使用します。送信者はデータをウィンドウにプッシュして、ウィンドウを縮小させることができます。受信者はデータを確認し、ウィンドウを拡大します。受信者がデータを確認しない場合、転送は停止します。
最新のTCPでは、データをいつ確認するかを知ることがプロトコルの要点です。頻繁に実行したり、十分に実行しなかったりすると、パフォーマンスに大きな影響があります。