7.4.3. TCP / IP skup protokola |
TCP / IP model postavio je DoD (Department of Defense) - državna agencija u SAD zadužena za nacionalnu obranu, koji je kao otvoreni standard bio svima raspoloživ te se je kao takav brzo razvijao, te postao standardni Internet protokol. TCP / IP je skup protokola ili pravila razvijenih da omoguće korporacijskim računalima da dijele resurse preko mreže. Protokol obuhvaća skup pravila koja omogućavaju komunikaciju između dva HOST-a kroz mrežu. Osmišljen je 1973. godine a 1983. godine postaje univerzalni 'jezik' Interneta. Sadrži i nadzire sve aspekte komunikacije:
Protokoli pripremaju podatke po linearnoj osnovi. U predaji to bi bilo od gornjih slojeva prema donjima te obrnuto u prijemu. Svaki sloj ovisi o funkcioniranju sloja ispod njega, a da bi se to ostvarilo niži sloj koristi enkapsulaciju da bi prihvatio PDU (Protocol Dana Unit) višeg sloja. Svaki od slojeva unutar OSI modela ima neki oblik pakiranja podataka - enkapsulacija, i PDU je naziv za način pakiranja podataka u sloju pred propuštanje u naredni sloj. Enkapsulacijom se prihvaćenom PDU dodaje novo zaglavlje i završetak te time pravi novi PDU za naredni niži sloj. Svaki PDU ima svoje ime ovisno o sloju u kojem je kreiran (segment, packet, frame, bits). Dakle, računala međusobno komuniciraju kroz slojeve. Prilikom prijema podataka, pri prelasku PDU-a iz nižeg sloja u viši oduzimaju se pojedina dodana zaglavlja i taj proces naziva se dekapsulacija.
ISO (International Organization for Standardization) je istraživao mrežne modele kao DECNet, SNA, TCP / IP, NetWare i druge i postavio OSI (Open Systems Interconnect) model od 7 slojeva koji proizvođačima pomaže da naprave kompatibilne mreže. Na narednoj slici prikazano je kako TCP / IP skup protokola obrađuje podatke prilikom slanja s jednog računala na mrežu prema nekom drugom računalu u nekoj drugoj ili istoj mreži uz usporedbu s OSI modelom.
Slika* 7.4.6 Enkapsulacija podataka. |
Programska potpora (software) u APPLICATION sloju, koja interpretira podatke i prikazuju informacije ljudima u razumljivom obliku, koristi protokole za slanje i primanje podataka kroz Internet. Ako se želi poslati nekakva elektronička pošta, aplikacija dizajnirana u tu svrhu prvo će izvršiti pretvorbu 'ukucanih' znakova u BINARNE podatke po recimo 'ASCII' kodu. No to nije jedini servis koji se može pružiti korisniku, tu će biti recimo i WWW. U svrhu razmjene isporučuje se nižem sloju (TCP ili UDP protokolu) broj PORT-a po kojem osigurava da će podaci u odredištu doći odgovarajućem servisu koji 'zna' što će s njima. Kako servisu dolaze podaci iz različitih izvora mora se znati i IP adresa kome ili kamo su namijenjeni. No neki servisi u radu koriste ime računala i njegovu domenu (npr. marjan.split.hr) za komunikaciju i stoga se pomoću DNS (Domain Naming System) usluge prevode u IP adresu i obratno, a IP adresu će koristiti IP sloj.
Dakle, za prolaz iz najvišeg sloja prema nižim slojevima koristi se SOCKET, par PORT&IP, Port-ovi su prema IANA podijeljeni na:
Poznate (well-known) ; brojevi 0 - 1023
Registrirane ; brojevi 1024 - 49150
Privatne ; brojevi 49151 - 65535
Kako je odredištu važno da prepozna koja je usluga u pitanju, odredišni port je uvijek poznat i odnosi se na točno određenu uslugu definiranu od IANA, a za prijam se šalje dinamički generirani slobodni port, bili registrirani ili privatni. Kada se komunikacija između računala uspostavi uspostavljena su dva SOCKET-a koji formiraju jedinstvenu konekciju. Dakle, IP adresa upućuje na određeno računalo a PORT garantira prosljeđivanje podataka adekvatnoj programskoj potpori (software).
Kada se podaci proslijede prema nižem sloju, TRANSPORT sloju, TCP ili UDP protokoli razbijaju ih u manje dijelove, ako su preveliki; dijele ih u SEGMENTE. Kako nema garancije da će podijeljeni podaci doći u ispravnom redoslijedu koristi se mehanizam numeriranja (Sequence Number - SN) koji se pridružuje segmentu. Kako svi segmenti koji pristižu ne moraju biti vezani uz istu programsku potporu nužan je broj port-a i moguće je primati podatke za više aplikacija u nekom razdoblju; ne istovremeno nego dio po dio ali jednom za jednu aplikaciju a drugi put za drugu. Dakle u izvoru se određuje i odredišni (aplikacijski) i izvorni (pošiljateljev) port. Mehanizam numeriranja (SN) i potvrde prijama (ACK) koristi TCP protokol i stoga se za njega kaže da je 'pouzdan' dok UDP ne koristi ovaj mehanizam potvrde i spada u 'nepouzdane'. Stoga će se UDP koristit tamo gdje numeriranje segmenta nije od značaja. Zaglavlje koje TCP dodaje segmentu prikazano je u narednoj tablici.
16 | 32 | |||||||
Source port | Destination port | |||||||
Sequence number | ||||||||
Acknowledgement number | ||||||||
Offset | Resrvd | U | A | P | R | S | F | Window |
Checksum | Urgent pointer | |||||||
Option + Padding | ||||||||
Data | ||||||||
Struktura TCP zaglavlja u 32b redovima. |
UDP Zaglavlje je jednostavnije. Nema kontrole broja odaslanog segmenta niti broja zadnjeg ispravno primljenog, kao ni polja za uspostavu komunikacija i window polja, što ukazuje da je ovaj protokol namijenjen za brze razmjene malih podataka ili za slijed podataka (kao video) gdje gubitak nekog postotka bit-ova nije od značaja.
16 | 32 |
Source port | Destination port |
Length | Checksum |
Data | |
Struktura UDP zaglavlja u 32b redovima. |
Pripravljeni segment isporučuje se narednom nižem sloju, INTERNET sloj, koji pomoću IP protokola (routed protocol) segmentu dodaje svoje zaglavlje u kojem se nalazi izvorna IP adresa računala i odredišna IP adresa očitana od aplikacije. Tvori se jedinstvena cjelina koja se naziva PACKET ili DATAGRAM. IP adresa paketa služi mrežnim uređajima da pronađu najisplativiji ili neki drugi mogući put do odredišta koristeći za to svoje 'routing' protokole. Ovaj put može biti stalan kad su recimo u pitanju izravno povezane mreže preko unajmljenog voda (circuit switching) ili se dinamički mijenja ovisno o stanju mrežnih uređaja te paketi ne idu uvijek istim putem prema odredištu (packet switching) te ne moraju ni doći s ispravnim redoslijedom zbog različitog vremena putovanja. Upravo je zato važan SN. Kada su mrežni uređaju prema IP adresama pronašli korisnike koji će komunicirati, TCP pri operaciji numeriranja dogovara između izvora i odredišta ukupni broj paketa koji se može uzastopno poslati prije potvrde (window size). Ovo dogovaranje vrši se dinamički, što znači ako je veza dobra i paketi dolaze po ispravnom slijedu povećati će se vrijeme potvrde prijema s recimo dva primljena pakete na tri pa na četiri. U koliko paketi dolaze 'neuredno' ili se usput i 'gube' tražiti će se potvrda ili ponavljanje za svaki paket što usporava isporuku podataka. Zaglavlje koje IP dodaje paketu prikazano je u narednoj tablici.
4 | 8 | 16 | 32 | |||||
Ver. | IHL | Type of service | Total length | |||||
Identification | Flags | Offset | ||||||
Time to live | Protocol | Checksum | ||||||
Source address | ||||||||
Destination address | ||||||||
Option + Padding | ||||||||
Data | ||||||||
Struktura IP zaglavlja u 32b redovima. |
Osim IP protokola treći sloj koristi i ICMP protokol (Internet Control Message Protocol), tijesno integriran uz IP protokol, koji se u osnovi koristi za razmjenu poruka tijekom odvijanja mrežnih operacija. Podržava ECHO-funkciju koja šalje pakete između HOST-ova a koristi je recimo komanda PING. Koriste je i virusi (vrlo zgodno zar ne?). Opširnije o protokolima ...
Citiranje ove stranice: Radić, Drago. " Informatička abeceda " Split-Hrvatska. {Datum pristupa}; https://informatika.buzdo.com/datoteka. Copyright © by Drago Radić. Sva prava pridržana. | Odgovornost |