Warum zeigt Traceroute viele IP-Adressen für denselben Hop an?

13

Hier ist der Routenweg von meinem Zuhause nach sina.com.cn.

 traceroute -n   sina.com.cn
traceroute to sina.com.cn (202.108.33.60), 30 hops max, 60 byte packets
 1  192.168.31.1  0.476 ms  0.587 ms  0.695 ms
 2  140.0.5.1  2.557 ms  2.699 ms  3.065 ms
 3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms
 4  * 221.11.156.18  26.480 ms 221.11.165.233  22.950 ms
 5  219.158.9.97  14.176 ms * 219.158.19.149  21.472 ms
 6  219.158.9.97  18.142 ms 219.158.8.81  44.856 ms  52.539 ms
 7  124.65.194.190  53.162 ms 219.158.8.81  50.614 ms 124.65.194.190  47.266 ms
 8  124.65.194.190  50.760 ms 61.148.143.26  49.351 ms  53.515 ms
 9  210.74.176.138  43.056 ms  43.286 ms 61.148.143.26  53.712 ms
10  202.108.33.60  46.385 ms 210.74.176.138  42.896 ms  46.931 ms

192.168.31.1 ist mein Heimrouter.
140.0.5.1 ist meine öffentliche IP, die der ISP bereitstellt.

curl  ifconfig.me
140.0.5.1 

In der dritten Zeile steht

3  221.11.155.65  4.501 ms * 221.11.165.9  5.045 ms

Warum gibt es zwei IP-Adressen 221.11.155.65 und 221.11.165? Was bedeutet es?

Springt das Paket von 140.0.5.1 nach 221.11.155.65und dann von 221.11.155.65 nach 221.11.165?

Schrott
quelle
Eine Klarstellung. Wenn der ISP Ihnen eine IP-Adresse gegeben hat, sollte diese in den von Ihnen ausgeführten Traceroute-Befehlen nicht angezeigt werden. Und wenn Sie eine Traceroute zur IP-Adresse durchführen, wird diese als Hop 1 angezeigt. Wahrscheinlich haben Sie keine IP-Adresse und es 140.0.5.1handelt sich um eine Art CGN, die sich etwas ungewöhnlich verhält.
Kasperd

Antworten:

4

Traceroute verwendet die Optionsfelder, um ICMP-Pakete (Internet Control Message Protocol) zu senden. Jedes Gateway oder jeder Routing-Punkt im Netzwerk liest Pakete auf einer Schnittstelle, entscheidet, wohin sie gehen sollen, und schreibt sie auf eine andere Schnittstelle aus. Diese Schnittstelle ist vermutlich näher am Ziel. Während der Router das Paket weiterleitet, werden auch Änderungen am Paket-Header vorgenommen. Es reduziert die "Lebenszeit" oder das Sprungzählfeld um eins. Jedes Gateway im Pfad des Pakets zum Ziel verringert dieses Feld.

Wenn das Hop Count-Feld auf Null abfällt, senden viele Router eine ICMP-Nachricht zurück, in der angegeben ist, wo das Paket verworfen wurde. Um herauszufinden, welche IP-Adresse eine bestimmte Entfernung entfernt ist, sendet traceroute Pakete mit den verfügbaren Zeitoptionen und gibt mir eine Antwort, wenn das Zeitlimit überschritten wird. Nachrichten mit einer Anzahl von Hops, die bei 1 beginnen und hochfahren, geben jeweils die IP-Adresse von zunehmend weiter entfernten Routern zurück. Da Traceroute dies mehrmals durchführt, erhalten Sie in einigen Fällen mehrere Antworten (wenn Sie ein dichtes Netzwerk haben, wie auch das Internet). Es kann vorkommen, dass ein bestimmtes Gateway in unterschiedlichen Abständen antwortet, da die Route zu diesem Gateway verschiedene Hops durchlaufen hat.

ElderDelp
quelle
11

Was traceroutegeben Sie hier als Information ist , dass Sie mindestens 2 Routen haben Ihr Ziel zu erreichen über den Router starten:

           IP adresses                 Internet operator

           140.0.5.1                   Firstmedia - Indonesia
             /    \
            /      \
221.11.155.65      221.11.165.9        China Unicom - China

Dies ist eine normale Situation für einen großen Internetbetreiber: Es müssen viele Wege beschritten werden, um normalen Vorfällen im Internet standzuhalten.

Die -aMöglichkeit , traceroutekönnen Ihnen helfen , festzustellen, welchen Betreiber jede IP - Adresse gehört.

Hier ist ein Beispiel für einen größeren Routenbaum, den Sie sogar von Ihrem Mobiltelefon über ein Netzwerktool wie den Server http://ping.eu/traceroute/ abrufen können : Traceroute zu 140.0.5.1

Dan
quelle
Nein - eine Option für meine Traceroute in debian9.
Scrapy
traceroute [-46dFITUnreAV] [-f first_ttl] [-g gate, ...] [-i device] [-m max_ttl] [-p port] [-s src_addr] [-q nqueries] [-N squeries] [ -t tos] [-l flow_label] [-w waittimes] [-z sendwait] [-UL] [-D] [-P proto] [--sport = port] [-M method] [-O mod_options] [ --mtu] [--back] host [packet_len]
scrapy
Ich habe hier das FreeBSD verwendet.
dan
8

Aus dem traceroute(8)Handbuch zu OpenBSD:

Es werden drei Prüfpunkte -q gesendet (die genaue Anzahl kann mit der Option geändert werden ) und eine Zeile mit der TTL- oder Sprunggrenze, der Adresse des Gateways und der Umlaufzeit jedes Prüfpunkts wird gedruckt. Wenn die Testantworten von verschiedenen Gateways stammen, wird die Adresse jedes antwortenden Systems gedruckt.

Das Linux-Handbuch wird einen ähnlichen Wortlaut haben.

Die mehreren angezeigten IP-Adressen sind die Gateways, die auf die einzelnen Tests an bestimmten Hop-Grenzen reagieren.

In Ihrem Fall führten die drei Tests zu Antworten, die bei Hop-Limit 3 von den Gateways um 221.11.155.65 und um 221.11.165.9 an Sie zurückgingen.

Die Antwort lautet also: Nein, das Paket springt nicht zwischen den beiden in dieser Zeile aufgelisteten Hosts, es werden drei Tests gesendet und sie nehmen zwei verschiedene Routen von 140.0.5.1.

Kusalananda
quelle
1
@RuiFRibeiro Ich habe meine Antwort geklärt, um die explizite Frage zu beantworten.
Kusalananda
Tatsächlich habe ich zumindest in Debian bestätigt, dass traceroute den gleichen Wortlaut hat.
Rui F Ribeiro