Nagle's Algorithm
Nagleアルゴリズムは小さなセグメントをまとめてフルサイズにすることで小パケット数を削減するが、遅延ACKとの相互作用により最大40ミリ秒の遅延が加わる可能性がある。
目的
スループット重視で遅延に寛容な一括転送では小パケットのオーバーヘッドを削減する。リアルタイムアプリケーションでは無効化すべきである。
メカニズム
未ACKのデータが存在する間、小さなセグメントはMSSいっぱいになるか前のセグメントがACKされるまでバッファリングされる。遅延ACKとの相互作用で40ミリ秒のレイテンシが生じうるため、リアルタイムアプリケーションはTCP_NODELAYを設定して無効化する。
ユースケース
- 一括データ転送
- Telnet/FTPでの転送
- 小パケットの削減