Co oznacza gwiazdka / gwiazda w traceroute?

60

Poniżej znajduje się część traceroutemojego hostowanego serwera:

 9  ae-2-2.ebr2.dallas1.level3.net (4.69.132.106)  19.433 ms  19.599 ms  19.275 ms
10  ae-72-72.csw2.dallas1.level3.net (4.69.151.141)  19.496 ms
    ae-82-82.csw3.dallas1.level3.net (4.69.151.153)  19.630 ms
    ae-62-62.csw1.dallas1.level3.net (4.69.151.129)  19.518 ms
11  ae-3-80.edge4.dallas3.level3.net (4.69.145.141)  19.659 ms
    ae-2-70.edge4.dallas3.level3.net (4.69.145.77)  90.610 ms
    ae-4-90.edge4.dallas3.level3.net (4.69.145.205)  19.658 ms
12  the-planet.edge4.dallas3.level3.net (4.59.32.30)  19.905 ms  19.519 ms  19.688 ms
13  te9-2.dsr01.dllstx3.networklayer.com (70.87.253.14)  40.037 ms  24.063 ms
    te2-4.dsr02.dllstx3.networklayer.com (70.87.255.46)  28.605 ms
14  * * *
15  * * *
16  zyzzyva.site5.com (174.122.37.66)  20.414 ms  20.603 ms  20.467 ms

Jakie jest znaczenie wierszy 14 i 15? Informacje ukryte?

Chang
źródło

Odpowiedzi:

42

Jeśli pakiet nie zostanie potwierdzony w oczekiwanym czasie, wyświetlana jest gwiazdka.

From http://en.wikipedia.org/wiki/Traceroute

Jednak zyzzyva.site5.com ostatecznie odpowiedziała, dlatego masz linię 16.

paulmorriss
źródło
Dzięki. Czy wiesz, dlaczego wymaga dwóch linii?
Chang
2
@Chang: zajmuje dwie linie, ponieważ były dwa hosty, które nie odpowiedziały, a mimo to nadal przekazywały odpowiedzi z innych hostów. Zobacz odpowiedź Tima.
Joe
40

Traceroute wysyła pakiety do miejsca docelowego z polem „time to live” (TTL) równym liczbie przeskoków.

Każdy router zmniejsza wartość TTL przychodzącego pakietu, a jeśli zobaczy przychodzący pakiet z TTL = 0, wówczas go upuszcza, w przeciwnym razie zmniejsza wartość i przesyła ją dalej. Jednocześnie wysyła do źródła informacje diagnostyczne na temat tożsamości routera.

Jeśli router nie zareaguje w określonym czasie, traceroute drukuje gwiazdkę. Linie 14 i 15 pokazują, że routery, które upuszczają pakiety z oryginalnymi TTL 14 i 15, nie odpowiedziały w określonym czasie.

Timofey
źródło
2
Zagłosowano za przypomnienie mi, jak naprawdę działa traceroute.
pix
3
Żeby wyjaśnić odpowiedź Tima. Tracert to seria PING-ów. Pierwszy ping ustawia TTL na 1. Gdy pierwszy router odbiera PING, zmniejsza TTL o 1, a ponieważ nowy TTL wynosi 0, zwraca „błąd” z jego adresem IP. Tracert powtarza PING tym razem z TTL równym 2. Router 1 zmniejsza TTL o 1 i przekazuje do routera 2. Router 2 zmniejsza TTL, a ponieważ teraz ma wartość 0, zwraca swój adres IP. Proces ten powtarza się do momentu osiągnięcia ostatecznego celu lub osiągnięcia maksymalnego dozwolonego TTL. Jeśli PING nie usłyszy żadnej odpowiedzi, tracert wyświetli *.
Trebor
16

Innym powodem jest to, że zazwyczaj do każdego komputera wysyłane są 3 pakiety, a niektóre maszyny reagują tylko na pierwszy pakiet, bez względu na wszystko.

Jeśli problem dotyczy tylko przekroczenia limitu czasu, możesz ustawić -wparametr na liczbę sekund, którą chcesz poczekać; np. traceroute -w 10 google.compoczeka 10 sekund zamiast domyślnie 5 sekund.

Uwaga: Niektórzy klienci traceroute używają -wparametru dla parametru milisekund zamiast sekund .

Ian Dunn
źródło
1

Arp mógł przekroczyć limit czasu. Skonfigurowałem sieć testową za pomocą narzędzia packetracer i dostałem gwiazdkę dla hosta docelowego. Pingowałem to, otrzymałem odpowiedź, a następnie ponownie wyśledziłem tracerout i zadziałało. Następnie zauważyłem, że maszyny, które odznaczały się gwiazdką, nie miały wpisów arp na lokalnym routerze

Nacięcie
źródło