Beitrag
von transforamtor » Mo 15. Mär 2010, 13:03
Habe auch noch zwei Fragen zu dem Thema.
1. Wie sieht das mit der Zeile "Wird der vierte ACK (3. DUP-ACK) mit gleicher ACK Sequenznummer empfangen, setzte S = min(WINS, CWND)/2. Sende das (vermutlich) fehlende Segment. Setze CWND = S + 3*MSS" aus? Ich setze also das ssthresh (hier S) auf einen bestimmten Wert. Und dann setze ich das CWND in der nächsten RTT auf ssthresh + 3 * MSS. In der Musterlösung zu Aufgabenpunkt 5 in der 7. Übung (Figure 1.5) bei Fast Retransmit/Fast Recovery wird jetzt allerdings CWND auf ssthresh gesetzt, ohne 3*MSS draufzuaddieren, mit der Begründung, dass der Empfänger ja nur DUP-ACKs erzeugt hat, während noch Daten vom Sender zum Empfänger fließen. Allerdings ist der Fall in der Aufgabe genau der, der im Skript beschrieben ist, nämlich, dass 3 DUP-ACKs empfangen wurden. Irgendwie widerspricht die Lösung also dem, was in der Vorlesung vorgetragen wurde.
2. In der Foliensammlung Folien_2.12.2009 auf Seite 26 heißt es:
- Ist CWND <= S und wird ein Segment bestätigt, setze CWND += MSS (Slow Start)
- Ist CWND > S, inkrementiere für jede Round Trip Time CWND um maximal MSS (Congestion Avoidance)
Das würde aber doch bedeuten, dass CWND IMMER linear wachsen würde und nicht erst, wenn ssthresh erreicht wurde. Müsste es nicht also eigentlich heißen: "Ist CWND <= S und wird ein Segment bestätigt, sezte CWND += CWND oder CWND *= 2"?
Gruß
Edit: Mir ist gerade noch etwas aufgefallen. In den Vorlesungsfolien heißt es außerdem, dass nachdem CWND auf S + 3*MSS gesetzt wurde bei jedem weiteren empfangenen DUP-ACK CWND erhöht wird. Das ließe sich damit erklären, dass man die weiteren DUP-ACKs als die ACKs interpretiert, die losgeschick wurden, bevor das fehlende Segment neuverschickt wurde. Dadrunter heißt es aber dann, dass CWND wieder auf ssthresh zurückgesetzt wird, sobald das neue ACK empfangen wurde. Das würde aber ja heißen, ich erhöhe CWND erst und setzte es wieder runter wenn ich die Bestätigung für den Empfang von einem Paket erhalten habe. Solange ich aber doch Bestätigungen für gesendete Pakete erhalte, soll doch das CWND erhöht werden, oder etwa nicht?
