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
 

Budowa pakietu ICMP

Pakiet ICMP składa się z nagłówka i danych. Nagłówek ma zawsze wielkość 32 bitów (4 bajtów) i znajdują się w nim trzy pola. Pierwsze z nich ma wielkość 8 bitów i przeznaczone jest na typ wiadomości ICMP. Drugie również ma wielkość 8 bitów i jest przeznaczone na kod wiadomości, który pozwala bardziej szczegółowo zidentyfikować rodzaj komunikatu. Kody mają różne znaczenia w zależności od typu komunikatu ICMP, przy czym pole kodu nie jest wykorzystywane przez każdy typ wiadomości. Trzecie pole nagłówka ICMP zajmuje 16 bitów i zawiera sumę kontrolną obliczoną z całej wiadomości ICMP (nagłówka i danych). Suma kontrolna pozwala wykryć ewentualne uszkodzenia przesyłanego pakietu. Uzyskiwana jest na podstawie takiego samego algorytmu jak suma kontrolna nagłówka IP. Do jej obliczenia musi być skompletowana cała wiadomość ICMP a miejsce przeznaczone na sumę wypełnia się zerami.

Bezpośrednio za nagłówkiem rozpoczyna się obszar przeznaczony na dane komunikatu ICMP. Jego wielkość jest zmienna a umieszczane w nim informacje są różne w zależności od typu komunikatu. W przypadku wysyłania komunikatu o błędzie na końcu obszaru danych zawsze umieszczany jest początek pakietu, podczas przesyłania którego wystąpił błąd. Dzięki temu urządzenie wysyłające pakiet może, po odebraniu komunikatu ICMP o błędzie, sprawdzić który program wysyłał pakiet i poinformować go o sytuacji jaka wystąpiła.


Autorzy: Dariusz Obidowski
Marek Wardziński

22.01.2003r.