TCP のリトランスミッションタイマーは、データ伝送の管理と信頼性の高い配信の確保に不可欠です。送信者が未認識パケットを再送信すべきかどうかを判断します。これらのタイマーを計算する方法は、設定に影響を与える基本的な理論、アルゴリズム、および実用的な要因を把握することを含みます。

TCP再送信タイマーの理論的基礎

TCP 再送信タイマーの背後にあるコアの考え方は、送信者と受信機の間の往復時刻(RTT)を推定することです。この推定は、アクセナビリティが一定期間内に受信されていない場合にデータを再送信するときに役立ちます。タイマーは、不要な再送信や遅延を防ぐためのネットワーク条件に適応しなければなりません。

再送信タイマーの計算アルゴリズム

使用される最も一般的なアルゴリズムは、測定されたRTTに基づいて、再送信時間(RTO)を動的に調整するジェイコブソン/カレルアルゴリズムです。 これは、スムーズなRTT(SRTT)とRTT分散(RTTVAR)の推定値を維持します。 RTOは、次のように計算されます。

[]RTO = SRTT + 4 * RTTVAR]

このアプローチにより、タイマーはネットワーク条件を変更し、不要な再送信を減らし、効率性を向上させることができます。

タイマー計算における実践的考察

実際には、ネットワークの輻輳、パケットロス、およびRTTの脆弱性などの要因はタイマーの設定に影響を及ぼします。TCPの実装には、過度に短時間または長期間にわたって過度に制限されるように、最小限のRTO値などの保護薬が頻繁に含まれています。最大値は200ミリ秒前後で、最大値は数秒に達することができます。

また、ネットワークを圧倒しないように、繰り返し再送信後に、指数関数的なバックオフ戦略が使用されます。 適切なタイマー計算は、TCP 性能と信頼性を維持するために不可欠です。