Protokół ICMP


 
  Strona główna
  Inf. podstawowe
  Budowa pakietu
  Szczegóły działania
    ICMPv4
    ICMPv6
  Typy komunikatów  
    ICMPv4
    ICMPv6
  Opcje ICMPv6
  Przykłady działania
    Polecenie ping
    Polecenie traceroute
    Redirect
  Kod źródłowy
 

Działanie polecenia systemowego traceroute

Polecenie systemowe traceroute nie wykorzystuje komunikatu ICMP Traceroute jak by się mogło wydawać. Działa ono według następującego schematu:

  • Pod adres docelowy wysyłany jest jakiś pakiet (np. UDP) z polem TTL w nagłówku IP ustawionym na wartość 1.
  • Podczas przesyłania, pierwszy po drodze router zmniejszy pole TTL pakietu do 0 i odeśle komunikat ICMP Time Exceeded z kodem 0.
  • Pierwsze dwa kroki są powtarzane wiele razy, jednak pole TTL za każdym razem jest ustawione na wartość o 1 większą. W każdym cyklu odpowiedź ICMP jest zwracana przez kolejne routery znajdujące się po drodze do celu. Trasę, którą pokonuje pakiet wysyłany do celu można rozpoznać po adresach IP, z których przychodzą kolejne komunikaty ICMP.
  • Cykl może być powtarzany tak długo aż pakiet zostanie dostarczony do urządzenia docelowego. O tym fakcie urządzenie docelowe zostanie poinformowane komunikatem innym niż Time Exceeded (np. Destination Unreachable - Port Unreachable)

Przedstawiony algorytm jest skuteczny wtedy, gdy wszystkie routery po drodze do celu oraz urządzenie docelowe odsyłają odpowiednie komunikaty. Ponadto wadą jego jest to, że generuje dużą ilość pakietów (2 razy tyle ile routerów znajduje się po drodze do celu). Rozpoznawanie drogi tą metodą trwa pewien czas i może się tak zdażyć, że zmieni się ona w trakcie trwania procesu. Zaletą natomiast jest fakt, że nie są wymagane żadne dodatkowe komunikaty ICMP poza podstawowymi zdefiniowanymi w RFC792 i RFC2463.


Autorzy: Dariusz Obidowski
Marek Wardziński

22.01.2003r.