Protokół ICMP (ang. Internet Control Message Protocol) jest protokołem warstwy sieci. Służy on do kontroli poprawności przesyłania pakietów protokołem IP. Mimo że jest to protokół tej samej warstwy co IP, jego wiadomości są umieszczane w pakietach IP.
Funkcja protokołu ICMP polega na zgłaszaniu błędów w transmisji IP. Nie oznacza to jednak, że jego stosowanie zapewnia niezawodność transmisji. Do tego celu należy stosować protokoły warstw wyższych.
Nagłówek pakietu protokołu ICMP składa się z trzech pól: typ, kod i suma kontrolna. Typ jest polem 8-bitowym określającym funkcję przekazywanej wiadomości. Do najczęściej spotykanych typów należą:
Destination unreachable – oznaczający, że dostarczenie wiadomości do celu było niemożliwe; przyczyną tej sytuacji może być nieprawidłowy adres docelowy lub brak trasy prowadzącej do celu,
Echo request/Echo reply – ta para wiadomości stosowana jest przy wykonywaniu procedury ping, polegającej na wysłaniu żądania (Echo request) do urządzenia w sieci i oczekiwaniu na jego odpowiedź (Echo reply), co pozwala sprawdzić dostępność urządzenia oraz czas transmisji pakietów do niego i z powrotem,
Redirect – jest to polecenie zmiany trasy – w pakiecie Redirect wskazany jest adres routera, przez który ma być kierowany ruch na dany adres,
Time exceeded – pakiet tego typu jest wysyłany, gdy pole czasu życia (TTL) pakietu IP osiągnęło zero, w wyniku czego został on odrzucony.
Pole kodu ma również długość 8 bitów i zawiera kod błędu, którego znaczenie zależy od typu wiadomości. Ostatnim polem nagłówka jest 16-bitowa suma kontrolna służąca do kontroli poprawności transmisji pakietu ICMP. W przypadku niezgodności sumy kontrolnej pakiet jest odrzucany i nie są podejmowane żadne dodatkowe działania.
W oparciu o protokół ICMP implementuje się protokół Router Discovery. Polega on na tym, że routery okresowo rozsyłają wiadomości o swoich adresach IP. Dzięki temu urządzenia w sieci same zdobywają informacje o dostępnych routerach, co pozwala uniknąć konieczności ręcznej konfiguracji. Implementacja protokołu Router Discovery jest opcjonalna.
Copyright © 2008-2010 EPrace oraz autorzy prac.