Peer-to-Peer-Netzwerke: Algorithmen und Methoden
verdoppelt sich das Fenster innerhalb der Umlaufzeit (RTT). Setzen wir x = cwnd/Mss, stellt sich also nach O(log x) Umlaufzeiteinheiten (Vielfachen von RTT)
x ~ x - 2
ein.
4. Werden Daten bestatigt and ist cwnd > ssthresh, befindet sich der Algorithmus in der Congestion-Avoidance-Phase. Hier wird die Congestion-FenstergroBe langsamer erhoht:
Dabei handelt es sich um eine lineare Zunahme der Datenmenge, wie folgende Uberlegung zeigt: Die Gesamtmenge an Daten, die innerhalb der Umlaufzeit RTT ubertragen wird, ist cwnd. Die Datenrate ist damit w = cwnd/RTT. Diese Menge wird nun fur jedes der cwnd TCP-Pakete innerhalb der Umlaufzeit RTT um
Bytes erhoht.' Damit wiederum erhoht sich die Datenrate um
d.h. pro Umlaufzeit nur um ein Paket. Wir erhalten also
Dieses additive Erhohen and multiplikative Verringern der Datenrate nennt man auch AIMD (Additive Increase/Multiplicative Decrease). Auf Seite 41 werden wir die Motivation fur dieses (auch unter dem Namen TCP Tahoe bekannte) Verfahren kennenlernen.
Geht nun nur ein einziges TCP-Paket verloren, so hat das drastische Auswir- kungen auf das Ubertragungsverhalten einer TCP-Verbindung. So wird nicht nur die Datenrate auf den kleinstmoglichen Wert gesetzt. Auch mussen alle TCP-Pakete, die nach dem Paket verschickt worden sind, wegen des Bestatigungsmechanismus als verloren angesehen werden. Deswegen wurde im Jahr 1990 in [30] das FastRetransmit- and Fast-Recovery-Verfahren vorgeschlagen.
Der Bestatigungsmechanismus in TCP erlaubt es nicht Pakete zu bestatigen, die nach einem verlorenen Paket liegen. Jetzt mochte der Empfanger dennoch signalisie- ren, dass sinnvolle Informationen nach der Lucke eingegangen sind. Daher wiederholt der Empfanger fur jedes eingehende Paket die Nummer des Bytes des ersten fehlenden Pakets (was als Bestatigungsnummer fur das letzte Paket vor der Lucke interpretiert werden kann). Der Fast-Retransmit-Mechanismus trio in Aktion, wenn drei Bestatigungen derselben Bestatigungsnummer (Triple Duplicate ACK) Beim Sender eingegangen sind. Dies signalisiert dem Sender, dass nach einem fehlenden TCPPaket weitere TCP-Pakete empfangen wurden. Der Sender schickt daher als nachstes Paket nochmals jenes, das der dreimal wiederholten Bestatigungsnummer entspricht. Ansonsten verschickt der Sender keine weiteren Kopien, sondern schickt neue TCPPakete, sofern die FenstergroBe dies noch zulasst.
Der Fast-Recovery-Mechanismus verhindert nun nach dem Empfangen eines Triple-Duplicate-Ack einen Slow-Start. Vielmehr wird die Congestion-FenstergroBe direkt auf die Halfte der ursprunglichen FenstergroBe gesetzt. AuBerdem wird jede weitere Kopie einer Bestatigung als Bestatigung eines spateren Pakets interpretiert and damit das Congestion-Fenster um ein Segment erweitert.
Im Einzelnen wird Fast-Retransmit and Fast-Recovery wie folgt implementiert. Die folgenden Schritte werden statt der zweiten and dritten Komponente des Congestion-Avoidance angewendet, sofern eine dreifache Bestatigung desselben Pakets festgestellt wird. Das nun folgende Protokoll ist unter dem Namen TCP Reno bekannt.
1. Wird eine dritte Bestatigung desselben Segments erhalten, setzen wir
and senden das fehlende Segment ein zweites Mal. AuBerdem wird die Congestion-FenstergroBe wie folgt gesetzt:
2. Trifft danach eine weitere Bestatigung desselben Segments ein, setzt der Sender
and versucht, falls es die FenstergroBen erlauben, ein weiteres Segment zu ver- schicken.
3. Erscheint nach der Folge der Bestatigungen desselben Segments eine Bestatigung eines anderen Segments, bestatigt dies den Erhalt des verlorenen Pakets. Nun wird das Congestion-Fenster wie folgt gesetzt:
Damit befinden wir uns wieder im Congestion-Avoidance-Mechanismus, da wir ab jetzt nur die Halfte der ursprunglichen Datenrate verwenden.
AIMD
In diesem Abschnitt motivieren wir den AIMD-Mechanismus (Additive Increase/Multiplicative Decrease) zur Stauvermeidung (Congestion Avoidance) gemaB [31]. In Abbildung 2.14 wird gezeigt, wie Datenlast (load) mit Antwortzeit and Datendurchsatz typischerweise in einem Netzwerk interagieren. Der Datendurchsatz ist maximal, wenn die angefragte Last die Netzwerkkapazitat erreicht. Wird die Last weiter erhoht, nimmt der Datendurchsatz ab, da Datenpuffer uberlaufen and Pakete verloren gehen and somit mehrfach versendet werden mussen. Dadurch steigt auch die Antwortzeit extrem an. Diese Situation einer Datenstauung wird Congestion genannt.
Statt in einem Netzwerk extreme Lastanforderung
Weitere Kostenlose Bücher