メインコンテンツまでスキップ

4.1. アイドル接続の再起動

上述のTCP輻輳制御アルゴリズムに関する既知の問題は、TCPが比較的長い期間アイドル状態であった後に、潜在的に不適切なトラフィックのバーストを送信できることです。アイドル期間の後、すべてのACKがネットワークから排出されているため、TCPはACKクロックを使用して新しいセグメントをネットワークに送り込むことができません。したがって、上述のように、TCPはアイドル期間の後にcwndサイズのラインレートのバーストをネットワークに送信する可能性があります。さらに、長いアイドル期間の間にネットワーク条件が変化したことで、cwndによって推定される2つのエンドポイント間の利用可能なエンドツーエンドのネットワーク容量についてのTCPの認識が不正確になっている可能性があります。

[Jac88] は、TCPが比較的長いアイドル期間の後に送信を再開するためにスロースタートを使用することを推奨しています。スロースタートは、転送の開始時と同様に、ACKクロックを再起動する役割を果たします。このメカニズムは、次のように広く実装されています。TCPが1つの再送タイムアウトを超えてセグメントを受信しなかった場合、送信を開始する前にcwndが再起動ウィンドウ (RW) の値に低減されます。

本標準の目的のために、RW = min(IW,cwnd) と定義します。

セグメントを最後に受信した時刻を使用してcwndを低減すべきかどうかを判断することは、持続的HTTP接続 [HTH98] という一般的なケースではcwndを収縮させられないことがあります。この場合、WebサーバーはWebクライアントにデータを送信する前にリクエストを受信します。そのリクエストの受信によりアイドル接続の検査が失敗し、TCPが不適切に大きい可能性のあるcwndで送信を開始できるようになります。

したがって、TCPが再送タイムアウトを超える間隔でデータを送信していない場合、TCPは送信を開始する前にcwndをRW以下に設定すべきである (SHOULD)。