web-dev-qa-db-ja.com

TCPは、3回の重複ACKを待ってから高速で再送信するのはなぜですか?

TCPは、3回の重複ACKを待ってから高速で再送信するのはなぜですか?

38
user507401

RFC 2001 は言う

TCP=は、重複したACKが失われたセグメントによるものなのか、セグメントの並べ替えによるものなのかわからないため、少数の重複するACKが受信されるのを待ちます。は単にセグメントの並べ替えであり、並べ替えられたセグメントが処理される前に1つまたは2つの重複するACKのみが存在し、それによって新しいACKが生成されます。3つ以上の重複するACKが連続して受信される場合、それはTCP次に、再送信タイマーが期限切れになるのを待たずに、欠落しているセグメントのように見えるものの再送信を実行します。

3番目の複製まで再送信を行わない理由は、その時点までは、順序が正しくない配信である可能性が高く、再送信は実際には必要ないためです。

53
Don Roby