Datagram IPv6

IPv6

W przeciwieństwie do protokołu IPv4, którego długość nagłówka wynosi od 20 do 60 bajtów, długość nagłówka protokołu IPv6 jest stała i wynosi 40 bajtów. Jego znaczną część zajmują adresy źródłowy oraz docelowy. Dzięki stałej długości nagłówek IPv6 jest dużo prostszy niż nagłówek poprzedniej wersji protokołu, a zarazem dużo łatwiejszy w przetwarzaniu. Jest także dużo bardziej elastyczny - dodatkowe opcje protokołu mogą być umieszczane w opcjonalnych nagłówkach rozszerzających (ang. extension headers), następujących po nagłówku głównym IPv6.

Podstawowy nagłówek protokołu składa się z następujących pól:

Wersja (4 bity) - definiująca wersję protokołu, w przypadku IPv6 pole te zawiera wartosć 6 (bitowo 0110),

Klasa ruchu (8 bitów) - określa sposób w jaki ma zostać potraktowany pakiet danych. W poprzedniej wersji protokoły pole te nazywało się Type of Service, jednak ze względu na to, że w IPv6 stosowane są inne mechanizmy priorytetowania danych, nazwę tego pola zmieniono,

Etykieta przepływu (20 bitów) - pomagające odróżnić pakiety, które wymagają takiego samego traktowania, 

Długość danych (16 bitów) - wielkość pakietu, nie wliczając długości podstawowego nagłówka,

Następny nagłówek (8 bitów) - identyfikuje typ następnego nagłówka, pozwalając określić czy jest to nagłówek rozszerzający czy nagłówek warstwy wyższej. W przypadku tego drugiego, wartość pola jest identyczna z wartością pola w protokole IPv4,

Limit przeskoków (8 bitów) - określa ilość węzłów po odwiedzeniu których pakiet zostaje porzucony. W poprzedniej wersji protokołu pole te nosiło nazwę time to live i zawierało liczbę skoków, która była zmniejszana przez każdy odwiedzony węzeł,

Adres źródłowy (128 bitów) - adres węzła, który wysłał pakiet,

Adres docelowy (128 bitów)- adres węzła do którego adresowany jest pakiet.