Paketumlaufzeit

Die Paketumlaufzeit bzw. Round Trip Time (RTT, englisch für Rundreisezeit) gibt die Zeit an, die ein Datenpaket (Datagramm) in einem Rechnernetz benötigt, um von der Quelle zum Ziel und zurück zu reisen. Es handelt sich also um die Summe aus Laufzeit von Punkt A nach Punkt B und der Laufzeit von Punkt B nach Punkt A.

Anwendung der Messung

Diese Methode der Messung wird deshalb viel häufiger in der Praxis der Netzwerktechnik verwendet als die (nur in eine Richtung gemessene) Latenzzeit (oder Verzögerungszeit bzw. engl. „delay“), weil dabei keine Zeitsynchronisation der beiden beteiligten Endgeräte benötigt wird. Bei der RTT-Messung ist jedoch zu bedenken, dass in vielen Fällen durch asymmetrisches Routing (z. B. aufgrund von BGP-Policys) unsymmetrische Verzögerungszeiten auftreten können und die halbe RTT damit nicht unbedingt eine gute Näherung für die Verzögerungszeit in eine Richtung liefert. Außerdem können unterschiedliche Protokolle insbesondere durch policy-basiertes Routing auf dem Weg sehr unterschiedlich behandelt werden, so dass eine RTT-Messung grundsätzlich nur für das dabei verwendete Protokoll gilt.

Die RTT wird zum Beispiel vom Transmission Control Protocol (TCP) laufend gemessen, um zu bestimmen, wann Pakete nach Ausbleiben einer Bestätigung erneut gesendet werden sollten.[1] Diese Maßnahme dient dazu, das Protokollverhalten abhängig von den verfügbaren Transportkapazitäten und bei wechselnden Lastzuständen anzupassen. Eine einfache Möglichkeit zur Bestimmung der durchschnittlichen RTT besteht darin, von mehreren Paketen die Zeitdifferenz zwischen Aussendung und Eintreffen der Bestätigung zu messen und dann über mehrere Messungen zu mitteln. Pakete, die mehrfach gesendet werden mussten (Timeout), sollten bei der Rechnung ignoriert werden, da nicht immer klar ist, für welches Paket die Bestätigung galt.

Entgegen der Definition im Einleitungsabschnitt wird die RTT also meist nicht mit einem hin- und zurückgesendeten Paket gemessen. Stattdessen misst man normalerweise so, dass Host A ein spezielles Paket zu Host B schickt (z. B. ICMP-Ping). Beim Empfang sendet Host B unmittelbar ein Antwortpaket zu Host A zurück. Die Zeit zwischen Aussenden des ersten und Empfangen des Antwortpaketes ist dann die RTT. Dieser minimale Unterschied ist naturgemäß eher akademischer Natur und spielt höchstens dann eine Rolle, wenn sich bei Host B das Versenden des Antwortpaketes signifikant verzögert, beispielsweise durch stark erhöhte CPU-Last.

Endanwender können die RTT für ICMP beispielsweise mit dem Werkzeug Ping messen, welches bei den meisten modernen Betriebssystemen beiliegt.

Typische Messwerte

Typische RTT-Werte:[2]

Lokales Netzwerk (TCP), 1500 Byte-Paket
100BASE-TX-Ethernet<1 ms
WLAN 802.11b10 ms
ADSL 6000 ohne Fastpath40 ms
ADSL 2000 ohne Fastpath55 ms
ISDN (mit kleinen Paketen deutlich kürzer)200 ms
UMTS300–400 ms
GPRS700–1000 ms
Internet (IP), jenseits des Routers
innerhalb Deutschlands< 50 ms
USA100–150 ms
Fernostbis zu 300 ms

RTT vs. Ping

Ping testet Wege im Netz bzw. das Routing im Netz und gibt den Status meist in Form von ICMP-Fehlermeldungen, Paketverlustquoten, Sequenznummern, Informationen über Paketgrößen/Fragmentierung, Time to Live und u. a. auch der Round-Trip-Time (Rundreisezeit) aus (die genauen Informationen hängen vom verwendeten Ping-Programm bzw. Betriebssystem ab). Wer die RTT sinnvoll messen will, sollte sich nicht auf Ping alleine verlassen, da das von Ping verwendete ICMP-Protokoll in vielen Netzen gegenüber dem üblichen TCP-Datenverkehr anders geroutet oder priorisiert wird. Auch darf die RTT nicht halbiert werden, um eine Laufzeit einer Wegstrecke zu ermitteln. Man erhielte sonst einen gemittelten Wert. TCP kann architektonisch nicht sicherstellen, dass der Rückweg eines Paketes die identische Strecke nutzt.

Einzelnachweise

  1. RFC6298 – Computing TCP’s Retransmission Timer. Juni 2011 (englisch).
  2. Christoph Lüders, Martin Winkler: Pingpong. In: c’t, 2006, 23, S. 199.