高速再送(こうそくさいそう)
最終更新:2026/4/28
高速再送は、TCP通信において、受信側が失われたパケットをより迅速に再送要求するために用いる技術である。
ポイント
高速再送は、従来の再送タイムアウトに頼らず、重複ACKを利用して効率的な再送を実現する。これにより、ネットワークの輻輳状況下でも通信の信頼性を維持する。
高速再送の概要
高速再送(Fast Retransmit)は、TCP(Transmission Control Protocol)における信頼性制御のメカニズムの一つです。TCPは、信頼性の高いデータ転送を実現するために、パケットの損失を検出し、失われたパケットを再送する機能を備えています。従来の再送方式では、受信側がパケットの損失を検知すると、再送タイムアウト(Retransmission Timeout, RTO)と呼ばれるタイマーを起動し、タイマーが満了した時点で再送要求を送信していました。しかし、ネットワークの輻輳などにより遅延が発生した場合、RTOが不適切に設定されると、不必要な再送や通信の停滞を引き起こす可能性がありました。
高速再送は、このような問題を解決するために導入されました。高速再送では、受信側が順番外のパケットを受信した場合、そのパケットをバッファリングし、期待されるパケットの番号を送信者に通知します。この通知は、重複ACK(Duplicate ACK)として送信されます。送信側は、一定数(通常は3つ)の重複ACKを受信すると、パケットが失われたと判断し、再送タイムアウトを待たずに直ちに再送を行います。
高速再送の動作原理
高速再送の動作原理は、以下の通りです。
- パケット損失の検知: 受信側が順番外のパケットを受信すると、重複ACKを送信側に送信します。
- 重複ACKの受信: 送信側は、重複ACKを3つ受信すると、パケットが失われたと判断します。
- 再送の実行: 送信側は、失われたパケットを直ちに再送します。
高速再送の利点
高速再送は、従来の再送方式と比較して、以下の利点があります。
- 再送時間の短縮: 再送タイムアウトを待たずに再送を行うため、再送時間を短縮できます。
- スループットの向上: 再送時間の短縮により、スループットを向上させることができます。
- 輻輳制御の改善: 輻輳状況下でも、効率的な再送を行うことで、輻輳制御を改善できます。
高速再送と輻輳回避
高速再送は、輻輳回避アルゴリズムと組み合わせて使用されることが一般的です。輻輳回避アルゴリズムは、ネットワークの輻輳状況を検出し、送信レートを調整することで、輻輳を回避する機能です。高速再送と輻輳回避アルゴリズムを組み合わせることで、より信頼性の高いデータ転送を実現できます。