Poradnik

Jak czytać traceroute i MTR

Traceroute pokazuje routery (hopy) na ścieżce do celu i ich opóźnienie. Naucz się odróżniać skoki RTT i stratę na pośrednim hopie od realnej utraty pakietów.

Ostatnia aktualizacja:

Traceroute to narzędzie diagnostyczne. Pokazuje kolejne routery (hopy) na ścieżce od Twojego hosta do celu wraz z opóźnieniem na każdym z nich. Działa, wysyłając pakiety o rosnącej wartości pola TTL (IPv4) lub Hop Limit (IPv6): każdy router po drodze zmniejsza tę wartość o jeden, a gdy osiągnie ona zero, odsyła komunikat ICMP Time Exceeded (RFC 792 dla IPv4, RFC 4443 dla IPv6). Po adresie nadawcy tych komunikatów traceroute odtwarza kolejne przeskoki. MTR łączy traceroute z ping i odświeża pomiary w pętli, więc pokazuje stratę pakietów i opóźnienie na każdym hopie w czasie rzeczywistym.

Jak czytać kolejne hopy

Każdy wiersz to jeden przeskok: numer hopa, adres IP (często z odwrotnym DNS) oraz kilka pomiarów opóźnienia w obie strony (RTT). Czytaj listę od góry, od swojej sieci, w stronę celu. Nazwy PTR często zdradzają lokalizację i operatora, np. ae-1.war w nazwie sugeruje Warszawę. Zwracaj uwagę na te elementy:

  • Skok RTT między hopami, który zwykle oznacza dłuższe łącze, np. wyjście za granicę lub do innego miasta.
  • Gwiazdki (* * *) na hopie, które oznaczają brak odpowiedzi ICMP, a nie zerwaną łączność.
  • Zmianę domeny w odwrotnym DNS, która wskazuje przejście między sieciami (np. z sieci punktu wymiany ruchu do Twojego operatora).
  • Ostatni hop, który powinien być adresem celu. Jeśli go brak, cel po prostu nie odpowiada na sondy.
  • Pętle lub powtarzające się adresy, które mogą sygnalizować problem z trasowaniem.

Skok opóźnień a realna strata pakietów

Najczęstszy błąd to mylenie straty na pojedynczym hopie pośrednim z realną utratą pakietów. Routery traktują generowanie komunikatów ICMP Time Exceeded jako zadanie o niskim priorytecie (warstwa sterowania), więc pod obciążeniem odpowiadają z opóźnieniem lub wcale. Dlatego skok RTT albo 50 procent straty na hopie nr 5, gdy hopy nr 6 i dalsze mają 0 procent straty i niskie opóźnienie, to artefakt pomiaru, a nie problem. Realna strata zaczyna się na danym hopie i utrzymuje do końca trasy, w tym na celu. W MTR czytaj kolumnę Loss przede wszystkim na ostatnim hopie i sprawdzaj, czy zjawisko utrzymuje się w czasie.

Trasy asymetryczne

Traceroute pokazuje wyłącznie ścieżkę w jedną stronę, od Ciebie do celu. Ruch powrotny może płynąć zupełnie inną trasą, a w internecie asymetria jest normą, bo każdy operator wybiera ścieżkę wyjściową własną polityką BGP. Wartości RTT to czas w obie strony, więc opóźnienie zmierzone na pośrednim hopie obejmuje też nieznaną drogę powrotną od tego routera. Z tego powodu nagły skok RTT w środku trasy nie musi oznaczać problemu na tym hopie, lecz dłuższą lub przeciążoną ścieżkę powrotną. Aby zdiagnozować obie strony, uruchom traceroute z obu końców albo skorzystaj z looking glass operatora po drugiej stronie.

Diagnostyka z siecią AS202520 SkyPass

Ponieważ traceroute pokazuje tylko jeden kierunek, do rzetelnej diagnozy potrzebny jest punkt obserwacyjny po drugiej stronie. AS202520 SkyPass udostępnia publiczny looking glass z testami ping i MTR dla IPv4 oraz IPv6 z naszej infrastruktury, m.in. z lokalizacji we Wrocławiu, więc możesz prześledzić ścieżkę powrotną z naszej sieci do Twojej. Jako operator z peeringiem na polskich punktach wymiany ruchu (THINX, TPIX, WRIX, 1-IX) oferujemy krótkie, lokalne ścieżki do polskich sieci, co skraca trasę i ułatwia interpretację wyników. Przy usługach tranzytu IP i peeringu nasz NOC pomaga ustalić, po której stronie leży źródło opóźnień lub strat.

Najczęstsze pytania

Co oznaczają gwiazdki w traceroute?

Gwiazdki (* * *) oznaczają, że dany hop nie odesłał komunikatu ICMP w wyznaczonym czasie. Najczęściej router celowo nie odpowiada na sondy lub ogranicza ICMP, a nie że łączność jest zerwana. Jeśli kolejne hopy odpowiadają normalnie, trasa działa.

Dlaczego widzę dużą stratę na jednym hopie, a na celu zero?

Ponieważ generowanie komunikatów ICMP Time Exceeded ma na routerach niski priorytet i pod obciążeniem bywa pomijane. Strata tylko na hopie pośrednim, która nie utrzymuje się do końca trasy, to artefakt pomiaru. Realna jest strata widoczna na ostatnim hopie.

Czym różni się MTR od traceroute?

Traceroute wykonuje pojedyncze przejście trasy, a MTR łączy traceroute z ping i odświeża pomiary w pętli. Dzięki temu MTR pokazuje stratę pakietów i opóźnienie na każdym hopie w czasie, co ułatwia odróżnienie chwilowych skoków od trwałych problemów.

Dlaczego opóźnienie rośnie na środkowym hopie, a spada na kolejnym?

To zwykle skutek trasy asymetrycznej i sposobu pomiaru RTT. Opóźnienie na hopie pośrednim obejmuje też drogę powrotną od tego routera, która może być dłuższa. Jeśli dalsze hopy mają niższe RTT, środkowy odczyt jest mylący, a nie problemowy.

Powiązane artykuły