IP (internet protokol) (engl. Internet Protocol) je protokol trećeg sloja OSI referentnog modela (sloja mreže). Sadrži informacije o adresiranju, čime se postiže da svaki mrežni uređaj (računar, server, radna stanica, interfejs rutera) koji je povezan na internet ima jedinstvenu adresu i može se lako identifikovati u celoj internet mreži, a isto tako sadrži kontrolne inforamacije koje omogućuju paketima da budu prosleđeni (rutirani) na osnovu poznatih IP adresa. Ovaj protokol je dokumentovan u RFC 791 i predstavlja sa TCP protokolom jezgro internet protokola, TCP/IP stek protokola (engl. Transmission Control Protocol/Internet Protocol).
IP ne zahteva prethodno upostavljanje veze u trenutku slanja podatka, već računar koji šalje podatke pokušava sve dok ne prosledi poruku (best effort) model, prenos podataka je relativno nepouzdan, što znači da nema gotovo nikave garancije da će poslati paket zaista i doći do odredišta nakon što je poslat. Sam paket u procesu prenosa se može promeniti, zbog različitih osnovnih prenosnih pravaca, može se dogoditi da segmenti ne stižu po redosledu, mogu se duplicirati ili potpuno izgubiti tokom prenosa. Ukoliko aplikacija zahteva pouzdanost, koriste se mehanizmi TCP protokla u sloju iznad samog IP protokola. TCP protokol je isto zadužen za definisanje redosleda paketa koji stižu (sekvence).
S obzirom da je sam koncept IP protokola oslobođen mehanizama koji osiguravaju pouzdanost, sam proces usmeravanja (rutiranja) paketa unutar mreže je relativno brz i jednostavan.
Internet protokol kao mrežni protokol
Protokol – termin koji koristimo, predstavlja konvenciju, standard ili set pravila koje treba poštovati da bi smo uspešno uspostavili i kontrolisali komunikaciju (razmenu podataka). Jednostavnije rečeno, protokoli predstavljaju pravila kojima su definisani sintaksa, semantika i sinhronizacija komunikacije. Nazivamo ih još mrežnim ili internet protokolima. Postoje različiti mrežni protokoli, pri čemu svaki ima posebno mesto i vrši svoju ulogu. Par koji sačinjavaju internet protokol IP i protokol za kontrolu prenosa TCP su najbitniji od mrežnih protokola i termin TCP/IP protokol stek označava skup najkorišćenijih od njih.
Funkcije
IP ima tri primarne funkcije:
Adresiranje (definiše način dodele internet adresa), internet moduli koriste adrese koje paketi nose u IP zaglavlju kako bi ih prosledili dalje ka destinaciji.
Rutiranje, određivanje putanje za prenos podataka sa jednog računara na drugi bez prethodnog uspostavljanja veze (engl. connectionless), po (engl. best-effort) modelu.
Fragmentaciju i ponovno sastavljanje paketa kada je potrebno kako bi se preneli kroz mrežu koja ima manji MTU (engl. maximum transmission unit).
Kako rade osnovni Internet protokoli
Internet se može intenzivno koristiti godinama bez znanja o tome kako on u stvari radi. Činjenica je da ovo znanje nije neophodno, osim nekome ko pravi programe za pristup Internetu. Ipak, interesantno je upoznati se s tim, posebno imajući u vidu to da su protokoli na kojima je zasnovan Internet (bar oni višeg nivoa) izuzetno jednostavni. Ponekad ovo znanje može imati i praktičnu primenu. Na primer, možete poslati e-mail i kad vam se mailer „zaglupi”.
Osnovni Internet protokoli su zasnovani na razmeni tekstualnih komandi i odgovora. To znači da su lako dostupni iz bilo kog programa za terminalsku emulaciju preko TCP/IP-a. Za primere u ovom tekstu koristićemo HyperTerminal, pošto dolazi uz svaki Windows (Start -> Programs -> Accessories -> Communications -> HyperTerminal). Programs -> Accessories -> Communications -> HyperTerminal). Accessories -> Communications -> HyperTerminal). Communications -> HyperTerminal). HyperTerminal). Ako ga slučajno nemate, sigurno ga možete instalirati.
HTTP
ajpoznatiji Internet protokol, HyperText Transfer Protocol, koji predstavlja kičmu celokupnog Weba, uobičajeno radi na portu 80.
Kada startujete HyperTerminal, tražiće vam ime i ikonu konekcije i ovde možete upisati bilo šta. Sledeći prozor je već bitan i u njemu morate izabrati opciju TCP/IP u meniju Connect Using. Kao Port Number unesite naravno 80, a kao Host Address, na primer, na primer… www.example.com. Još treba da u prozoru koji se otvara na File -> Properties Properties izaberete Settings pa ASCII Setup i da uključite Send line ends with line feeds i Echo typed characters locally.
Pošto ste sve ovo podesili, otkucajte:
GET / HTTP/1.1
Host: www.example.com
i pritisnite ’enter’ dvaput (pažnja: ne možete ispraviti greške u kucanju, a razmaci su bitni). Ukoliko ste sve tačno ukucali, trebalo bi da vam stigne Web stranica koja se nalazi na adresi www.example.com! Bilo koji browser ne radi ništa znatno složenije od ovoga. Za nove pokušaje kliknite na Call (dugme sa telefonom, treće sleva). Ukoliko vam zatreba neka druga stranica osim osnovne, nju zahtevate u prvoj liniji, posle znaka ’/’.
Može i obrnuto: posle istih podešavanja HyperTerminala, ostavite ga da osluškuje (Call -> Wait for a Call). Zatim uđite u Wait for a Call). Zatim uđite u Internet Explorer (ne bojte se, ovde ste zaštićeni od virusa) i idite na adresu http://localhost. Sada se prebacite na HyperTerminal i kucajte bilo šta – sav tekst će stizati Exploreru i biće interpretiran kao HTML! Naravno, možete kucati i HTML kodove (probajte na primer <h1>Naslov</h1>). Videćete takođe i zaglavlja koja Explorer inače šalje sajtovima, a HyperTerminal ih je vratio, što naravno pravi Web serveri ne čine. Kraj dokumenta označićete prekidom veze (dugme telefona sa podignutom slušalicom). Na ovaj način može se slati HTML i bilo kome drugom na Internetu – dovoljno je da za adresu unese vaš IP broj (koji lako možete saznati posetom www.whatismyip.com).
SMTP
Simple Mail Transfer Protocol je protokol za slanje elektronske pošte. Server na kojem se nalazi obično ima adresu koja počinje sa „smtp” (smtp.eunet.yu, smtp.verat.net), može mu se pristupiti samo iz lokala, a osluškuje na portu 25.
Za razliku od HTTP-a, SMTP je interaktivan pa rad s njim može podsetiti na rad u DOS-u. Takođe, ukoliko nešto pogrešno otkucate, samo ćete dobiti poruku o grešci i možete nastaviti dalje. Kada se povežete na svoj SMTP server, koristeći isti način kao kod primera www.example.com ali sa imenom servera i portom 25, pošto dobijete njegovu pozdravnu poruku, kucajte:
MAIL FROM: e-mail@posiljaoca.com
RCPT TO: e-mail@primaoca.com
DATA
Tekst poruke
Još teksta
.
Poruku završite tačkom koja stoji usamljena u redu. Prvu poruku možete poslati sami sebi i trebalo bi da stigne. Obratite pažnju na to da adresa pošiljaoca ne mora biti tačna (mada uglavnom mora biti neka moguća adresa). Autoru ovih redova je ovakvo slanje pošte u nekoliko navrata spaslo glavu – kada je neku poruku trebalo hitno poslati, a ovo je bio jedini način.
POP3
Post Office Protocol je, s druge strane, protokol za primanje elektronske pošte. Slično SMTP-u, imena njegovih servera najčešće počinju sa pop3, a obično je na portu 110. Kada se povežete na svoj server, kucajte:
USER korisničko_ime
PASS šifra
LIST
Kao odgovor na svaku od linija trebalo bi da dobijete +OK. Dobićete spisak poruka, pri čemu se prikazuje redni broj svake poruke praćen njenom dužinom u bajtovima. Poruke se preuzimaju komandom RETR praćenom rednim brojem poruke, a brišu se komandom DELE, takođe praćenom rednim brojem.
IRC
A sad, ono što su svi s nestrpljenjem čekali: Internet Relay Chat! Ovaj protokol obično koristi port 6666, 6667 ili sličan (ima tu nečega…). Naši najpopularniji IRC serveri Krstarica i Serbiancafe (irc.krstarica.com, irc.serbiancafe.com) koriste 6667. Kada se povežete na, recimo, Serbiancafe, kucajte:
USER korisničko_ime ime_hosta ime_servera
pravo_ime
NICK nadimak
JOIN #serbiancafe
Pozdraviće vas spisak korisnika, a zatim ćete biti zatrpani i tekstom koji oni kucaju. Poruke šaljete sa PRIVMSG ime_primaoca tekst_poruke, pri čemu ime_primaoca može biti ime kanala, recimo #serbiancafe. Prilikom registracije ne morate dati tačne podatke – USER a b c d bi trebalo da bude dovoljno.
• • •
I to je to. Kao što smo rekli, ovi protokoli su u suštini veoma jednostavni, ali i efikasni. Verovatno je ta jednostavnost jedan od ključnih razloga za njihovu raširenost – lako je napraviti programe koji ih koriste. Sve što jedan program treba da uradi jeste da se poveže s drugim kompjuterom, šalje i prima tekst.
Detaljniji opisi ovih protokola, sa svim komandama koje u ovom tekstu nismo objasnili, nalaze se u dokumentima poznatim kao RFC-ovi (Request for Comments – zahtev za komentarima). Jedna od adresa na kojima se RFC-ovi mogu naći jeste www.faqs.org/rfcs.
TCP IP protokoli
Ranih sedamdesetih godina nekoliko grupa širom sveta počelo je da se bavi problemom umrežavanja i kompatibilnosti aplikacija. Kocepte umrežavanja postavili su organizacije ITU-T, ISO, a pre svega projektanti mreže ARPANET (termin ARPA odnosi se na Advanced Research Projects Agency, organizaciju pod Ministarstvom odbrane SAD). Najveći napredak u oblasti standardizacije bila je odluka ARPA da implementira Transmision Control Protocol (TCP) i Internet protokol (IP) oko UNIX oprativnog sistema. Podjednako je važno i to što je Univerzitet Kalifornije Berkli izabran da distribuira TCP/IP kod, što je doprinelo da se on široko prihvati kako u univerzitetskom i istraživačkom okruženju, tako i u komercijalnom. Sve je to doprinelo da TCP/IP postane skup standardnih komunikacionih protokola za UNIX-bazirane računare, a mreža ARPANET je postala jezgro onoga što je danas poznat pod imenom mreža Internet.
Internet protokoli se mogu iskoristiti za komunikaciju bilo kog skupa povezanih mreža. Pogodni su za komunikaciju kako u okviru lokalnih mreža (LAN), tako i mreža šireg opsega (WAN). Skup Internet protokola uključuje ne samo protokole nižih slojeva (kao što su TCP i IP), nego i protokole za najčešće korišćene aplikacije kao što su elektronska pošta, prenos podataka i emulacija terminala za pristup udaljenim računarima.
Internet protokol (IP) je primarni protokol sloja mreže koji obezbeđuje deljenje i sastavljanje datagrama i izveštavanje o greškama. Rutiranje IP datagrama kroz mrežu zasnovano je na adresnoj šemi. IP adresa dužine 32 bita podeljena je na dva ili tri dela. Prvi deo predstavlja adresu mreže, drugi deo (ako postoji) određuje adresu podmreže, dok poslednji deo predstavlja adresu hosta. IP adresiranje podržava pet različitih klasa mreža.
Klasa A ima 7 bitova rezervisanih za adresu mreže čime jo omogućeno definisanje malog broja mreža sa velikim brojem hostova u njima.
Klasa B ima 14 bitova rezervisanih za adresu mreže i 16 bitova za adresu hostova.
Klasa C mreža ima 22 bita rezervisana za adresu mreže i 8 bitova za adresu hostova, čime je omogućeno definisanje vrlo velikog broja sa malim brojem hostova u njima.
Klasa D ima 4 bita najveće težine postavljene na vrednosti 1,1,1 i 0, i rezervisana
je za multikast grupe.
Klasa E ima sva 4 bita najveće težine postavljena na 1 i rezervisana je za buduću upotrebu.
Razmenu informacija između mreža sa IP protokolom obezbeđuju posebni uređaji – ruteri. Internet Control Message Protocol (ICMP) ima glavni zadatak da izveštava o greškama prilikom rutiranja, odnosno da pomogne efikasnije rytiranje. Internet sloj transporta implementiran je preko Transission Control protocol (TCP) i User datagram Protocol (UDP). TCP obezbeđuje dvosmerni servis sa potvrdom i upravljanjem toka prema slojevima višeg nivoa. Prenos podataka se obavlja u obliku kontinualnih nestrukturnih nizova podataka koji su identifikovani rednim brojevima. UDP je jedostavniji protokol od TCP i koristan je u situacijama kada mehanizmi pouzdanosti ugrađeni u TCP i nisu neophodni.
što se tiče odnosa između OSI referntnog modela i skupa Internet protokola, može se reći da OSI model predstavlja danas najistaknutiju arhitekturu računarskih mreža. Izuzetno je popularno sredstvo i za učenje o računarskim mrežama. Međutim, na OSI protokole se dugo čekalo, i oni još uvek nisu dostigli popularnost Internet protokola, koji predstavljaju de facto standarde zbog svoje rasprostranjenosti i velikog broja mreža koje čine sastavni deo globalne svetske mreže Internet. Međutim ove dve arhitekture imaju dosta dodirnih tačaka. Jedna od najvažnijih svakako je standardizacija na fizičkom i sloju linka što praktično znači da bez obzira za koju se arhitekturu korisnik odluči, prenosni medijumi, i komunikacioni protokoli na prva dva sloja ostaju isti. Obe arhitekture podržavaju podjednako i klasične i nove komunikacione tehnologije. Osim toga, sedmoslojna arhitektura koja je eksplicitno vezana za OSI model može se takođe primeniti i na Internet arhitekturu, a mrežni servisi na višim slojevima su gotovo identični. Zajedničku karakteristiku predstavlja i to da oba mrežna okruženja obezbeđuju kompletnu multivendorsku arhitekturu kao što je predviđeno koncepcijom otvorenih sistema i globalnih mreža uopšte. Najvažnije od svega je da postoje dogovori između ISO WG1 i IETF (Internet Engeineering Task Force) oko prevazilaženja tehničkih razlika na mrežnom i transportnom sloju, što će doprineti još bližem povezivanju ove dve arhitekture.
Za LAN mreže koje nisu povezane sa internetom rezervisan je set adresa:
<!–[if !supportLists]–>· <!–[endif]–>10.0.0.0 do 10.255.255.255.
<!–[if !supportLists]–>· <!–[endif]–>172.16.0.0. do 172.31.255.255.
192.168.0.0. do 192.168.255.255
Ovime se postiže da ukoliko dođe do povezivanja na Internet, ne dođe do konflikta sa adresama koje veććpostoje na mreži.
Prilikom dodeljivanja TCP/IP adrese, za opis host adrese ne koriste se brojevi 0 i 255. Broj 255 koristi se za tzv. broadcast saobraćaj (poruke koje se šalju svim hostovima). Broj 0 se koristi za računare koji ne znaju svoju pravu adresu