Internetiprotokoll

Internetiprotokolli eesmärk

Internetiprotokolli funktsioon või eesmärk on liigutada andmepakette läbi vastastikuselt seotud võrkude komplekti. Eesmärgi täitmiseks liigutatakse pakette ühest internetimoodulist teise kuni sihtkohta jõudmiseni. Internetimoodulid asuvad hostides ja lüüsid interneti süsteemis. Paketid saadetakse ühest internetimoodulist teise läbi individuaalsete võrkude IP-aadressi alusel. Seetõttu on internetiprotokolli aadress (IP-aadress) tähtis internetiprotokolli mehhanism, mille abil pakette edastada. 
Andmete edastamisel ühest internetimoodulist teise võib ette tulla olukord, kus andmepaketid on suuremad kui mõne võrgu maksimaalne paketisuuruse läbilaskevõime. Selleks on internetiprotokollil mehhanism, mis tükeldab paketid, et need suudetaks siiski kohale toimetada.

Paketi tükkideks jagamine

Kui võrk, kust pärineb andmepakett, lubab suuremat paketisuurust kui võrk, kuhu andmepakett saadetakse, siis tuleb pakett tükkideks jagada ehk fragmenteerida. Andmepaketile saab märkida "mitte fragmenteerida" – see tähendab, et kui oleks sellist andmepaketti vaja fragmenteerida, siis fragmenteerimise asemel selle andmepaketi saatmine hoopiski tühistatakse. 
Andmepakettide fragmenteerimine ja uuestikoostamine protseduur peab olema suuteline tükeldama andmepakett suvaliseks arvuks tükkideks, mille saab hiljem uuesti kokku panna. Andmepaketi vastuvõtja kasutab tuvastuslahtrit, et tagada samade andmepakettide tükkide kokku kogumine. Andmepaketi tükeldatud tükkide positsiooni andmepaketis määratakse tüki nihke (offset) välja abil. Andmepaketi tüki nihe ja pikkus määravad ära selle tüki osakaalu kogu andmepaketis. Lahter Lipud (inglise Flags) määrab ära viimase andmepaketi tüki. Tänu eespool nimetatud väljadele on internetiprotokollil piisavalt andmeid, et andmepakett uuesti kokku koguda.

Andmepaketi ehitus

Andmepakett koosneb päisest ja saadetisest. Päis sisaldab allika aadressi, sihtkoha aadressi ja muid andmeid, mis aitavad andmepaketti kohale toimetada. Saadetis sisaldab andmeid, mida tahetakse edastada. Paremal joonisel näha andmepaketi ehitus ja vasakul detailne päise ehitus.

Töökindlus

Internetiprotokolli kasutatakse andmepakettide ühest hostist teise hosti saatmiseks Cateneti võrgu kaudu, mis kasutab lüüse (gateway), et ühendada omavahel erinevad võrgud. Need lüüsid suhtlevad omavahel, et kontrollida andmepakette jne GGP protokolli abil. Vahel toimub suhtlus lüüsi või andmepakettide sihtkoha hosti ja lähtekoha hosti vahel, näiteks andmepakettide kohaletoimetamise tõrke korral. Sellise suhtluse jaoks kasutatakse Interneti kontrollsõnumiprotokolli. Seda protokolli kasutatakse juhtudel, kus andmepakett ei jõua sihtkohta, kui lüüs ei saa saadetud andmepaketti selle liigse suuruse tõttu vastu võtta või kui lüüs suudaks andmepakette saata sihtkohta lühemat teed pidi.
Internetiprotokoll ei ole loodud täielikult töökindlana. Interneti kontrollsõnumiprotokoll on kasutusel, et saada tagasisidet hostidevahelise suhtluse kohta, mitte eesmärgiga muuta internetiprotokoll töökindlaks. Andmepakettide kohalejõudmine ja kontrollsõnumite tagasijõudmine pole siiski garanteeritud. Võib juhtuda, et andmepakett ei jõua sihtkohta kohale ja sellest ei anta kuidagi ka saatjale märku. Kui on vaja töökindlat suhtlust (andmepakettide/sõnumite jne saatmist), siis tuleb internetiprotokolli kasutavatel kõrgema kihi protokollidel kasutada enda töökindlusi suurendavaid protseduure.
Interneti kontrollsõnumiprotokoll saadab tõrketeate ainult juhul, kui tegemist on andmepakettidega seonduvaga. Teateid interneti kontrollsõnumiprotokolli kontrollsõnumite kohta ei saadeta näiteks juhul, kui kontrollsõnumile ei tule vastust.

Ajalugu

Kuna internetiprotokoll on kogu TCP/IP alustala, oleks iseenesestmõistetav, et IP loodi kõige esimesena. Kuid internetiprotokolli loomine ei ole päris standardne. Selle funktsioon defineeriti protokolli valmimisel, kuigi internetiprotokolli kui sellist veel ei olnud defineeritud.
IP väljaarenemise puhul tuleb märkida, et algselt oli internetiprotokoll TCP üks osa. Ametlik versioon IP-st arendati välja 1970-ndatel, kui TCP ja IP eraldati üksteisest – TCP pandi neljandale kihile ja IP kolmandale. Oluline verstapost IP arengus oli RFC 791, internetiprotokolli, loomine 1981. aastal. See standard defineeris IP põhifunktsioonid ja selle karakteristiku.
Internetiprotokoll, mis defineeriti RFC 791 standardiga, oli esimene laialtkasutatav IP versioon. Kuigi see oli esimene, on see siiski nimega IPv4. Ehk esimeseks versiooniks oligi 4. versioon, eelnevalt polnud IP versioone, kuna IP sai eraldiseisvaks siis, kui see eraldati TCP-st. Enne oli TCP-l kolm varasemat versiooni. IPv4 on tänapäevani enimkasutatud IP versioon.
Kuigi IPv4 oli algselt disainitud väga väikses osas praegusest interneti suurusest, on see üllatavalt võimeline. Mõningad lisandid ja muudatused on tehtud, kuidas IP-d kasutatakse tänapäeval, kuid IP tuumaks olev protokoll on jäänud samaks, milline see oli 1980-ndatel. Kuna millegi fundamentaalse nagu IP muutmine nõuab väga suurt arendustööd ja muudatuste elluviimine on raskendatud, ongi IP jäänud samaks.
Kuna IPv4 saab varustada internetti umbes 4,3 × 10^9 aadressiga, siis oli vaja uut IP versiooni, mis suudaks varustada suurema arvu aadressidega. IP uus versioon 6 lubab kasutada 3,4 × 10^38 aadressi.