Zusammenfassung

  • RFC 6298 empfahl ein anfängliches RTO von einer statt drei Sekunden, weil mehr als 97,5 % der beobachteten Verbindungs-RTTs unter einer Sekunde lagen.
  • Läuft beim Warten auf die Bestätigung eines SYN ein Timer unter drei Sekunden ab, muss das RTO vor Beginn der Datenübertragung auf drei Sekunden zurückgesetzt werden.

Ein Timer ohne Messwert

TCP leitet sein Retransmission-Timeout normalerweise aus gemessenen RTTs ab. Beim Verbindungsbeginn fehlt diese Messung. Gehen SYN oder Antwort verloren, muss der Sender daher zwischen langem Warten und einer zu frühen Wiederholung auf einem lediglich langsamen Pfad abwägen.

RFC 2988 verwendete drei Sekunden. RFC 6298 empfahl eine Sekunde, erlaubte Implementierungen aber weiterhin einen konservativeren Wert über einer Sekunde. Das ist ein SHOULD, kein MUST.

Die historische Grundlage

Anhang A stellte die Änderung als anhand von Beobachtungen bewerteten Zielkonflikt dar. Eine große Analyse fand mehr als 97,5 % der Verbindungs-RTTs unter einer Sekunde und ungefähr 2 % Handshake-Wiederholungen. Zugleich lagen etwa 2,5 % der beobachteten Verbindungen über einer Sekunde RTT.

In den zitierten Datensätzen lag der geschätzte Anteil unnötiger Wiederholungen meist unter 0,1 %, in einem drahtlosen Dartmouth-Trace jedoch bei etwa 1,1 %. Von den Verbindungen mit SYN-Wiederholung konnten laut Gegenfaktualanalyse 43 bis 87 % mindestens 10 % und 17 bis 73 % mindestens 50 % gewinnen. Das sind historische Messungen aus dem Jahr 2011, keine Aussagen über heutige Netze.

Die eingebaute Rücknahme

Ein Timeout verdoppelt das RTO weiterhin zwingend. Läuft beim Warten auf ein SYN ein RTO unter drei Sekunden ab, muss es beim Beginn der Datenübertragung auf drei Sekunden reinitialisiert werden. Der mögliche Preis auf einem langsamen Pfad bleibt damit auf ein zusätzliches SYN und ein nach RFC 5681 auf ein Segment begrenztes anfängliches Congestion Window beschränkt.

Die Regel beseitigt die Schwierigkeiten von Pfaden mit RTT über drei Sekunden nicht. Sie verhindert, dass die ungemessene Ein-Sekunden-Annahme unverändert die Datenphase bestimmt.

Quellen