IPv4
Sloj | Protokol |
---|---|
Aplikacijski | DNS, DHCP, TLS/SSL, TFTP, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, BitTorrent, RTP, rlogin, … |
Transportni | TCP, UDP, DCCP, SCTP, IL, RUDP, |
Mrežni | IP (IPv4, IPv6), ICMP, IGMP, ARP, RARP, … |
Podatkovni | Ethernet, Wi-Fi, Token ring, PPP, SLIP, FDDI, ATM, DTM, Frame Relay, SMDS, … |
IP protokol verzija 4, kraće IPv4, najrašireniji je IP protokol na najvećoj računaloj mreži danas - Internetu. Pojedine verzije IP protokola razlikuju se po načinu adresiranja, izgledu zaglavlja paketa, ali i brojnim drugim detaljima. Najvažnija karakteristika IPv4 protokola je da koristi 32-bitnu IP adresu, što znači da je propisana duljina svake IP adrese u ovoj verziji protokola 32 bita.
IPv4 adrese
IPv4 adresa je u osnovi 32-bitni binarni broj. Kako je u pravilu vrlo teško pamtiti niz od 32 znaka '0' ili '1', češće se koriste druge notacije, a najčešće od svih decimalna notacija. Decimalnu notaciju se od 32-bitnog binarnog broja dobije na sljedeći način: 32-bitni broj se odvoji u četiri 8-bitne grupe, svaka grupa se zapiše u dekadskom obliku, te zatim u zapisu prikažu odvojene točkama. Primjer:
Binarni zapis: 00100000111100000000111100001111
(odvajanje u 4 grupe po 8 bitova): 00100000 11110000 00001111 00001111
(svaka grupa se zapisuje dekadski): 32 240 15 15
(dodavanje točki između brojeva): 32.240.15.15
Decimalni zapis: 32.240.15.15
Ovisno o tome kojim binarnim znamenkama započinje 'vodeća' grupa bitova (prva s lijeva) IP adrese se dijele u tzv. klase IP adresa, prema tablici:
Klasa | Vodeći bitovi (s lijeva) | Broj bitova - mreža | Broj bitova - host |
---|---|---|---|
Klasa A | 0 | 7 | 24 |
Klasa B | 10 | 14 | 16 |
Klasa C | 110 | 21 | 8 |
Klasa D (multikast) | 1110 | ||
Klasa E (rezervirana) | 1111 |
Iz tablice se vidi da je za svaku klasu pretpostavljen dio IP adrese koji označava mrežu, odnosno dio koji označava host (mrežno računalo ili drugi IP uređaj unutar te mreže). Za gore navedeni primjer IP adrese (32.240.15.15) pregledom binarnog zapisa može se ustanoviti da je vodeći bit s lijeva 0, što znači da se radi o IP adresi A klase. Iz tablice se dalje zaključuje da je za A klasu 7 bitova (nakon vodeće 0) predviđeno kao oznaka mreže, a ostatak od 24 bita kao oznaka hosta. Prilikom zapisivanja adrese mreže, preostali se bitovi zapisuju kao nule, dok se kod adrese hosta obično zapisuje cijela adresa, što bi za gornji primjer bilo:
IP adresa: 32.240.15.15
Klasa za tu adresu: A klasa
Adresa mreže: 32.0.0.0
Adresa hosta: 240.15.15 u mreži 32.0.0.0, ili jednostavno 32.240.15.15
Važno je napomenuti da se ponekad koristi i postupak subnetiranja (od engleskog izraza subnet = podmreža) kada se primjenom tzv. maske podmreže na određenu IP adresu broj bitova koji označavaju mrežu, odnosno host dio, može promijeniti. Tada nije moguće direktno iz IP adrese odrediti mrežnu adresu, odnosno adresu hosta, već je potrebno znati i masku podmreže (engleski subnet mask).
Posebni rasponi IPv4 adresa
Iz različitih razloga pojedini rasponi IP adresa nisu raspoloživi za standardnu uporabu na Internetu, već se koriste samo u strogo specificirane namjene:
Adresa | Namjena | Klasa | Broj adresa |
---|---|---|---|
0.0.0.0 - 0.255.255.255 | nul-adrese | A | 16,777,216 |
10.0.0.0 - 10.255.255.255 | Privatne adrese | A | 16,777,216 |
127.0.0.0 - 127.255.255.255 | Lokalni host (loopback adresa) | A | 16,777,216 |
169.254.0.0 - 169.254.255.255 | Zeroconf | B | 65,536 |
172.16.0.0 - 172.31.255.255 | Privatne IP adrese | B | 1,048,576 |
192.0.2.0 - 192.0.2.255 | Dokumentacija i primjeri | C | 256 |
192.88.99.0 - 192.88.99.255 | IPv6 prema IPv4 relay Anycast | C | 256 |
192.168.0.0 - 192.168.255.255 | Privatne IP adrese | C | 65,536 |
198.18.0.0 - 198.19.255.255 | Network Device Benchmark | C | 131,072 |
224.0.0.0 - 239.255.255.255 | Multikast | D | 268,435,456 |
240.0.0.0 - 255.255.255.255 | Rezervirano | E | 268,435,456 |
Iskorištenje IPv4 adresnog prostora
S obzirom da je IP adresa u ovoj verziji IP protokola propisane duljine od 32 bita, lako je izračunati da je maksimalni broj različitih adresa 232, ili približno 4,3x109 odnosno 4,3 milijardi adresa. Iako se taj broj čini prilično velikim, širenje Interneta i rast potrebe za novim IP adresama doveli su do toga da je taj adresni prostor postao daleko premali za sve potrebe. Naime, nije daleko dan kada bi svaka osoba u svijetu trebala imati svoje osobno računalo koje treba javnu IP adresu, brojni su poslužitelji koji za svoj rad također trebaju IP adrese itd. Nadalje, otvara se cijelo novo područje mobilne telefonije koje će se vrlo skoro integrirati s Internetom, a razvija se i područje različitih drugih uređaja (kućanski aparati, razni uređaji u industriji, prometu, turizmu...) koji će se također vrlo skoro koristiti ili se već koriste Internetom za razmjenu i prikupljanje informacija, komunikaciju, upravljanje na daljinu i sl.
Stoga su predložena različita rješenja, od različitih metoda adresnih translacija kao što je NAT, pa do potpuno nove verzije IP protokola koja bi imala veći raspon raspoloživih adresa, kao što je IPv6.
Format zaglavlja IPv4 paketa
IPv4 verzija protokola detaljno propisuje izgled paketa, gdje su pojedina polja u zaglavlju detaljno specificirana, dok je sama duljina podataka u paketu varijabilna. Prema standardu minimalna duljina tako formiranog datagrama je 20 bajtova, dok je maksimalna duljina 65535 bajtova. Slijedi prokaz propisanih polja u IPv4 paketu:
+ | Bitovi 0 - 3 | 4 - 7 | 8 - 15 | 16 - 18 | 19 - 31 | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | Verzija | Duljina zaglavlja | Tip servisa - ToS (ponekad DiffServ i ECN) |
Ukupna duljina | ||||||||||||||||||||||||||||
32 | Identifikacija | Zastavice | Ofset fragmenta | |||||||||||||||||||||||||||||
64 | TTL vrijeme | Protokol | checksum zaglavlja | |||||||||||||||||||||||||||||
96 | Izvorišna adresa | |||||||||||||||||||||||||||||||
128 | Odredišna adresa | |||||||||||||||||||||||||||||||
160 | Opcionalno | |||||||||||||||||||||||||||||||
192 | Podaci |
Definicija pojedinih polja:
Ime polja | Opis | ||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Verzija | Verzija IP paketa. | ||||||||||||||||||||||||||||||||||
IHL | Duljina zaglavlja IP paketa. | ||||||||||||||||||||||||||||||||||
Tip usluge | Prioritet kojim se paket treba tretirati prilikom prosljeđivanja. | ||||||||||||||||||||||||||||||||||
Duljina | Ukupna duljina datagrama. | ||||||||||||||||||||||||||||||||||
Identifikacija | Koristi se primarno za identifikaciju datagrama prilikom fragmentiranja. | ||||||||||||||||||||||||||||||||||
Zastavice | Zauzimaju 3 bita, a koriste se za kontrolu ili identifikaciju fragmenata. | ||||||||||||||||||||||||||||||||||
Pomak fragmentacije | Pomak fragmentiranog datagrama u oktetima. | ||||||||||||||||||||||||||||||||||
TTL | Broj skokova koliko će dugo živjeti datagram. | ||||||||||||||||||||||||||||||||||
Protokol | Opisuje koji se protokol prenosi u podacima. | ||||||||||||||||||||||||||||||||||
Provjera | Polje koje služi za provjeru ispravnosti zaglavlja. | ||||||||||||||||||||||||||||||||||
Izvorišna adresa | IP adresa izvora. | ||||||||||||||||||||||||||||||||||
Odred. adr. | IP adresa odredišta | ||||||||||||||||||||||||||||||||||
Opcije | Ako slijede dodatne opcije vezane za zaglavlje. | ||||||||||||||||||||||||||||||||||
Podaci | Podaci koji se prenose u IP datagramu. |