Die Zeitgeber für die Weiterleitung in TCP sind für die Verwaltung der Datenübertragung und die Gewährleistung einer zuverlässigen Zustellung von wesentlicher Bedeutung. Sie bestimmen, wann ein Absender nicht bestätigte Pakete erneut senden sollte. Zu verstehen, wie diese Zeitgeber berechnet werden, beinhaltet das Erfassen der zugrunde liegenden Theorie, Algorithmen und praktischen Faktoren, die ihre Einstellung beeinflussen.

Theoretische Grundlagen von TCP Retransmission Timern

Die Kernidee hinter TCP-Retransmissions-Timern ist die Schätzung der Roundtrip-Zeit (RTT) zwischen Sender und Empfänger. Diese Schätzung hilft bei der Entscheidung, wann Daten erneut gesendet werden, wenn Bestätigungen nicht innerhalb eines bestimmten Zeitraums empfangen werden. Der Timer muss sich an Netzwerkbedingungen anpassen, um unnötige Wiederholungen oder Verzögerungen zu vermeiden.

Algorithmen zur Berechnung von Retransmission Timern

Der am häufigsten verwendete Algorithmus ist der Jacobson/Karels-Algorithmus, der den Retransmission Timeout (RTO) dynamisch auf der Grundlage von gemessenen RTTs anpasst. Er behält Schätzungen der geglätteten RTT (SRTT) und RTT-Varianz (RTTVAR) bei. Die RTO wird dann wie folgt berechnet:

RTO = SRTT + 4 * RTTVAR

Dieser Ansatz ermöglicht es dem Timer, sich an sich ändernde Netzwerkbedingungen anzupassen, unnötige Wiederholungen zu reduzieren und die Effizienz zu verbessern.

Praktische Überlegungen bei der Timerberechnung

In der Praxis beeinflussen Faktoren wie Netzwerkstaus, Paketverlust und Variabilität der RTT die Timereinstellungen. TCP-Implementierungen beinhalten häufig Sicherheitsvorkehrungen wie minimale und maximale RTO-Werte, um übermäßig kurze oder lange Timer zu verhindern. Typische minimale RTO-Werte liegen bei etwa 200 Millisekunden, während Maximums mehrere Sekunden erreichen können.

Zusätzlich werden exponentielle Backoff-Strategien nach wiederholten Wiederholungen verwendet, um eine Überlastung des Netzwerks zu vermeiden.