Zum Hauptinhalt springen

4.1. Neustart inaktiver Verbindungen

Ein bekanntes Problem der oben beschriebenen TCP-Staukontrollalgorithmen besteht darin, dass sie die Übertragung eines potenziell unangemessenen Verkehrsausbruchs zulassen, nachdem TCP für einen relativ langen Zeitraum inaktiv war. Nach einer Ruhephase kann TCP die Bestätigungs-Uhr nicht nutzen, um neue Segmente in das Netzwerk zu takten, da alle Bestätigungen aus dem Netzwerk abgeflossen sind. Daher kann TCP, wie oben angegeben, nach einer Ruhephase potenziell einen Ausbruch in Höhe von cwnd mit Leitungsrate in das Netzwerk senden. Darüber hinaus können veränderte Netzwerkbedingungen die Vorstellung von TCP über die verfügbare Ende-zu-Ende-Netzkapazität zwischen zwei Endpunkten, wie sie durch cwnd geschätzt wird, während einer langen Ruhephase ungenau gemacht haben.

[Jac88] empfiehlt, dass ein TCP den langsamen Start verwendet, um die Übertragung nach einer relativ langen Ruhephase neu zu starten. Der langsame Start dient dazu, die Bestätigungs-Uhr neu zu starten, genau wie zu Beginn einer Übertragung. Dieser Mechanismus wurde auf folgende Weise weit verbreitet eingesetzt. Wenn TCP länger als einen Übertragungswiederholungs-Zeitgeber kein Segment empfangen hat, wird cwnd auf den Wert des Neustartfensters (RW) reduziert, bevor die Übertragung beginnt.

Für die Zwecke dieser Norm definieren wir RW = min(IW,cwnd).

Die Verwendung des Zeitpunkts, zu dem zuletzt ein Segment empfangen wurde, um zu entscheiden, ob cwnd verringert werden soll, kann im häufigen Fall persistenter HTTP-Verbindungen [HTH98] daran scheitern, cwnd zu entleeren. In diesem Fall empfängt ein Webserver eine Anfrage, bevor er Daten an den Webclient überträgt. Der Empfang der Anfrage lässt den Test auf eine inaktive Verbindung fehlschlagen und ermöglicht es dem TCP, die Übertragung mit einem möglicherweise unangemessen großen cwnd zu beginnen.

Daher SOLLTE (SHOULD) ein TCP cwnd vor Beginn der Übertragung auf höchstens RW setzen, wenn das TCP in einem Intervall, das den Übertragungswiederholungs-Zeitgeber überschreitet, keine Daten gesendet hat.