IPv4 a fost dat spre utilizare în 1983 când a fost dezvoltate de ARPANET (Advanced Research Projects Agency Network), care a fost precursorul Internetului. Internetul se bazează în mod larg pe IPv4, care încă este protocolul layer-ului rețea cel mai utilizat în lume.
Un pachet IPv4 are două părți:
- Header-ul IP - Arată caracteristicile pachetului.
- Încărcătura utilă - Conține informații ale segmentului Layer-ului 4 și al datelor actuale.
Așa cum se arată în figură, un header al pachetului IPv4 constă în câmpuri care conțin informații importante despre pachet. Aceste câmpuri conțin numere binare care sunt examinate de procesul de Layer 3. Valorile binare ale fiecărui câmp identifică setările diferite ale pachetului IP.
Câmpurile importante din header-ul IPv4 includ:
- Versiune - Conține o valoarea binară de 4 biți care identifică versiunea pachetului IP. Pentru pachetele IPv4, acest câmp este mereu setat la 0100.
- Servicii Diferențiate (DS) Denumite formal câmpul ToS (Type of Service - Tipul Serviciului), acesta este un câmp de 8 biți utilizat pentru a determina prioritatea fiecărui pachet. Primii 6 biți identifică valoarea DSCP (Differentiated Services Code Point) utilizată de un mecanism de QoS. Ultimii doi biți identifică valoarea ECN (explicit congestion notification) care poate fi utilizată pentru a împiedica aruncarea pachetelor în timpul congestionării rețelei.
- Time-to-Live (TTL) - Durata de Viață - Conține o valoare binară de 8 biți utilizată pentru a limita durata de viață a pachetului. Este specificată în secunde, dar este denumită deseori ca numărul de hopuri. Expeditorul pachetului trimite valoarea inițială pentru TTL și este scăzută cu 1 de fiecare dată când pachetul este procesat de un router sau hop. Dacă TTL scade la 0, routerul renunță la pachet și trimite un mesaj ICMP de Time Exceeded la adresa IP sursă. Comanda traceroute folosește acest câmp pentru a identifica routerele utilizate între sursă și destinație.
- Protocol - Această valoare binară de 8 biți indică tipul de sarcină utilă al datelor purtate de pachet, care permite layer-ului rețea să transmită datele la protocolul layer-ului corespunzător superior. Valorile obișnuite sunt ICMP (0x01), TCP (0x06) și UDP (0x11)
- Adresa IP Sursă Conține o valoare binară care reprezintă adresa IP sursă a pachetului.
- Adresa IP de Destinație Conține o valoare binară de 32 biți care reprezintă adresa IP de destinație a pachetului.
Cele două câmpuri mai utilizate sunt adresa IP sursă și de destinație. Aceste câmpuri identifică locul de unde este pachetul și unde merge. De obicei aceste adrese nu se modifică în timp ce merg de la sursă la destinație.