Pakiety IP składają się z danych z wyższych warstw oraz nagłówka IP.
Nagłówek IP zawiera następujące pola:
-
Wersja — określa format nagłówka pakietu IP. 4-bitowe pole wersji
zawiera liczbę 4, jeśli jest to pakiet IPv4, a liczbę 6, jeśli jest to pakiet
IPv6. Pole to nie jest jednak stosowane do rozróżniania pomiędzy pakietami IPv4
a IPv6 - taką rolę pełni pole typu protokołu obecne w ramce warstwy drugiej.
-
Długość nagłówka IP (HLEN) — określa długość nagłówka datagramu jako
wielokrotność słów 32-bitowych. Jest to całkowita długość wszystkich informacji
znajdujących się w nagłówku, obejmująca dwa pola nagłówka o zmiennych
długościach.
-
Typ usługi(TOS, ang. Type-of-service) — określa
poziom ważności, który został przypisany przez protokół wyższej warstwy; osiem
bitów.
-
Całkowita długość — określa długość całego pakietu w bajtach z
uwzględnieniem danych i nagłówka; 16 bitów. Aby uzyskać długość pola danych, od
długości całkowitej należy odjąć wartość HLEN.
-
Identyfikacja — zawiera liczbę całkowitą identyfikującą bieżący
datagram; 16 bitów. Jest to numer sekwencyjny.
-
Flagi — pole o długości trzech bitów, w którym dwa mniej znaczące
bity sterują fragmentacją. Jeden bit określa, czy pakiet może zostać podzielony
na fragmenty, a drugi służy do oznaczenia ostatniego pakietu w serii
podzielonych pakietów.
-
Przesunięcie fragmentu — pole pomocne przy składaniu fragmentów
datagramu; 13 bitów. Pole to pozwala na zakończenie poprzedniego pola na
granicy 16 bitów.
-
Czas życia (TTL, Time To Live) — pole określające liczbę przeskoków,
które może wykonać pakiet. Liczba ta jest zmniejszana o jeden za każdym razem,
gdy pakiet przechodzi przez router. Gdy licznik osiągnie wartość zero, pakiet
jest odrzucany. Zapobiega to przesyłaniu pakietu w nieskończonej pętli.
-
Protokół — pole wskazujące, który protokół wyższej warstwy, taki jak
TCP lub UDP, odbiera pakiety przychodzące po zakończeniu przetwarzania IP;
osiem bitów.
-
Suma kontrolna nagłówka — pole pomagające zapewnić integralność
nagłówka; 16 bitów.
-
Adres nadawcy — pole określające adres IP węzła nadawczego; 32 bity.
-
Adres odbiorcy — pole określające adres IP węzła odbiorczego; 32
bity.
-
Opcje — pole umożliwiające protokołowi IP obsługę różnych opcji,
takich jak funkcje zabezpieczeń; zmienna długość.
-
Wypełnianie — zera dodane w celu zagwarantowania, że długość
nagłówka jest wielokrotnością 32 bitów.
-
Dane — pole zawierające informacje wyższych warstw; zmienna długość
do 64 kB.
Podczas gdy adresy nadawcy i odbiorcy są istotne, inne pola nagłówka
sprawiają, że protokół IP jest bardzo elastyczny. Pola nagłówka określają
adresy nadawcy oraz odbiorcy pakietu, a także długość przenoszonego komunikatu.
Ponadto w nagłówku IP może być zawarta informacja dotycząca routingu, która
może być długa i mieć złożoną strukturę.