Zusammenfassung
- Wird derselbe Sequenzbereich zweimal übertragen, kann ein kumulatives ACK die Zustellung bestätigen, ohne die verursachende Instanz zu identifizieren; es darf daher gewöhnlich nicht als RTT-Messwert dienen.
- Das RTO wird bei weiterem Timeout exponentiell vergrößert, bis neu gesendete und bestätigte Daten eine eindeutige Messung liefern. TCP-Zeitstempel sind eine Ausnahme, wenn sie die Instanz kenntlich machen.
Ein TCP-Sender überträgt ein Segment und startet den Wiederübertragungstimer. Nach dessen Ablauf sendet er denselben Sequenzbereich erneut. Kommt anschließend ein kumulatives ACK an, ist die Aussage zur Zuverlässigkeit eindeutig: Der Empfang der Bytes ist bestätigt. Die Latenz bleibt jedoch offen. Das ACK kann durch die erste Übertragung, die Wiederholung oder beide verursacht worden sein.
RFC 793 beschreibt den grundlegenden Ablauf: Sequenznummerierte Daten werden in einer Retransmissionswarteschlange verwaltet; bei Timerablauf wird das unbestätigte Segment erneut gesendet. Das dort beispielhaft dargestellte RTO-Verfahren misst die Zeit vom Senden eines nummerierten Oktetts bis zu einem ACK, das es abdeckt, und glättet daraus den RTT. Es legt aber keine Übertragungsinstanz fest, wenn der Bereich wiederholt wurde.
RFC 1122 verwendet in Abschnitt 4.2.3.1 ausdrücklich „MUST implement“ für Karns und Jacobsons Algorithmus sowie „MUST include“ für exponentielles Backoff. Karn bestimmt, welche Beobachtungen zulässig sind; Jacobson berücksichtigt die RTT-Varianz. Präzisere Rechenverfahren können keine Beobachtung retten, deren zeitlicher Ursprung unbekannt ist. Wenn RFC 6298 später von einer Anhebung von SHOULD auf MUST spricht, betrifft das die Unterstützung des allgemeinen RTO-Algorithmus; die beiden ausdrücklichen Sätze aus RFC 1122 werden dadurch nicht zu Empfehlungen.
RFC 6298 verbietet RTT-Messungen anhand retransmittierter Segmente, weil das ACK zur ersten oder zu einer späteren Instanz gehören kann. Nach Ablauf retransmittiert der Sender das älteste unbestätigte Segment, verdoppelt das RTO —vorbehaltlich der in Abschnitt 2.5 erlaubten optionalen Obergrenze— und startet den Timer neu. Eine gewöhnliche neue Messung entsteht erst nach dem Senden und Bestätigen neuer Daten. Zeitstempel können die Mehrdeutigkeit beseitigen.
Karn ist weder Verlustdetektion noch Fast Retransmit, Congestion Control oder SACK. Die Regel bestimmt auch weder die Delayed-ACK-Politik noch das Zeitstempelverfahren; Zeitstempel sind lediglich die Ausnahme, die eine Übertragungsinstanz identifizieren kann. Karn beschreibt die Zulässigkeit einer Messung: Ein ACK kann den Zustellungszustand voranbringen und zugleich für die RTT-Schätzung unbrauchbar sein.
Quellen
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
