TCP/UDP und Varianten Seminar ... - Informatik 4
TCP/UDP und Varianten Seminar ... - Informatik 4
TCP/UDP und Varianten Seminar ... - Informatik 4
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5.4 Slowstart/Congestion Avoidance<br />
Ein Nachteil des Sliding Window ist, dass es zu Überlastungen an Knoten kommen kann, die auf dem<br />
Weg zum Empfänger passiert werden müssen, da diese keinen Einfluss auf die Grösse des Fensters<br />
ausüben können. Diesem Nachteil tritt Slowstart [9] entgegen. Auf der Senderseite wird die Eingangsrate<br />
von Quittungen beobachtet. Mittels Slowstart versucht man, die Ausgangsrate von Segmenten<br />
der Eingangsrate von Quittungen anzugleichen. Ein optimaler Zustand wird dann erreicht wenn der<br />
Sendkanal vollständig gefüllt ist.<br />
Abb. 5.1 Füllung des SendeKanals: 1)gering 2)optimal<br />
Slowstart versucht, die Kapazität des Kanals möglichst schnell vollständig auszunutzen, solange kein<br />
Segment verloren geht. Dazu benötigt Slowstart für jede Verbindung ein Congestionwindow, das zu<br />
Anfang der Verbindung mit 1 initialisiert wird. Für jede korrekt empfangene Quittung wird das Congestionwindow<br />
inkrementiert. …q† +!0>u\† 2(v‡ † a …ˆ† !0>u† £‡ † ‰$a:<br />
Dies führt zu einem exponentiellem Wachstum der Anzahl der Übertragenen Segmente, denn während<br />
des Sendens von Segmente treffen Quittungen für die zuletzt gesendeten Segmente ein. Sind z.B. 2<br />
Segmente verschickt worden, so kommen 2 Quittungen zurück, so dass sich die Grösse des Congestionwindow<br />
verdoppelt.<br />
Der Sender sendet dann Datenmenge = min[Empfangsfenster, Congestionwindow]. Dies führt recht<br />
schnell zu einem gefülltem Sendekanal, solange der Empfänger seinen Puffer schnell genug leeren<br />
kann. Sollte jedoch ein Segment verloren gehen, so ist das Congestionwindow wieder auf den Anfangswert<br />
zu setzen, <strong>und</strong> der Füllgrad des Sendekanals nimmt dementsprechend ab. Um eine solche<br />
Situation zu verhindern, arbeitet Slowstart in Kombination mit Congestion Avoidance. So wird ein<br />
Schwellwert SSThreshold eingeführt, der anfangs zu 65535 Bytes initialisiert wird [10]. Sollte das<br />
Congestionwindow kleiner sein als der Schwellwert, so wird das Fenster gemäss dem Slowstart Algorithmus<br />
erhöht. Ist der Schwellwert überschritten, so geht das Verfahren in Congestion Avoidance<br />
über. Dann gilt für die Erhöhung des Congestionwindow<br />
…q† !0>u† 2(v‡ † a …q† +!#>u† 2‡ † ‰$ :<br />
17<br />
…ˆ† !0>u† £v‡ †