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]
|
|
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 niemals sicherstellen, dass der Rückweg eines Paketes die identische Strecke nutzt.