Co to jest traceroute

Bezpieczeństwo

Co to jest traceroute?

Kei.pl

Czasami dostęp do niektórych witryn internetowych może być utrudniony. Traceroute to przyjazne dla użytkownika narzędzie, które pomaga zdiagnozować przyczynę takiego problemu! Z naszego artykułu dowiesz się, jak dokładnie działa traceroute oraz na jakie informacje powinieneś zwrócić uwagę przy analizie pochodzących z niego danych.

Czym jest traceroute?

Traceroute (znane również jako tracert w systemach operacyjnych Windows) to narzędzie sieciowe wykorzystywane do mapowania ścieżki, jaką pokonują pakiety danych. Dotyczy to całej ich podróży przez sieć komputerową – z urządzenia lokalnego do wyznaczonego hosta. Funkcjonalność traceroute opiera się na wysyłaniu serii pakietów zwiększających pole TTL (Time to Live), a także badaniu odpowiedzi uzyskanych od routerów pośrednich napotkanych po drodze.

W praktyce traceroute służy jako cenne narzędzie diagnostyczne, które pomaga w identyfikacji różnych problemów sieciowych takich jak

  • opóźnienia w transmisji danych,
  • utrata pakietów danych,
  • odchylenia od zamierzonej ścieżki sieciowej.

Traceroute jest często porównywany do innego narzędzia – Ping, którego można również używać do rozwiązywania problemów z siecią. Ale oba tak naprawdę służą różnym celom. Ping może zweryfikować tylko łączność między dwoma węzłami sieci, nie dostarcza żadnych informacji o routingu.

Zasada działania polecenia traceroute

W kontekście działania narzędzia traceroute istotne jest zrozumienie pojęcia przeskok (ang. hop). Odnosi się ono do pojedynczego skoku pakietu danych przez router na trasie od źródła do celu. Aby lepiej to zrozumieć, wyobraź sobie, że inicjujesz polecenie traceroute i ustawiasz maksymalnie 30 przeskoków. Po tym narzędzie diagnostyczne prześle pakiety do serwera docelowego z wartością czasu życia (TTL) wynoszącą jeden.

Gdy dane przechodzą przez sieć, pierwsze napotkane urządzenie sieciowe zmniejsza TTL do zera i wysyła do nadawcy ​​wiadomość wskazującą, że pakiet został odrzucony. Komunikat zawiera czas podróży w obie strony (Round-Trip Time, RTT) dla pierwszego przeskoku oraz dla każdego kolejnego na trasie. RTT jest obliczane właśnie na podstawie czasu, który upłynął pomiędzy wysłaniem pakietu traceroute a otrzymaniem komunikatu Time Exceeded.

Cały proces może zakończyć się w dwóch przypadkach – albo po dotarciu danych do miejsca docelowego, albo wykonaniu maksymalnej liczby przeskoków. W ten sposób nadawca może zobaczyć pełną mapę trasy, którą pakiety danych pokonały od momentu wysłania. Dane o przeskoku zawierają również informacje dotyczące opóźnień (ping) w odpowiedziach od routerów, które można analizować w celu oceny wydajności sieci i identyfikacji potencjalnych problemów.

Jak uruchomić traceroute?

Polecenie znane jako Tracert w Windowsie jest odpowiednikiem polecenia Traceroute w systemach operacyjnych Linux i macOS. Mimo nieznacznej różnicy w nazwie,  oba rozwiązania działają w niemal identyczny sposób. Wpisując polecenie „tracert” w systemie Windows lub „traceroute” w systemie Mac lub Linux, można w prosty sposób zainicjować to narzędzie i wyświetlić dane wyjściowe bezpośrednio w terminalu.

Windows

Aby zademonstrować działanie narzędzia traceroute, posłużmy się na początek przykładem Windowsa:

  1. Otwórz wiersz polecenia na swoim komputerze.
  2. Wpisz „tracert”, a następnie podaj adres IP lub nazwę domeny miejsca docelowego.
  3. Narzędzie wyśle ​​serię pakietów do miejsca docelowego, każdy z rosnącą wartością czasu życia (TTL).
  4. Wartość TTL określa, jak daleką drogę może przebyć pakiet, zanim zostanie odrzucony przez router.
  5. Gdy pakiety dotrą do każdego routera na ścieżce sieciowej, zostanie wyświetlony adres każdego IP routera oraz czas jego odpowiedzi.
  6. Traceroute będzie nadal wysyłać pakiety, dopóki te nie dotrą do miejsca docelowego lub nie zostanie osiągnięta maksymalna liczba przeskoków.

Linux

Polecenie traceroute w systemie Linux działa podobnie do tego zainicjowanego w systemie Windows. Jedną ważną różnicą jest to, że nie używa protokołów TCP/IP, ale UDP. Wynika to z faktu, że niektóre routery lub zapory sieciowe mogą czasem blokować pakiety ICMP. Stosując UDP, można obejść te ograniczenia. Co więcej, funkcja traceroute w systemie Linux wykorzystuje numery portów, które zazwyczaj mają bardzo wysokie wartości(zwykle przekraczają 30 000). Pozwala to zapobiec kolizji z normalnymi usługami działającymi na standardowych portach.

Jeśli używasz Linuksa i chcesz wykonać traceroute za pomocą UDP, możesz użyć polecenia „traceroute” wraz z flagą „-N”:

$ traceroute -N 1 -q 1 ADRES_IP lub NAZWA_DOMENY

Warto zaznaczyć, że w systemie Linux istnieje wiele wariantów polecenia traceroute, takich jak mtr (My Traceroute) lub tcptraceroute, które oferują dodatkowe funkcje i opcje konfiguracyjne.

MacOS

Jeśli korzystasz z systemu MacOS i chcesz uruchomić narzędzie traceroute, możesz to zrobić z poziomu Terminala. Szybkim sposobem uzyskania dostępu do wiersza poleceń jest użycie skrótu klawiaturowego CMD + Spacja.

  1. W czarnym polu wprowadź następujące polecenie:

traceroute NAZWA_DOMENY lub ADRES_IP.

  1. Naciśnij klawisz Enter, aby uruchomić akcję.
  2. Terminal wyświetli listę przeskoków (hop) na trasie od źródła do celu, wraz z informacjami o adresach IP routerów i czasach odpowiedzi (ping) dla każdego z nich.

Jak czytać wyniki?

Podczas analizowania wyników traceroute należy wziąć pod uwagę dwa istotne czynniki: opóźnienie i utratę pakietów.

Opóźnienie jest to czas między wysłaniem pakietu a otrzymaniem odpowiedzi. Na opóźnienie między dwoma przeskokami może mieć wpływ wiele rzeczy takich jak:

  • odległość między urządzeniami,
  • medium je łączące (światłowód, kabel koncentryczny, linie miedziane, bezprzewodowe itp.),
  • zastosowana technologia (kabel Docsis, DSL, GPON, światłowód dedykowany itp.),
  • konfiguracji na routerach, takich jak kształtowanie ruchu,
  • stan sieci, w tym m.in. przeciążenie.

Utrata pakietów to termin opisujący odsetek pakietów, które zostały wysłane, ale nie otrzymały odpowiedzi. Przykładowy wynik może wyglądać tak:

1    10.0.0.1     1 ms    1 ms    1 ms

2    192.168.1.1  5 ms    6 ms    5 ms

3    203.0.113.1  8 ms    *       7 ms

4    203.0.113.2  12 ms   10 ms   11 ms

5    203.0.113.3  *       *       *

Podobnie jak w przypadku opóźnień, na odsetek utraconych pakietów bardzo często mają wpływ różne czynniki zewnętrzne:

  • problemy z siecią (zakłócenia, przeciążenia, awarie sprzętu, nieprawidłowo skonfigurowany routing),
  • błędy w oprogramowaniu urządzeń sieciowych,
  • opóźnienia,
  • zastosowanie filtrowania lub zabezpieczeń.

Korzystając z polecenia traceroute, dowiesz się, jakie opóźnienia występują na poszczególnych przeskokach oraz w którym dokładnie miejscu pakiet danych został utracony. Dysponując takimi informacjami, możesz przystąpić do dalszego kroku jakim jest skontaktowanie się ze swoim dostawcą usług internetowych. Przyspieszy to proces rozwiązywania problemów związanych z funkcjonalnością witryny.

Czym traceroute na ograniczenia?

Chociaż traceroute jest powszechnie uważany za cenne narzędzie do identyfikacji problemów z siecią, ma pewne ograniczenia, z których warto zdawać sobie sprawę. Jedną z głównych wad jest niezdolność do dostarczania danych historycznych, co utrudnia wykrywanie powtarzających się wzorców. Nie oferuje również prostego przedstawienia wielu ścieżek. Ponadto ze względu na możliwość blokowania żądań ICMP przez zapory internetowe, traceroute często prezentuje niekompletne dane.

Aby zaradzić tym ograniczeniom, kluczowe znaczenie ma poszukiwanie skutecznych środków zaradczych, które mogą zapewnić kompleksowy wgląd w infrastrukturę sieciową, wykraczający poza możliwości omawianego narzędzia. Należą do nich m.in.:

  • systemy zarządzania siecią (NMS),
  • narzędzia do monitorowania wydajności aplikacji (APM),
  • protokoły monitorowania ścieżki, takie jak Multipath TCP (MPTCP) lub IP Flow Information Export (IPFIX),
  • narzędzia do analizy pakietów (np. Wireshark),
  • wyspecjalizowane usługi monitoringu sieciowego w modelu as-a-service.

Aby utrzymać optymalną funkcjonalność wszystkich krytycznych zasobów sieciowych narzędzia diagnostyczne powinny być dostosowane do unikalnych wymagań infrastruktury. Ma to szczególnie istotne znaczenie w przypadku skomplikowanych sieci biznesowych, rozsianych po całym świecie.

Jak podobał Ci się ten artykuł?
0
Liczba ocen: 0

Kei.pl

Naszym głównym celem jest wsparcie dla biznesu, pomagamy w projektowaniu infrastruktury serwerowej, zarządzamy rozwiązaniami serwerowymi, doradzamy, dbamy o bezpieczeństwo danych. Dzielimy się wiedzą i doświadczeniem zdobytą od 2000 roku, a potwierdzeniem są projekty zrealizowane dla Klientów według ich indywidualnych pomysłów do których dołożyliśmy cegiełkę w postaci naszych usług, tak aby mogli poświęcić czas na rozwijanie własnego biznesu bez obawy o sprawy związane z codziennym administrowaniem usługami.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *