Internet Protocol version 4 (IPv4) je v informatice čtvrtá revize IP (Internet Protocol) a zároveň jeho první verze, která se masivně rozšířila. Spolu s IPv6 vytvářejí základ pro komunikaci v rámci sítě Internet. IPv4 je popsána IETF v RFC 791 (září 1981), které nahradilo RFC 760 (leden 1980) a je standardizována jako MIL-STD-1777 Ministerstvem obrany USA.
IPv4 je datově orientovaný protokol, který je používán v sítích s přepojováním paketů (např. Ethernet). Jde o protokol přepravující data bez záruky, tj. negarantuje ani doručení ani zachování pořadí ani vyloučení duplicit. Zajištění těchto záruk je ponecháno na vyšší vrstvě, kterou představuje protokol TCP. Stejně tak je na vyšší vrstvě ponechána kontrola integrity dat, protože IPv4 datagram nese pouze informaci o kontrolním součtu hlavičky datagramu se služebními údaji.
Starší protokol IPv4 poskytuje omezený adresní prostor – teoreticky 232 adres (cca 4×109 = 4 miliardy adres), prakticky však mnohem méně, protože adresy jsou sdružovány kvůli snadnějšímu směrování do podsítí (viz maska sítě). Protokol IPv4 též nevyhovuje současnému nárůstu přenosových rychlostí (zejména kvůli přenosu multimediálních dat – videokonference, internetová televize, telefonování po internetu atd.).
Dne 3. února 2011 byly rozděleny poslední bloky adres protokolu IPv4, čímž došlo k jejich vyčerpání. Od té doby postupně probíhá přechod na protokol IPv6.
Uložen ve velkém endianu.
Bajty | 0 | 1 | 2 | 3 | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Bajt 0 až 3 | verze | IHL | typ služby | celková délka | ||||||||||||||||||||||||||||
Bajt 4 až 7 | identifikace | příznaky (3 bity) | offset fragmentu (13 bitů) | |||||||||||||||||||||||||||||
Bajt 8 až 11 | TTL | číslo protokolu | kontrolní součet hlavičky | |||||||||||||||||||||||||||||
Bajt 12 až 15 | zdrojová adresa | |||||||||||||||||||||||||||||||
Bajt 16 až 19 | cílová adresa | |||||||||||||||||||||||||||||||
Bajt 20 až ((IHL × 4) - 1) | rozšířená nepovinná nastavení | |||||||||||||||||||||||||||||||
... | data |
Datagram IPv4 obsahuje hlavičku se služebními údaji nutnými pro přepravu a za ní následují data. Konec hlavičky je zarovnán na násobek čtveřice bajtů pomocí výplně (anglicky padding). Strukturu IP datagramu vystihuje tabulka uvedená nahoře.
Následuje popis jednotlivých polí:
rozsah | jméno dle rfc6890 | využití |
---|---|---|
0.0.0.0/8 | This host on this network | |
10.0.0.0/8 | Private-Use | privátní adresy pro LAN |
100.64.0.0/10 | Shared Address Space | CG NAT |
127.0.0.0/8 | Loopback | |
169.254.0.0/16 | Link Local | |
172.16.0.0/12 | Private-Use | privátní adresy pro LAN |
192.0.0.0/24 | IETF Protocol Assignments | |
192.0.0.0/29 | DS-Lite | metoda přechodu na IPv6 "B4"[1] |
192.0.2.0/24 | TEST-NET-1 | vyhrazeno pro použití v příkladech a dokumentaci[2] |
192.88.99.0/24 | 6to4 Relay Anycast | metoda přechodu na IPv6, zrušeno v rfc7526 |
192.168.0.0/16 | Private-Use | privátní adresy pro LAN |
198.18.0.0/15 | Benchmarking | |
198.51.100.0/24 | TEST-NET-2 | vyhrazeno pro použití v příkladech a dokumentaci[2] |
203.0.113.0/24 | TEST-NET-3 | vyhrazeno pro použití v příkladech a dokumentaci[2] |
224.0.0.0/4 | IP multicast (dříve třída D) | |
240.0.0.0/4 | Host group addresses[3] | rezervováno pro budoucí použití (dříve třída E) |
255.255.255.255/32 | Limited Broadcast |
Počet IPv4 adres | Prefix | Třída | Maska |
---|---|---|---|
1 | /32 | 255.255.255.255 | |
2 | /31 | 255.255.255.254 | |
4 | /30 | 255.255.255.252 | |
8 | /29 | 255.255.255.248 | |
16 | /28 | 255.255.255.240 | |
32 | /27 | 255.255.255.224 | |
64 | /26 | 255.255.255.192 | |
128 | /25 | 255.255.255.128 | |
256 | /24 | 1C | 255.255.255.0 |
512 | /23 | 2C | 255.255.254.0 |
1 024 | /22 | 4C | 255.255.252.0 |
2 048 | /21 | 8C | 255.255.248.0 |
4 096 | /20 | 16C | 255.255.240.0 |
8 192 | /19 | 32C | 255.255.224.0 |
16 384 | /18 | 64C | 255.255.192.0 |
32 768 | /17 | 128C | 255.255.128.0 |
65 536 | /16 | 1B | 255.255.0.0 |
131 072 | /15 | 2B | 255.254.0.0 |
262 144 | /14 | 4B | 255.252.0.0 |
524 288 | /13 | 8B | 255.248.0.0 |
1 048 576 | /12 | 16B | 255.240.0.0 |
2 097 152 | /11 | 32B | 255.224.0.0 |
4 194 304 | /10 | 64B | 255.192.0.0 |
8 388 608 | /9 | 128B | 255.128.0.0 |
16 777 216 | /8 | 1A | 255.0.0.0 |
33 554 432 | /7 | 2A | 254.0.0.0 |
67 108 864 | /6 | 4A | 252.0.0.0 |
134 217 728 | /5 | 8A | 248.0.0.0 |
268 435 456 | /4 | 16A | 240.0.0.0 |
536 870 912 | /3 | 32A | 224.0.0.0 |
1 073 741 824 | /2 | 64A | 192.0.0.0 |
2 147 483 646 | /1 | 128A | 128.0.0.0 |
Dne 3. února 2011 byly rozděleny na konferenci v Miami poslední bloky adres protokolu IPv4, čímž došlo k jejich vyčerpání. Tato událost je jedna z nejvýznamnějších událostí historie internetu. Spotřeba IP adres stále stoupá a největším spotřebitelem je asijsko-pacifický region, ve kterém poslední přidělený blok spolu se stávající zásobou vystačí maximálně do konce roku 2011. Nejdéle vydrží zásoby IPv4 v Africe, kde s nimi mohou počítat ještě několik let dopředu.[4]