TCP/IP uvod u model:
Kao i kod izgradnje kuce ili stambene zgrade, do krucijalnog je znacaja da imamo neki plan, nacrt, blueprint, kako sve treba da izgleda, odakle poceti, koliko materijala je potrebno, znati kolika bi bila usteda kada bi koristili ovakav materijal a ne neki drugi, da li je on kvalitetniji, koji je omjer kvalitet/cijena i slicno, tako i u umrezavanju, nacrt ili plan mreze je jako vazan za njen optimalan rad, kvalitet i sigurnost.
Sta se ovde desilo? Web browser je poslao request gdje pita web server da mu posalje web stranicu koju on treba. Web server je konfigurisan tako da sve request paketi koji zatraze web stranicu, on mora odgovoriti na njih time sto ce vratiti file web stranice nazad do web browsera. Web browser ce primiti file, ucitati ga, izgraditi izgled stranice pomocu HTML, CSS, JS, i otvorit ce se web stranica koju je trazio unutar njegovog browsera.
IP nudi mnostvo mogucnosti, a najbitnije su adresiranje i rutiranje.
Svaki host koji koristi TCP/IP model mora imati unikatnu IP adresu da bi mogao biti identifikovan na mrezi.
IP koristi decimalnu notaciju (dotted-decimal notation DDN) da bi kreirao IPv4 adrese npr. 14.23.222.191
Ruteri su mrezni uredjaji koji povezuju dijelove TCP/IP mreze u svrhu rutiranja IP paketa do krajnje destinacije.
Kao i kod izgradnje kuce ili stambene zgrade, do krucijalnog je znacaja da imamo neki plan, nacrt, blueprint, kako sve treba da izgleda, odakle poceti, koliko materijala je potrebno, znati kolika bi bila usteda kada bi koristili ovakav materijal a ne neki drugi, da li je on kvalitetniji, koji je omjer kvalitet/cijena i slicno, tako i u umrezavanju, nacrt ili plan mreze je jako vazan za njen optimalan rad, kvalitet i sigurnost.
U ovom clanku, pricamo o baby vremenu TCP/IP mreze, koja tada, 90tih, nije bila rasprostranjena kao sada.
Historija koja dovodi do TCP/IP modela:
Svijet sada koristi iskljucivo TCP/IP model. Ne tako davno, proizvodjaci mrezne opreme proizvodili su i protokole, odnosno pravila u saobracaju njihovih hardverskih komponenti za mreze. Dakle, posto su proizvodili svoje komponente i kreirali svoj svijet mreza, tako su i ostali proizvodjaci koristili svoja pravila i svoje komponente. Na primjer, IBM je objavljivao svoj Systems Network Architecture (SNA) networking model 1974te godine. Ako je tvoja kompanija u to vrijeme kupila IBM opremu, mogla je komunicirati samo sa IBM mrezom. Nakon ovoga, javljaju se prvi problemi i komplikacije. Problem je nastao kada su se te razlicite mreze pokusale povezati kako bi mogle komunicirati. Rjesenje za ovakve probleme nastaje koristenjem jednog, globalnog, standarda, TCP/IP modela, koji bi povezao sve mreze, neovisno o proizvodjacu. Sada, koristeci TCP/IP model, proizvodjaci opreme, softvera, hardvera, kablova... koriste globalne standarde, odnosno protokole, koje definise IEEE organizacija. Svijet sada koristi iskljucivo TCP/IP model.
Iako su, donekle, takvi modeli radili dobro, imati neutralni model koji bi koristio cijeli svijet cinio se kao bolja ideja koja bi smanjila komplikacije i eliminisala takmicenje kod proizvodjaca.
Internetional Organization Standardization (ISO) je zelio da stvori takav model koji bi bio neutralan do svih proizvodjaca mrezne opreme. ISO je kreirao model pod nazivom Open Systems Interconnection (OSI), networking model, 1970tih godina. ISO je zelio da standardizuje protokole i omoguci komunikaciju izmedju racunara sa svih krajeva svijeta. US Department of Defense DoD je zelio da dodatno unaprijedi protokole i omoguci komunikaciju neovisnom od drugih vendora. TCP/IP je rodjen. Do kraja 1990ih, TCP/IP model pocinje da dominira mrezama sirom svijeta.
Uvod u TCP/IP model:
Da bi definisali TCP/IP protokol, koriste se Requests for Comments (RFC).
Kada koristimo TCP/IP model, sve je povezano, TCP/IP se infiltrirao u sve kompanije, racunare, telefone, kablove... Kada kupimo laptop, spojimo se na Wi-Fi, on radi, povezan je sa internetom. Kada kupimo telefon iz 2010te godine, povezemo se sa Wi-Fi, on radi, povezan je sa internetom. Kada kupimo stari racunar, spojimo se na ruter, imamo konekciju bez ikakvih problema jer svi ovi uredjaji koriste standardizovan model koji se koristi od 2000ih godina, i ranije.
TCP/IP aplikacijski sloj (application layer):
Nudi usluge aplikacijskim softverima, omogucava prenos podataka sa softverskog nivoa, u ovom sloju podaci se pripremaju za slanje preko TCP/IP mreze.
Aplikacijski sloj nije sama aplikacija, nego servisi koje aplikacija treba da bi uspjela slati i primati IP pakete. Aplikacijski sloj nudi vezu izmedju softvera koji radi na racunaru i mreze. Najpopularnija TCP/IP aplikacija je web browser.
Kako radi HTTP protokol:
Sta se ovde desilo? Web browser je poslao request gdje pita web server da mu posalje web stranicu koju on treba. Web server je konfigurisan tako da sve request paketi koji zatraze web stranicu, on mora odgovoriti na njih time sto ce vratiti file web stranice nazad do web browsera. Web browser ce primiti file, ucitati ga, izgraditi izgled stranice pomocu HTML, CSS, JS, i otvorit ce se web stranica koju je trazio unutar njegovog browsera.
HTTP Protokoli:
Da bi aplikacije napravile request i dobila response, koriste Hyper Text Transmission Protocol (HTTP) protokol. HTTP je izumljen od Tim Berners-Lee-a 1990tih godina. Na slici ispod, web browser trazi GET index.html stranicu od servera. Recimo da korisnik zeli da udje na stranicu Posao.ba, web browser bi generisao HTTP request i poslao ga na web server od Posao.ba. Server bi pregledao request i proslijedio pocetnu Posao.ba stranicu do web browsera. Ista situacija bi se ponovila kada bi korisnik ukucao "mrezni administrator" u search bar, web browser bi poslao HTTP GET request, daj mi sve poslove sa keywordom "Mrezni administrator", web server bi na nacin na koji je isprogramiran, filtrirao keyword, pronasao sve postove, spakovao u file i proslijedio web browseru.
TCP/IP transportni sloj (transport layer):
- Sadrži manji broj protokola.
- U transportnom sloju, dva protokola se najcesce koriste, ako nisu cak i jedini, a to su TCP i UDP.
- Protokoli transportnog sloja nude usluge protokolima iznad sebe, tj. protokolima aplikacijskog sloja.
- Sve izgubljene pakete TCP protokol salje ponovo. Nacin na koji zna koji paket je izgubljen je taj sto host prilikom redanja paketa primjecuje da redni broj X nedostaje. Nakon toga salje request web serveru da posalje paket sa rednim brojem X.
TCP Error Recovery:
Transportni sloj TCP/IP modela koristi TCP i UDP protokole. U primjeru iznad, koristi se TCP protokol koji garantira dostavljanje paketa do destinacije time sto koristi potvrdu (acknowledgement). Svaki paket je pod svojim rednim brojem (Sequence Number) i ukoliko jedan od njih fali na destinacijskom racunaru, on automatski salje serveru zahtjev da posalje taj paket koji nedostaje. UDP protokol transportnog sloja nema ovu mogucnost jer se UDP pretezno koristi za live video, stream, telefonske pozive preko IP adrese, video poziva i slicno, jer ne bi imalo logike da se traze zahtjevi za milisekundu koja nedostaje tokom poziva.
TCP/IP mrezni sloj (network layer):
TCP/IP mrezni sloj (network layer):
IP nudi mnostvo mogucnosti, a najbitnije su adresiranje i rutiranje.
Svaki host koji koristi TCP/IP model mora imati unikatnu IP adresu da bi mogao biti identifikovan na mrezi.
IP koristi decimalnu notaciju (dotted-decimal notation DDN) da bi kreirao IPv4 adrese npr. 14.23.222.191
Ruteri su mrezni uredjaji koji povezuju dijelove TCP/IP mreze u svrhu rutiranja IP paketa do krajnje destinacije.
Web server pocinje da salje IP paket. Proces odluke ovog servera govori mu da posalje paket do prvog gateway rutera sa nadom da taj ruter zna gdje da proslijedi paket. Web server je svoj posao odradio, ne mora vise nista da brine.
R1 prima paket i donosi odluku. R1 otvara paket i gleda u IP destinacijsku adresu (2.2.2.2), uporedjuje IP adresu sa adresama u svojoj tabeli za rutiranje i bira da proslijedi paket do R2. Ovaj proces proslijedjivanja IP paketa se naziva IP rutiranje (routing).
R2 ponavlja isti proces kao i R1, pregledava IP adresu, uporedjuje je sa svojom tabelom, pronalazi odgovarajuci put za paket i salje ga na odredjeni port.
R1 prima paket i donosi odluku. R1 otvara paket i gleda u IP destinacijsku adresu (2.2.2.2), uporedjuje IP adresu sa adresama u svojoj tabeli za rutiranje i bira da proslijedi paket do R2. Ovaj proces proslijedjivanja IP paketa se naziva IP rutiranje (routing).
R2 ponavlja isti proces kao i R1, pregledava IP adresu, uporedjuje je sa svojom tabelom, pronalazi odgovarajuci put za paket i salje ga na odredjeni port.
TCP/IP link layer (data link i physical layers):
TCP/IP link layer definise protokole i hardware koji je potreban da se dostavi data preko fizicke mreze (kablovi, optika, hub...)
Pojam "link" odnosi se na fizicke veze ili konekcije izmedju dva uredjaja te protokole koji se koriste da kontrolisu te veze ili konekcije.
Link layer takodjer nudi usluge sloju iznad njega.
Posto znamo da u TCP/IP originalnom modelu, link layer sadrzi data link layer i physical layer u novom TCP/IP modelu, data link predstavlja enkapsulaciju i adresiranje (MAC adrese) dok physical layer se bavi prenosom bitova. Dakle physical layer je najnizi sloj i to je sloj koji je zasluzan za prenos elektricnih signala dakle cijelog paketa kojeg smo do sad napravili, od podataka koji se salju, do porta na koji ide, do IP adrese na koju se salje, te MAC adrese uredjaja. Sve je to zapakovano u IP paket koji se salje putem elektricnih signala uz pomoc physical layera.
Pojam "link" odnosi se na fizicke veze ili konekcije izmedju dva uredjaja te protokole koji se koriste da kontrolisu te veze ili konekcije.
Link layer takodjer nudi usluge sloju iznad njega.
Posto znamo da u TCP/IP originalnom modelu, link layer sadrzi data link layer i physical layer u novom TCP/IP modelu, data link predstavlja enkapsulaciju i adresiranje (MAC adrese) dok physical layer se bavi prenosom bitova. Dakle physical layer je najnizi sloj i to je sloj koji je zasluzan za prenos elektricnih signala dakle cijelog paketa kojeg smo do sad napravili, od podataka koji se salju, do porta na koji ide, do IP adrese na koju se salje, te MAC adrese uredjaja. Sve je to zapakovano u IP paket koji se salje putem elektricnih signala uz pomoc physical layera.