My Traceroute, oder MTR, kombiniert Traceroute und Ping, um den Zustand eines Netzwerkpfads zu messen.
Nach Lektüre dieses Artikels können Sie Folgendes:
Ähnliche Inhalte
Abonnieren Sie theNET, Cloudflares monatliche Zusammenfassung der beliebtesten Einblicke in das Internet!
Link zum Artikel kopieren
Traceroute ist ein Tool, mit dem Sie Probleme in einem Netzwerkpfad diagnostizieren können. Traceroute wird verwendet, um den Weg zu verstehen, den IP-Pakete von einem Computer (Quell-IP-Adresse) zu einem anderen (Ziel-IP-Adresse) nehmen. Der Befehl traceroute (unter Linux oder macOS) oder tracert (unter Windows) ermöglicht es, den Weg nachzuvollziehen:
*Die Round-Trip-Time (RTT) ist die Zeit, die Daten benötigen, um einen bestimmten Punkt in einem Netzwerk zu erreichen und wieder zu verlassen.
Hier ist ein Beispiel für eine Traceroute zu 1.1.1.1. Die Zeilen mit Sternchen (* * *) stellen Hops dar, von denen keine Pakete zurückgegeben wurden; dies kann passieren, wenn Router so konfiguriert sind, dass sie Traceroute-Pakete ignorieren. Die Millisekunden-Zeiten in jeder Zeile sind die Umlaufzeiten von der Quelle zu diesem Hop für jedes Paket (traceroute sendet jeweils drei Pakete, um die Ergebnisse zu überprüfen).
Traceroute-Beispiel |
---|
traceroute zu 1.1.1.1 (1.1.1.1), max. 64 Hops, 52-Byte-Pakete |
1 myrouter (192.168.47.1) 2.755 ms 1.452 ms 1.325 ms |
2 * * * |
3 69.168.32.65 (69.168.32.65) 18.159 ms 18.658 ms 15.091 ms |
4 * * * |
5 206.126.237.30 (206.126.237.30) 30.453 ms 50.242 ms 24.342 ms |
6 one.one.one.one (1.1.1.1) 29.000 ms 26.784 ms 26.017 ms |
Ein Netzwerkpfad bezieht sich auf die Abfolge der Netzwerke, die ein Paket durchläuft, um sein Ziel zu erreichen.
Das Internet ist eine riesige Sammlung von Netzwerken, die über Routing miteinander verbunden sind. Die meisten Endpunkte im Internet – z. B. ein Webbrowser, der auf eine Website zugreifen möchte, und der Server, der diese Website hostet – sind nicht Teil desselben Netzwerks. Das heißt, wenn der Webbrowser eine Anfrage an die Server der Website sendet, muss die Anfrage wahrscheinlich zwischen mehreren zwischengeschalteten Netzwerken hin und her springen.
Ein Traceroute-Tool sendet Pakete an eine Ziel-IP und mit einer auf 1 gesetzten Time-to-Live (TTL), sodass der erste Router, den die Pakete erreichen, einen Fehler zurücksendet („Zeit überschritten“). Wenn der Fehler zurückkommt, zeichnet das Traceroute-Tool die Identität des ersten Routers und die Umlaufzeit auf, erhöht die TTL und sendet neue Pakete. Dieser Vorgang wird so lange wiederholt, bis entweder 1) das letzte Paket die Ziel-IP erreicht oder 2) zwei Sätze von Paketen verworfen werden.
Auf diese Weise können Sie den Weg, den Ihre Pakete nehmen, und die Umlaufzeit für jeden Hop nachvollziehen, sodass Sie Paketverluste und Latenz beheben können.
Traceroute stützt sich auf das ICMP-Protokoll (Internet Control Message Protocol). ICMP ist ein Protokoll der Netzwerkebene, das für Fehlertests verwendet wird. Es hat kein zugehöriges Transportprotokoll und läuft direkt auf dem Internetprotokoll (IP). Wenn die TTL eines vom Traceroute-Tool gesendeten Pakets überschritten wird, sendet der Router ein ICMP-Paket vom Typ 11 (Time Exceeded Error) zurück.
Ausgehende Pakete (die vom Ausgangsrouter gesendet werden) können ICMP (Standard unter MacOS- und Linux-Betriebssystemen) oder UDP (Standard unter Windows) verwenden. Die Wahl eines anderen Protokolls für ausgehende Traceroute-Pakete ist eine Möglichkeit, vollständigere Ergebnisse zu erhalten, wenn die Router entlang des Netzwerkpfads so konfiguriert sind, dass sie Pakete mit einem bestimmten Protokoll herausfiltern.
My Traceroute (MTR) ist ein Tool, das Traceroute und Ping kombiniert, eine weitere gängige Methode zum Testen der Netzwerkkonnektivität und -geschwindigkeit. Zusätzlich zu den Hops entlang des Netzwerkpfads zeigt MTR kontinuierlich aktualisierte Informationen über die Latenz und den Paketverlust entlang der Route zum Ziel an. Dies hilft bei der Behebung von Netzwerkproblemen, da Sie die Vorgänge entlang des Pfads in Echtzeit verfolgen können.
MTR ermittelt den Netzwerkpfad ähnlich wie Traceroute und sendet dann regelmäßig Pakete, um weitere Informationen zu sammeln und einen aktuellen Überblick über den Zustand und die Geschwindigkeit des Netzwerks zu erhalten.
Wie Traceroute kann MTR ICMP oder UDP für ausgehende Pakete verwenden, verlässt sich aber auf ICMP für Rücksendepakete (Typ 11: Zeitüberschreitung).
Im Folgenden finden Sie drei Beispiele dafür, wie Sie MTR-Ergebnisse lesen und daraus Schlüsse ziehen können.
Klare MTR | |||||||
---|---|---|---|---|---|---|---|
Start: 2020-04-08T13:28:52+0100 | |||||||
HOST: myrouter | Verlust%. | Snt | Zuletzt | Durchschn. | Beste | Schlecht. | StDev |
1.|-- 10.10.1.1 | 0,0 % | 10 | 0.3 | 0,4 | 0.3 | 0,4 | 0,0 |
2.|-- 141.0.147.177.bcube.co.uk | 0,0 % | 10 | 2,7 | 2,7 | 2.5 | 3.1 | 0,2 |
3.|-- 172.16.28.38 | 0,0 % | 10 | 2.8 | 6.4 | 2.8 | 22.2 | 6.1 |
4.|-- 172.17.13.76 | 0,0 % | 10 | 1.1 | 2.8 | 1.1 | 14.6 | 4,2 |
5.|-- 172.17.13.49 | 0,0 % | 10 | 1,4 | 4.0 | 1.3 | 25.0 | 7.4 |
6.|-- 172.17.13.24 | 0,0 % | 10 | 2.5 | 2,7 | 2.0 | 5,1 | 1.1 |
7.|-- one.one.one.one | 0,0 % | 10 | 1.3 | 1,2 | 1,2 | 1.3 | 0,0 |
Dieses Beispiel folgt dem Netzwerkpfad zwischen dem Startrouter und dem DNS-Server 1.1.1.1 von Cloudflare. Die MTR-Ausgabe zeigt keine Probleme an – es dauert 7 Hops, um 1.1.1.1 zu erreichen, und keiner davon zeigt einen Paketverlust an.
Paketverlust auf dem Weg | |||||||
---|---|---|---|---|---|---|---|
Start: 2020-04-08T12:48:28+0000 | |||||||
HOST: myrouter | Verlust%. | Snt | Zuletzt | Durchschn. | Beste | Schlecht. | StDev |
1.|-- 2400:cb00:207:1000::1 | 0,0 % | 10 | 1.1 | 6.0 | 0,6 | 15.7 | 5.9 |
2.|-- 2404:d400:4000:27::1 | 0,0 % | 10 | 0,4 | 0,6 | 0,2 | 2.9 | 0,8 |
3.|-- 2404:d400:0:8:: | 0,0 % | 10 | 125.7 | 125.7 | 125.7 | 126.2 | 0,2 |
4.|-- 2001:978:2:42::e:1 | 50.0 % | 10 | 129.2 | 129.6 | 129.2 | 130.5 | 0,6 |
5.|-- be2846.ccr42.fra03.atlas.cogentco.com | 80,0 % | 10 | 151.9 | 139.5 | 127.1 | 151.9 | 17.6 |
6.|-- be2814.ccr42.ams03.atlas.cogentco.com | 80,0 % | 10 | 136.2 | 137.0 | 136.2 | 137.8 | 1.1 |
7.|-- be2183.ccr22.lpl01.atlas.cogentco.com | 50.0 % | 10 | 146.3 | 146.2 | 145.9 | 146.3 | 0,10 |
8.|-- be3043.ccr22.ymq01.atlas.cogentco.com | 30.0 % | 10 | 215.3 | 215.2 | 215.0 | 215.4 | 0,2 |
9.|-- be3260.ccr32.yyz02.atlas.cogentco.com | 90.0 % | 10 | 227.8 | 227.8 | 227.8 | 227.8 | 0,0 |
10.|-- be2994.ccr22.cle04.atlas.cogentco.com | 30.0 % | 10 | 234.9 | 234.9 | 234.5 | 235.1 | 0,2 |
11.|-- be2718.ccr42.ord01.atlas.cogentco.com | 70.0 % | 10 | 233.7 | 233.8 | 233.7 | 233.9 | 0,10 |
12.|-- be2832.ccr22.mci01.atlas.cogentco.com | 50.0 % | 10 | 244.8 | 245.1 | 244.8 | 245.5 | 0.3 |
13.|-- be3036.ccr22.den01.atlas.cogentco.com | 30.0 % | 10 | 259.6 | 259.6 | 259.3 | 259.8 | 0,2 |
14.|-- be3038.ccr32.slc01.atlas.cogentco.com | 90.0 % | 10 | 267.2 | 267.2 | 267.2 | 267.2 | 0,0 |
15.|-- be3110.ccr22.sfo01.atlas.cogentco.com | 10,0 % | 10 | 291.0 | 291.1 | 291.0 | 291.4 | 0,10 |
16.|-- be3670.ccr41.sjc03.atlas.cogentco.com | 30.0 % | 10 | 292.6 | 292.7 | 292.6 | 292.8 | 0,10 |
17.|-- 2001:550:2:1f::29:2 | 0,0 % | 10 | 312.3 | 291.5 | 287.0 | 312.3 | 8.6 |
8.6 | 0,0 % | 10 | 298.7 | 299.5 | 298.7 | 306.1 | 2.3 |
19.|-- ??? | 100.0 | 10 | 0,0 | 0,0 | 0,0 | 0,0 | 0,0 |
20.|-- ??? | 100.0 | 9 | 0,0 | 0,0 | 0,0 | 0,0 | 0,0 |
21.|-- 2400:cb00:36:1008::a29e:40e2 | 0,0 % | 9 | 302.9 | 302.9 | 302.8 | 303.2 | 0,10 |
Dieses Beispiel zeigt den Netzwerkpfad zwischen dem Startrouter und 2400:cb00:36:1008::a29e:40e2, einer IPv6-Adresse. Die Ausgabe zeigt erhebliche Paketverluste auf allen Cogent-Sprungstellen. Auf dem letzten Hop (21) gibt es jedoch keinen Paketverlust. Dies deutet darauf hin, dass der Netzwerkpfad eigentlich nicht problematisch ist. Was hier geschieht, wird oft als „Control Plane Policing“ bezeichnet.
Wie bereits erwähnt, sendet MTR (standardmäßig) ICMP Echo-Pakete mit einer inkrementellen TTL (Time-To-Live) pro Paket aus. Wenn die TTL abläuft, sendet ein Router eine ICMP-Meldung vom Typ 11 (Time Exceeded) zurück. Dort wird angegeben, wie viele Hops zwischen Punkt A und Punkt B liegen.
Viele Netzwerkbetreiber (einschließlich Cloudflare) legen willkürliche Grenzen für die Anzahl der ICMP-Pakete fest, die die Steuerungsebene eines Routers erreichen dürfen. (Die Steuerungsebene ist das Gehirn des Routers.) Ein Paket, das die TTL des Routers überschreitet, muss von der Steuerungsebene verarbeitet werden. Um zu verhindern, dass die Steuerungsebene durch zu viele dieser Pakete überlastet wird, wird eine Durchsatzbegrenzung (oder ein Policer) eingeführt. Deshalb sehen wir die ganzen Verluste auf den Zwischenhops, aber nicht auf dem Endhop: Die Durchsatzbegrenzungen der Steuerungsebene für die Router auf den Zwischenhops wurden überschritten, also wurden Pakete vom Typ 11 für die Traceroute-Pakete nicht zurückgeschickt, wenn sie diese Grenzen überschritten – aber die Pakete konnten sicher zum Ziel gelangen.
Paketverlust auf dem Rückweg | |||||||
---|---|---|---|---|---|---|---|
Start: 2020-04-08T13:32:30+0000 | |||||||
HOST: myrouter | Verlust%. | Snt | Zuletzt | Durchschn. | Beste | Schlecht. | StDev |
1.|-- 162.158.216.129 | 0,0 % | 10 | 0.7 | 6,9 | 0.7 | 62.6 | 19.6 |
2.|-- 118.69.221.209 | 0,0 % | 10 | 0,2 | 0.3 | 0,2 | 1.3 | 0.3 |
3.|-- 118.69.252.172 | 0,0 % | 10 | 0.7 | 1,0 | 0,6 | 2.9 | 0.7 |
4.|-- 118.69.132.169 | 0,0 % | 10 | 11.4 | 11.3 | 11.2 | 11.5 | 0,10 |
5.|-- 118.69.247.64 | 0,0 % | 10 | 34.2 | 34.4 | 33.9 | 37.2 | 1,0 |
6.|-- 13335.sgw.equinix.com | 50.0 % | 10 | 27.5 | 27.9 | 27.1 | 29.1 | 0,8 |
7.|-- 162.158.161.251 | 30.0 % | 10 | 26.8 | 26.8 | 26.8 | 26.8 | 0,0 |
Dieses Beispiel zeigt den Netzwerkpfad zwischen dem Startrouter und 162.158.161.251. Die Ausgabe zeigt den Paketverlust auf den letzten zwei Hops.
MTR bietet eine Vielzahl von Optionen. Mehr dazu finden Sie auf der MTR-Hilfeseite: mtr --help
Einige der häufig verwendeten Optionen sind: