Co to jest MTR?
Autor: Redakcja Domeny.ForSale Opublikowano
W skrócie: MTR, czyli My Traceroute, to narzędzie do diagnostyki sieci, które łączy sprawdzanie trasy pakietów z powtarzanym pomiarem opóźnień i utraty odpowiedzi. W systemie Linux pomaga ustalić, czy problem z połączeniem pojawia się już w sieci lokalnej, czy dalej na drodze do serwera. Najważniejsza zasada interpretacji: brak odpowiedzi pojedynczego routera nie oznacza jeszcze, że gubi on ruch kierowany do celu.
Jak działa MTR i czym różni się od ping
ping sprawdza, czy wskazany host odpowiada, oraz mierzy czas potrzebny na otrzymanie odpowiedzi. traceroute pokazuje kolejne węzły na trasie do celu. MTR łączy te funkcje: wykrywa trasę i wielokrotnie wysyła sondy, aktualizując wyniki dla poszczególnych węzłów.
Węzeł, nazywany też przeskokiem lub hopem, to zwykle router przekazujący pakiety dalej. MTR wykrywa takie urządzenia dzięki stopniowemu zwiększaniu TTL, czyli limitu przeskoków pakietu. Gdy limit się wyczerpie, router może odesłać komunikat pozwalający rozpoznać jego adres.
Pomiar pokazuje czas podróży sondy i odpowiedzi, a nie samo opóźnienie między dwoma sąsiednimi routerami. Droga powrotna może być inna niż droga do celu, dlatego raport nie zawsze pozwala jednoznacznie wskazać miejsce awarii.
Instalacja i pierwszy test w systemie Linux
W systemach Debian i Ubuntu tekstową wersję narzędzia można zwykle zainstalować poleceniami:
sudo apt update
sudo apt install mtr-tiny
W innych dystrybucjach nazwa pakietu może być inna, często jest to mtr. Potwierdź ją w dokumentacji dystrybucji lub wyszukiwarce pakietów używanego menedżera.
Test interaktywny uruchomisz, podając adres IP albo nazwę hosta:
mtr 1.1.1.1
Wyniki będą aktualizowane do momentu zakończenia testu, na przykład klawiszem q. Adres 1.1.1.1 służy tu do sprawdzenia łączności z publicznym celem; przy diagnozowaniu konkretnej usługi testuj przede wszystkim jej host.
Do zapisania i przekazania wyników wygodniejszy jest raport z określoną liczbą cykli:
mtr -r -w -c 100 -n 1.1.1.1
Opcja -r włącza raport, -w poszerza jego format, -c 100 ustawia 100 cykli pomiarowych, a -n wyłącza zamienianie adresów IP na nazwy hostów. Jeśli program zgłasza brak uprawnień do wysyłania sond, sprawdź konfigurację pakietu; zależnie od instalacji może być potrzebne uruchomienie przez sudo.
Jak czytać kolumny raportu
Każdy wiersz opisuje wykryty węzeł. Najbardziej przydatne kolumny to:
| Kolumna | Znaczenie |
|---|---|
Loss% | Odsetek sond, na które nie otrzymano odpowiedzi |
Snt | Liczba wysłanych sond |
Last | Czas ostatniej otrzymanej odpowiedzi |
Avg | Średni czas odpowiedzi |
Best / Wrst | Najkrótszy i najdłuższy czas odpowiedzi |
StDev | Miara zmienności czasów odpowiedzi |
Czasy są zwykle podawane w milisekundach. Wysoka wartość Wrst przy niskiej średniej może oznaczać pojedynczy skok opóźnienia. Duże StDev wskazuje na niestabilność pomiarów, ale samo w sobie nie określa przyczyny.
Nie oceniaj połączenia po kilku sondach. Zbierz na przykład 100 cykli w czasie występowania problemu, a następnie porównaj je z pomiarem wykonanym wtedy, gdy usługa działa prawidłowo.
Kiedy utrata odpowiedzi oznacza problem
Routery mogą ograniczać odpowiedzi diagnostyczne lub traktować je z niższym priorytetem niż przekazywanie ruchu. Dlatego Loss% dla pośredniego węzła nie jest automatycznie miarą utraty pakietów użytkownika.
Przykład: czwarty węzeł pokazuje 70% utraty odpowiedzi, lecz wszystkie następne, łącznie z celem, mają 0%. Taki wynik zwykle wskazuje na ograniczanie odpowiedzi przez czwarty router, a nie na gubienie przekazywanego ruchu. Pakiety docierają przecież do dalszych urządzeń.
Bardziej niepokojąca jest utrata odpowiedzi widoczna od pewnego miejsca również na kolejnych węzłach i na celu. To przesłanka do dalszej diagnostyki, nie dowód winy konkretnego routera: wynik mogą zaburzać różne trasy, filtrowanie i sposób obsługi sond.
Podobnie interpretuj opóźnienia. Jeżeli jeden router odpowiada wolno, a kolejne szybko, jego wysoki wynik nie dowodzi spowolnienia całego połączenia. Brak odpowiedzi oznaczony znakami ??? również nie musi oznaczać przerwanej trasy.
Co sprawdzić, gdy problem dotyczy strony internetowej
Domyślne sondy MTR wykorzystują ICMP, czyli protokół używany między innymi do komunikatów diagnostycznych. Sieć może obsługiwać je inaczej niż ruch strony internetowej. Dla problemów z HTTPS pomocny bywa test TCP na porcie 443:
mtr -r -w -c 100 -n --tcp -P 443 example.com
Zastąp example.com hostem badanej usługi. Taki test nadal nie mierzy ładowania strony, negocjacji TLS ani pracy aplikacji. Poprawny raport MTR nie wyklucza więc problemów z DNS, serwerem WWW lub bazą danych.
Jeśli host ma adresy IPv4 i IPv6, możesz porównać testy z opcjami -4 i -6. Przy zgłoszeniu do administratora dołącz raport, godzinę pomiaru ze strefą czasową, badany cel oraz opis objawu. Przed publikacją usuń adresy lub nazwy ujawniające prywatną infrastrukturę.
Zobacz też: Co to jest ping?
