TCP シーケンス カウンター オーバーフロー

TCP シーケンス カウンター オーバーフロー

あるコースから次のような質問を受けました。

「インターネット上で 300Mbps の使用可能な帯域幅を持つ TCP 接続を想定します。一部のパケットが非常に大きな遅延で転送されると仮定します。どのくらいの遅延時間で深刻な問題が発生する可能性がありますか? これは現実的な問題でしょうか?」

計算したところ、遅延時間が約 2 分の場合、シーケンス カウンター内でオーバーフローが発生します (0 から始まると仮定した場合)。RFC によると、シーケンス カウンターは 0 にオーバーフローします。RFC 内に「これが発生した場合の対処方法」は見つかりませんでしたが、見落としている可能性があります。

私の質問は、何が起こるかということです。これは単に TCP の制限ですか? 回避策はありますか (より大きなシーケンス カウンターを使用する以外)?

答え1

関連するRFCでは、これを正しく行う方法(そして実際に問題を解決する方法)が説明されています。http://www.apps.ietf.org/rfc/rfc1323.htmlセクション4。

答え2

オーバーフロー自体は問題ではないと思います。問題になるのは、現在の受信ウィンドウ内にあるが、実際にはデータストリームの4GiB(の倍数)前のシーケンス番号を持つパケットを受信した時だけです。これが発生するには、計算によると、パケットは2分間遅延する必要があります(もっともらしいですね)。実際には、通常はそうではないので、これはあまり頻繁には発生しないと思います。それすべての中間システムに大量のバッファ スペースが必要です (4 GiB 程度必要になります)。

関連情報