Zusammenfassung
- RFC 6298 berechnet die Neuübertragungsfrist aus geglätteter Umlaufzeit und ihrer Streuung und lehnt mehrdeutige Proben nach einer Neuübertragung ab.
- Die erste Wartezeit darf bei einer Sekunde beginnen; ein verlorenes SYN stellt für Daten drei Sekunden wieder her, und jede spätere Zeitüberschreitung verdoppelt RTO.
Schweigen ist ein schwacher Beleg. Das Segment kann verloren sein, das ACK kann verloren sein, oder keines von beiden. Zu frühes Senden erzeugt ein Duplikat und belastet einen vielleicht bereits überfüllten Pfad. Zu langes Warten lässt echten Verlust unrepariert. RTO wählt zwischen diesen Fehlern, ohne die Ursache vorzugeben.
Die Schätzung trägt Zeit und Unsicherheit
Vor der ersten RTT-Probe empfiehlt der RFC eine Sekunde RTO, erlaubt aber einen größeren, konservativeren Wert. Mit der ersten Probe R gelten SRTT = R, RTTVAR = R/2 und RTO = SRTT + max(G, 4*RTTVAR), wobei G die Uhrgranularität ist.
Bei späteren Proben wird RTTVAR zuerst mit dem alten SRTT aktualisiert; beta ist ein Viertel, alpha ein Achtel und K vier. Erst danach ändert sich SRTT. So misst die Streuung, wie überraschend die Probe gegenüber der vorherigen Schätzung ist. RTO bleibt SRTT plus der größere Wert aus G und vierfacher RTTVAR.
Liegt das Ergebnis unter einer Sekunde, soll es auf eine Sekunde steigen. Eine Obergrenze darf nur 60 Sekunden oder mehr betragen. Die Implementierung darf konservativer, aber nicht aggressiver als der Algorithmus neu senden.
Nicht jedes ACK lehrt die Uhr
Karns Algorithmus ist Pflicht. Nach einer Neuübertragung kann das ACK die erste oder die zweite Kopie bestätigen und darf daher keine RTT-Probe liefern, außer TCP Timestamps beseitigt die Mehrdeutigkeit. Ohne Zeitstempel soll gewöhnlich mindestens eine Probe je RTT entstehen; mit ihnen sind mehrere möglich, ohne die Schätzregeln aufzuheben.
Das ist nicht PAWS: Der Zeitstempel ordnet hier ein ACK einer Sendung zu und verwirft keine alten Sequenzen nach einem Umlauf.
Ein Timer für die ältesten offenen Daten
Werden neue Daten gesendet und der Timer läuft nicht, startet er mit dem aktuellen RTO. Ein ACK für alle offenen Daten stoppt ihn. Ein ACK, das neue Daten bestätigt, während weitere offen bleiben, startet ihn mit demselben RTO neu.
Beim Ablauf überträgt TCP das älteste unbestätigte Segment erneut, verdoppelt RTO und startet mit dem doppelten Wert. Exponentieller Backoff macht Handeln bei wiederholtem Schweigen immer teurer. Eine spätere saubere RTT-Probe kann RTO senken; nach mehreren Backoffs dürfen SRTT und RTTVAR gelöscht werden, wenn sie den Pfad nicht mehr beschreiben.
Die erste Sekunde hat eine Ausnahme. Läuft ein SYN bei weniger als drei Sekunden ab, muss RTO nach Verbindungsaufbau für die Datenphase auf drei Sekunden zurückkehren. Der Pfad hat die schnelle Annahme widerlegt.
Der Timer steuert, er diagnostiziert nicht
Ein Angreifer kann ein gemessenes Paket verzögern und RTO erhöhen oder mit gefälschtem Verkehr eine Senkung versuchen. Glättung und Backoff begrenzen die Dauer, authentisieren die Verzögerung aber nicht. Ein Ablauf ist eine Handlung unter Unsicherheit, kein Verlustbeweis.
Die einzige Quelle ist RFC 6298, im Juni 2011 auf dem Standards Track veröffentlicht. Er definiert Algorithmus und historische Begründung, nicht heutige Standardwerte oder das RTT eines bestimmten Netzes.
Mitgliederbriefing
Detaillierter Profilkontext
Melden Sie sich mit der richtigen Mitgliedschaftsstufe an, um das vollständige Briefing und die Quellennotizen freizuschalten.
Nur für Strategic Circle
Strategic Circle
Offen für alle Leser. Schalten Sie Profil-Briefings nach Beitritt und Anmeldung frei.
Strategic Circle beitretenNur für Leadership Alliance
Leadership Alliance
Für qualifizierte Inhaber von IP-Assets und Management; melden Sie sich an, um Leadership-Alliance-Briefings freizuschalten.
Leadership Alliance beitreten
