Überlauf des TCP-Sequenzzählers

Überlauf des TCP-Sequenzzählers

Ich habe aus einem Kurs folgende Frage bekommen:

"Nehmen wir eine TCP-Verbindung über das Internet mit einer nutzbaren Bandbreite von 300 Mbit/s an. Nehmen wir an, dass einige Pakete mit sehr hoher Verzögerung transportiert werden. Bei welcher Verzögerungszeit können ernsthafte Probleme auftreten? Ist das ein realistisches Problem?"

Ich habe berechnet, dass bei einer Verzögerungszeit von ~2 Minuten ein Überlauf im Sequenzzähler auftritt (wenn man davon ausgeht, dass er bei 0 beginnt). Laut RFC läuft der Sequenzzähler auf Null über. Ich habe im RFC keinen Hinweis gefunden, was zu tun ist, wenn dies passiert, aber vielleicht habe ich es übersehen.

Meine Frage ist: Was wird passieren? Ist das einfach eine Einschränkung von TCP? Gibt es Workarounds (außer der Verwendung eines größeren Sequenzzählers)?

Antwort1

Nun, der entsprechende RFC erklärt Ihnen, wie Sie dies richtig machen (und löst das Problem tatsächlich). Siehehttp://www.apps.ietf.org/rfc/rfc1323.htmlSektion 4.

Antwort2

Ich glaube nicht, dass das Überlaufen an sich ein Problem ist. Sie werden nur dann ein Problem bekommen, wenn Sie ein Paket mit einer Sequenznummer empfangen, die innerhalb des aktuellen Empfangsfensters liegt, aber tatsächlich (ein Vielfaches von) 4 GiB vor dem Datenstrom liegt. Damit dies geschieht, müsste das Paket Ihrer Berechnung zufolge (klingt plausibel) um zwei Minuten verzögert werden. In der Praxis glaube ich nicht, dass dies allzu oft passieren würde, da es normalerweise keineDasviel Pufferspeicherplatz in allen Zwischensystemen (er müsste ebenfalls in der Größenordnung von 4 GiB liegen).

verwandte Informationen