1

TCP では、タイムアウトが発生するまでの時間はどのように決定されますか? タイムアウトごとに2倍になる間隔からランダムに選択されると言われましたが、Googleで見つけたものはランダム選択について何も言及しておらず、代わりに、最初の確認が受信された後にSmoothed Round Trip Timeを使用して計算されると言っています. これはパケットごとに行われますか、それともデザインにランダム性がありますか?

4

1 に答える 1

1

RTT の初期値は、接続を開始する TCP 3 ウェイ ハンドシェイク中に計算されます。その後、適格な送信/ACK が見られると更新されます。

最新の実装のほとんどは、この方法を直接使用するのではなく、ACK を取得してその間隔の後に再送信するのにかかる最大時間の統計分析を使用します。「指数関数的バックオフ」(待機間隔の倍増) は、同じデータのさらなる再送信に対して発生します。

ACK を受信せずに何回か送信した後、接続は「タイムアウト」します。

于 2012-11-08T19:19:37.137 に答える