2008-10-17 7 views
15

Wydaje się prawie magiczne. Co robi polecenie traceroute w celu mapowania całej ścieżki do innego węzła w Internecie?Jak działa traceroute?

+0

[Jak działa traceroute?] (http://www.tek-tips.com/faqs.cfm?fid=381) – thijs

Odpowiedz

22

Traceroute przesyła pakiety z małymi wartościami TTL (Time To Live). TTL to pole nagłówka IP, które jest używane do zapobiegania uruchamianiu pakietów w pętle nieskończone. Kiedy router obsługujący pakiet odejmuje jeden z TTL pakietu. Pakiet wygasa i zostaje odrzucony, gdy TTL osiągnie zero.

Traceroute wysyła komunikaty ICMP przekroczenia czasu, (RFC 792), z powrotem do nadawcy, kiedy to nastąpi. Używając małych wartości TTL, pakiety szybko wygasną, więc traceroute powoduje, że wszystkie routery wzdłuż ścieżki pakietu generują komunikaty ICMP identyfikujące router.

Na przykład, TTL = 1 powinny produkować wiadomości z pierwszego routera, TTL = 2 generuje wiadomość od drugiego routera w ścieżce, i tak dalej ...

+0

oznacza to, że możesz uruchomić Traceroute ze skoku 5, podając ttl = 5 – webly

+0

http://www.tek-tips.com /faqs.cfm?fid=381 –

26

traceroute ustawia pole TTL (Time To LIve) na 1 i zwiększa je dla każdego przeskoku. routery odbierające komunikat zmniejszają tę wartość, a gdy osiągną 0, odpowiadają na wiadomość, że TTL osiągnął zero. Dzięki tej odpowiedzi klient wie, kto jest pomiędzy. wykonaj to iteracyjnie do celu i uzyskaj (przynajmniej jedną z nich) trasę