Een IP-pakket bestaat uit een header gevolgd door de data ("payload").
De header kun je vergelijken met de gegevens op een enveloppe, de data met de inhoud van de enveloppe.
De header van een IP-pakket (IPv6) bevat onder andere de volgende elementen:
version: versie van het IP-protocol, tegenwoordig 4 (IPv4) of 6 (IPv6)
payload lenght: de lengte van de data
next header: geeft aan met welk hogere orde protocol je te maken hebt, bijvoorbeeld TCP of UDP;
hop limit: wordt verlaagd door elke router die onderweg gepasseerd wordt.
Als deze de waarde 0 bereikt, wordt het pakket weggegooid (om eindeloos rondsturen van een pakket te voorkomen)
source address: het adres van de afzender (128 bits)
destination address: het adres van de bestemming (128 bits)
Een pakket voor IPv4 bevat ongeveer dezelfde velden.
Het belangrijkste verschil is dat in dat geval de adressen 32 bits groot zijn.