Nagłówki ICMP (Internet Control Message Protocol) składają się zazwyczaj z ośmiu bajtów. W obrębie tych nagłówków ICMP zawiera określone pola, takie jak typ, kod, suma kontrolna i dodatkowe dane w zależności od typu komunikatu ICMP. Nagłówki te mają kluczowe znaczenie dla diagnostyki sieci i raportowania błędów.
Nagłówki ICMP nie zawierają bezpośrednio nagłówków TCP/IP. ICMP działa jako oddzielny protokół w warstwie IP, gdzie do routingu wykorzystuje nagłówki IP. Nagłówki TCP/IP są używane przez protokoły TCP (protokół kontroli transmisji) i IP (protokół internetowy) do zarządzania transmisją i routingiem danych.
Rozmiar nagłówka ICMPv4 może się różnić w zależności od konkretnego typu wysyłanej lub odbieranej wiadomości ICMP. Ogólnie rzecz biorąc, nagłówek ICMPv4 ma długość 8 bajtów. Obejmuje to pola takie jak typ, kod, suma kontrolna i dodatkowe dane specyficzne dla typu komunikatu ICMP.
W ICMP pole kodu zapewnia dodatkowy kontekst lub szczegóły związane z typem wysyłanego komunikatu ICMP. Uzupełnia pole typu, określając odmiany lub szczegóły w ramach określonego typu komunikatu ICMP. Na przykład w komunikatach ICMP typu „Miejsce docelowe nieosiągalne” lub „Przekierowanie” pole kodu wskazuje przyczynę komunikatu, na przykład nieosiągalny host lub sieć albo konkretną instrukcję przekierowania. Pole kodu pomaga rozróżnić i dostarczyć bardziej szczegółowe informacje w ramach szerszych kategorii zdefiniowanych przez pole typu w komunikatach ICMP.