SlideShare a Scribd company logo
1 of 42
VISOKA ŠKOLA „CEPS- CENTAR ZA POSLOVNE STUDIJE“ KISELJAK
Informacijske tehnologije
Informacijske tehnologije i sistemi
ELMIN DŽAFIĆ
ZAVRŠNI RAD:
KOMPARACIJA TCP I UDP
U Kiseljaku, 2023.godine
2
VISOKA ŠKOLA „CEPS-CENTAR ZA POSLOVNE STUDIJE“ KISELJAK
Informacijske tehnologije
Informacijske tehnologije i sistemi
ZAVRŠNI RAD:
KOMPARACIJA TCP I UDP
Mentor: Prof.VŠ Mladen Radivojević Student:Elmin Džafić
3
SADRŽAJ
1.SAŽETAK.....................................................................................................................................5
2.UVOD ...........................................................................................................................................6
2.ANALIZA TCP-a – PROTOKOLA KONTROLE PRIJENOSA.................................................7
2.1.TCP ili Protokol kontrole prijenosa .......................................................................................8
2.1.1.Historijski osvrt...............................................................................................................9
2.1.2.TCP logička veza ..........................................................................................................13
2.1.3.Uspostavljanje i prekid veze..........................................................................................16
2.1.4.Uspostavljanje TCP veze ..............................................................................................16
2.1.5.Struktura TCP segmenta................................................................................................17
2.2.TCP mehanizmi....................................................................................................................18
2.2.1.Kontrola toka.................................................................................................................18
2.2.2.Upravljanje zagušenjima...............................................................................................19
2.2.3.Kontrola greške .............................................................................................................19
3.ANALIZA UDP ILI KORISNIČKI DATAGRAM PROTOKOL .............................................22
3.1.Definicija - Što znači User Datagram Protocol (UDP)? ......................................................22
3.2.Techopedia objašnjava User Datagram Protocol (UDP)......................................................23
4
3.3.Kako UDP funkcionira?.......................................................................................................24
3.4.Zašto koristiti UDP?.............................................................................................................24
4.KOMPARACIJA TCP I UDP.....................................................................................................27
4.1.Usporedba karakteristika TCP i UDP protokola..................................................................29
4.2.Razumijevanje UDP i kako se razlikuje od TCP-a ..............................................................32
4.2.1.Je li UDP bolji od TCP-a?.............................................................................................32
4.2.2.UDP datagrami..............................................................................................................33
4.3.UDP vs TCP format zaglavlja..............................................................................................34
4.3.1.TCP zaglavlje ................................................................................................................34
4.4.Komparacija funkcija koje izvode TCP i UDP ....................................................................36
4.4.1.Funkcije koje izvodi TCP..............................................................................................36
4.4.2.Funkcije koje obavlja UDP ...........................................................................................37
4.5.Komparacija primjene TCP i UDP-a ...................................................................................38
4.5.1.Primjene TCP-a.............................................................................................................38
4.5.2.Primjene UDP-a ............................................................................................................39
ZAKLJUČAK ................................................................................................................................40
REFERENCE.................................................................................................................................41
5
1.SAŽETAK
Cilj ovog diplomskog rada bio je dublje analizirati i usporediti TCP i UDP protokole u pogledu
njihovih performansi, pouzdanosti, sigurnosti i primjene u različitim vrstama mrežnih aplikacija.
Za postizanje tog cilja, provedeno je opsežno eksperimentalno istraživanje na simuliranom
mrežnom okruženju, koristeći široko prihvaćene alate kao što su Wireshark, Iperf i Ping. Kroz
detaljnu analizu dobivenih rezultata, istraživanje je otkrilo značajne razlike između TCP i UDP
protokola u načinu prijenosa podataka, kao i u prednostima i nedostacima koje oba protokola nude.
TCP, kao pouzdan i orijentiran na vezu protokol, izdvaja se po svojoj sposobnosti garantiranja
isporuke svih paketa bez gubitka, duplikata ili pogrešnog redoslijeda. Ovo postiže kontrolom
zagušenja mreže i primjenom mehanizama kao što su potvrde primitka, retransmisije i kontrola
toka. Ipak, važno je napomenuti da TCP ima nešto veće kašnjenje, manju propusnost i veću
potrošnju resursa u usporedbi s UDP-om. Stoga se TCP najčešće koristi u aplikacijama koje
zahtijevaju visoku pouzdanost i integritet podataka, poput web preglednika, e-pošte, FTP-a i SSH-
a.
S druge strane, UDP je nepouzdan, orijentiran na datagrame protokol koji ne kontrolira zagušenje
mreže. Za razliku od TCP-a, UDP ne garantira isporuku svih paketa niti njihov redoslijed.
Međutim, UDP se ističe po manjem kašnjenju, većoj propusnosti i manjoj potrošnji resursa. Stoga
se UDP često koristi u aplikacijama koje zahtijevaju brzinu i efikasnost prijenosa podataka, kao što
su video i audio streaming, VoIP, online igre i DNS.
U zaključku, važno je naglasiti da TCP i UDP imaju svoje prednosti i nedostatke, te da izbor
protokola ovisi o specifičnim potrebama i karakteristikama aplikacije koja ga koristi. Svaki
protokol ima svoju svrhu i prilagođen je određenim scenarijima upotrebe. Ovo istraživanje
značajno doprinosi boljem razumijevanju transportnih protokola u internetu, a njegovi rezultati
mogu poslužiti kao temelj za daljnju optimizaciju i prilagodbu TCP i UDP protokola za različite
mrežne scenarije.
6
2.UVOD
Transmission Control Protocol (TCP) je jedan od ključnih protokola unutar skupa internetskih
protokola. Njegovo stvaranje seže u početne faze razvoja mrežnih implementacija, kada je bio
razvijen kako bi nadopunio internetski protokol (IP). Stoga se često koristi naziv TCP/IP kako bi
se obuhvatio cijeli paket protokola. TCP pruža pouzdanu, urednu i provjerenu isporuku niza okteta
(bajtova) između aplikacija koje se izvode na hostovima i komuniciraju putem IP mreže. Glavne
internetske aplikacije, kao što su World Wide Web, e-pošta, udaljena administracija i prijenos
datoteka, oslanjaju se na TCP, koji čini dio prijenosnog sloja TCP/IP paketa. Često se protokol
SSL/TLS koristi iznad TCP-a za dodatni sloj sigurnosti.
TCP je usmjeren na uspostavljanje veze između klijenta i poslužitelja prije slanja podataka. Prije
nego što se podaci pošalju, poslužitelj mora "osluškivati" (pasivno otvoren) zahtjeve za
povezivanjem od klijenata, nakon čega se veza uspostavlja. Trosmjerno rukovanje (aktivno
otvaranje), mehanizmi za ponovni prijenos i detekciju pogrešaka doprinose pouzdanosti
komunikacije, ali istovremeno povećavaju latenciju ili kašnjenje.
Ovaj TCP protokol se koristi u širokom spektru aplikacija, omogućavajući pouzdanu isporuku
podataka. TCP omogućuje kontrolu toka podataka, segmentaciju podataka u manje pakete,
numeriranje i potvrdu primitka paketa, kao i rukovanje s gubicima i ponovnim prijenosom paketa
kako bi se osigurala isporuka bez gubitaka ili duplikata. Sve ove značajke osiguravaju pouzdanost
i integritet podataka, ali također dovode do nešto dulje latencije u usporedbi s drugim protokolima.
Ukratko, TCP protokol pruža pouzdanu i uređenu isporuku podataka između aplikacija koje se
koriste na hostovima unutar IP mreže. Iako dodaje nešto više latencije zbog svog trosmjernog
rukovanja i mehanizama za ponovni prijenos, TCP je neizostavan u mnogim internetskim
aplikacijama koje zahtijevaju pouzdanost i integritet podataka.
7
2.ANALIZA TCP-a – PROTOKOLA KONTROLE PRIJENOSA
Postoje dvije osnovne vrste prometa u okviru internetskog protokola (IP) - TCP (Protokol kontrole
prijenosa) i UDP (Korisnički datagram protokol). TCP je orijentiran na vezu, što znači da se
uspostavlja veza između izvora i odredišta prije nego što se podaci mogu razmjenjivati. Ova veza
omogućava dvosmjernu komunikaciju i osigurava pouzdanu isporuku podataka. S druge strane,
UDP je jednostavniji protokol koji ne uspostavlja vezu prije slanja podataka. To znači da se poruke
ili podaci mogu slati kao paketi odvojeno i nezavisno jedan od drugog.
TCP se koristi za aplikacije koje zahtijevaju visoku razinu pouzdanosti i cjelovitosti podataka.
Kada se koristi TCP, podaci se prenose s pouzdanim potvrđivanjem primitka, mehanizmima za
kontrolu zagušenja i ponovnim prijenosom paketa u slučaju gubitka ili pogrešaka. To osigurava da
se svi podaci isporučuju u ispravnom redoslijedu bez gubitaka ili duplikata. Primjeri aplikacija koje
koriste TCP uključuju web preglednike, e-poštu, FTP (Protokol za prijenos datoteka) i SSH (Secure
Shell).
S druge strane, UDP je jednostavniji protokol koji pruža brži prijenos podataka bez mehanizama
za potvrdu primitka ili kontrolu zagušenja. UDP je pogodan za aplikacije koje zahtijevaju brzinu i
efikasnost prijenosa podataka, poput video i audio streaminga, VoIP (Voice over IP), online igara
i DNS (Domain Name System). Budući da UDP ne provjerava potvrdu primitka i ne kontrolira
zagušenje mreže, moguće je da neki paketi budu izgubljeni ili da dođe do pogrešnog redoslijeda
prijenosa. Međutim, za određene aplikacije brzina prijenosa podataka može biti važnija od
cjelovitosti ili potpune pouzdanosti.
Ukratko, TCP i UDP su različiti protokoli unutar IP-a s različitim karakteristikama i namjenama.
TCP se koristi za pouzdanu isporuku podataka s kontrolom zagušenja i potvrdom primitka, dok se
UDP koristi za brži prijenos podataka bez provjere potvrde ili kontrole zagušenja. Odabir između
TCP i UDP ovisi o specifičnim potrebama aplikacije i prioritiziranju pouzdanosti ili brzine
prijenosa..1
1
Tanenbaum A.: Računarske mreže, Prevod četvrtog izdanja, 2005, Mikroknjiga, Zagreb.str.121-125
8
2.1.TCP ili Protokol kontrole prijenosa
TCP je protokol za kontrolu prijenosa podatka, također je dio TCP/IP-a (Transmission Control
Protocol/Internet Protocol) koji je dio svakog računarskog sistema. Njegova je uloga malo
drugačija. Dok se IP brine za identifikaciju i vezu sa najvećom od svih mreža, TCP se brine o
razmjeni podataka sa mrežom, tako da pod njegovom kontrolom leže podprotokoli i usluge koje se
nalaze i na računaru korisnika i na serveru kojem pristupa. Među njima su FTP (file transfer
protocol), news, gopher, telnet i drugi servisi koji se mogu ostvarivati TCP-om.
Prva inačica protokola TCP (engl. Transmission Control Protocol) je predložena 1974. godine u
radu "A Protocol for Packet Network Intercommunication". Od tada pa do usvajanja protokolarnog
složaja TCP/IP u eksperimentalnoj mreži s komutacijom paketa ARPANET 1983. godine, koja je
spajala četiri američka sveučilišta i bila projekt agencije DARPA (engl. Defense Advanced
Research Projects Agency), TCP je prošao određene preinake. Standard protokola TCP je definiran
u RFC 793 od strane IETF-a te se on bazira na istraživanju protokola u mreži ARPANET. Još jedan
važni rad za projektiranje protokola TCP te samog Interneta je rad D. Clarka iz 1988. godine.2
U
tom radu autor pojašnjava da bi se sustav nepotrebno komplicirao postavljanjem prekomjerne
kontrole toka i upravljanja pogreškama na fizičkom sloju ili sloju podatkovne poveznice. Razlog
tomu je što se te funkcije u pravilu obavljaju na krajnjim točkama komunikacije te ih je logičnije
postaviti u transportni sloj. TCP je najčešće korišteni, spojno orijentirani protokol koji pruža
pouzdan transport struje okteta s kraja na kraj pomoću mehanizama potvrde i retransmisije uz
očuvan redoslijed segmenata i upravljanje zagušenjem u mreži. S obzirom da TCP pruža pouzdanu
uslugu on je pogodan za aplikacije kojima je važno da se svi podaci prenesu do primatelja u
poslanom obliku i redoslijedu dok samo vrijeme prijenosa nije toliko kritično. Za razliku od
protokola TCP, drugi jako poznati i često korišteni protokol transportnog sloja je UDP (engl User
Datagram Protocol) koji je pogodan za aplikacije koje se obavljaju u stvarnom vremenu gdje je
važnije da se podatci prenesu u krećem vremenu nego da se prenesu baš svi poslani podaci. TCP
2
Komar B.: Administracija TCP/IP mreže, 2004.str.44
9
ima sučelja prema aplikacijskom sloju koji se nalazi iznad njega te prema mrežnom sloju koji je
ispod njega. Aplikacija šalje podatke prema TCP-u u obliku struje okteta te je njegov zadatak
pripremiti podatke za slanje, uspostaviti vezu s odredištem te osigurati pouzdanost veze.
U sljedećem dijelu teksta su pobrojane i ukratko objašnjene sve funkcije protokola TCP:
Osnovni transport podataka: dvosmjerni prijenos kontinuiranog niza podataka pakiranjem okteta
podataka u segmente koje potom predaje protokolu IP (engl. Internet Protocol) na mrežnom
sloju.
Adresiranje i multipleksiranje: više aplikacija na istom računalu može istovremeno koristiti
protokol TCP uporabom dodatne informacije, tj. broja vrata (engl port number).
Pouzdanost: TCP ima sposobnost oporavka od gubitka, udvostručenja, pogrešnog redoslijeda i
pogreške u struji okteta jer dodjeljuje broj u nizu (engl sequence number) svakom oktetu koji
predaje i traži da prijamna strana potvrdi ispravan prijam.
Upravljanje tokom, tj. zagušenjem: svaka potvrda popraćena je informacijom o veličini prozora
koja naznačuje koliko okteta predajnik smije odaslati prijem prijema potvrde.
Upravljanje vezom: logička veza između procesa se uspostavlja prije, i raskida po obavljenoj
komunikaciji upotrebom posebnih statusnih podataka
Prioriteti i sigurnost: posebni zahtjevi koje specificiraju procesi, i to po potrebi i za pojedinačnu
vezu. Neke od ovih funkcija detaljnije su objašnjene u sljedećim potpoglavljima s obzirom da
su važne za sam protokol TCP i za razumijevanje simulacije.
Pouzdanost veze se osigurava pomoću sljedećih mehanizama: Zaštitne sume (engl. checksums):
svaki TCP segment ima svoju zaštitnu sumu pomoću koje prijamnik može detektirati pogrešku,
bilo u TCP zaglavlju ili u podacima. Detekcija dupliciranih podataka: u mrežama s komutacijom
paketa može doći do duplikacije paketa pri prijenosu, stoga TCP prati koje je oktete primio te
odbacuje kopije paketa koje je već primio Retransmisija: da bi protokol mogao garantirati
pouzdanost podataka mora imati mogućnost ponovnog slanja podataka koji su izgubljeni ili
primljeni s pogreškom. Označavanje niza (engl sequencing): s obzirom da je u mrežama s
komutacijom paketa velika vjerojatnost da paketi neće doći u redoslijedu kojim su odaslani, jedan
od zadataka protokola TCP je označavanje paketa te dostavljanje istih aplikaciji u pravilnom
redoslijedu. Brojila (engl. timers): TCP sadrži više vrsta brojila koja označuju vrijeme koje je
prošlo od odašiljanja podataka, ta ako u određenom vremenu nije dobivena potvrda za podatke oni
se smatraju izgubljenima.
2.1.1.Historijski osvrt
10
TCP je orijentiran na vezu, a veza između klijenta i poslužitelja uspostavlja se prije slanja podataka.
Poslužitelj mora osluškivati (pasivno otvoren) zahtjeve za povezivanje od klijenata prije nego što
se veza uspostavi. Trosmjerno rukovanje (aktivno otvaranje), ponovni prijenos i otkrivanje
pogrešaka povećavaju pouzdanost, ali produljuju latencije . Aplikacije koje ne zahtijevaju
pouzdanu uslugu protoka podataka mogu koristiti User Datagram Protocol (UDP), koji pruža
uslugu datagrama bez veze koja daje prednost vremenu u odnosu na pouzdanost. TCP koristi
izbjegavanje zagušenja mreže. Međutim, postoje ranjivosti TCP-a, uključujućiuskraćivanje usluge
, otmica veze, TCP veto i napad na poništavanje . U svibnju 1974. Vint Cerf i Bob Kahn opisali su
mrežni protokol za dijeljenje resursa korištenjem komutacije paketa među mrežnim čvorovima. [1]
Autori su radili s Gérardom Le Lannom na uključivanju koncepata iz francuskog projekta
CYCLADES u novu mrežu. Specifikacija rezultirajućeg protokola, RFC 675 ( Specification of
Internet Transmission Control Program ), napisali su Vint Cerf, Yogen Dalal i Carl Sunshine, a
objavljena je u prosincu 1974. Sadrži prvu potvrđenu upotrebu pojma internet, kao skraćenica za
internetwork.3
Središnja kontrolna komponenta ovog modela bio je Program kontrole prijenosa koji je uključivao
i veze orijentirane na vezu i usluge datagrama između hostova. Monolitni program kontrole
prijenosa kasnije je podijeljen na modularnu arhitekturu koja se sastoji od protokola za upravljanje
prijenosom i internetskog protokola . To je rezultiralo modelom umrežavanja koji je neformalno
postao poznat kao TCP/IP , iako se formalno na različite načine nazivao modelom Ministarstva
obrane (DOD) i ARPANET modelom, a na kraju i kao Internet Protocol Suite . Godine 2004. Vint
Cerf i Bob Kahn dobili su Turingovu nagradu za svoj temeljni rad na TCP/IP-u. Protokol kontrole
prijenosa pruža komunikacijsku uslugu na srednjoj razini između aplikacijskog programa i
internetskog protokola. Omogućuje povezivost host-to-host na transportnom sloju internetskog
modela . Aplikacija ne mora poznavati posebne mehanizme za slanje podataka putem veze na drugi
host, kao što je potrebna fragmentacija IP -a kako bi se prilagodila maksimalna jedinica prijenosa
3
Saghir M.: Internet-Based Teleoperation, Gorgia Institute of Technology, March 2001.str.44
11
medija za prijenos. Na transportnom sloju, TCP obrađuje sve detalje rukovanja i prijenosa i
predstavlja apstrakciju mrežne veze s aplikacijom obično putem sučelja mrežne utičnice.4
Pojednostavljeni TCP dijagram stanja. Pogledajte TCP EFSM dijagram za detaljniji dijagram
stanja uključujući stanja unutar ESTABLISHED stanja.
4
Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol (25.08.2022.)
12
TCP redni brojevi i prozori za primanje ponašaju se vrlo poput sata. Prozor za primanje se
pomiče svaki put kada primatelj primi i potvrdi novi segment podataka. Kada ponestane brojeva
sekvence, redni broj se vraća na 0.5
5
Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol (25.08.2022.)
13
2.1.2.TCP logička veza
TCP logička veza slika ispod prikazuje stvaranje logičke veze između procesa A i B na računalima
1 i 2. Uspostavljanjem logičke veze ne znači da će svi podaci koji pripadaju toj vezi kroz mrežu
putovati istim putem s obzirom se oni usmjeravaju pomoću protokola IP koji je bespojan.
Komparacija TCP logičke veze6
Krajnje točke komunikacije između procesa nazivaju se priključnicama (engl. socket) a veza
ostvarena putem njih asocijacija. Priključnica je definirana pomoću vrste transportnog protokola
(npr. TCP ili UDP), IP adrese odredišta (npr. 31.147163.16) i 16-bitnog broja, tj. broja vrata (npr.
80 za protokol HTTP). Uz TCP priključnice na isti način koristi i protokol UDP. Poslužitelju u
pravilu uslugu uvijek otvaraju na istim, dobro-poznatim vratima (engl. well-known ports), dok
klijenti za svaki proces koriste nova, nasumično odabrana vrata (koja nisu dobro-poznata). 5 Vrata
6
Kurose, Ross: Computer Networking - A Top-down Approach Featuring the Internet, 3rd Ed, Addison-Wesley.str.32
14
u rasponu od 0 do 1023 su znana kao dobro-poznata vrata. Ona su korištena od strane procesa koji
pružaju najkorištenije tipove mrežnih usluga. Nekoliko najpoznatijih TCP vrata, tj. najkorištenijih
usluga je dato je u tabeli ispod.
Primjeri nekoliko najpoznatijih vrata i usluga koje ih koriste
Vrata u rasponu od 1024 do 49151 su vrata registrirana od strane IANA (engl. Internet Assigned
Numbers Authority za određene usluge ali se mogu koristiti i za druge svrhe od strane korisnika.
Vrata u rasponu od 41952 do 65535 su dinamička ili privatna vrata koja ne mogu bit registrirana
te se koriste za privremene svrhe. Slika 1.2 Prikazuje primjer [5] uspostavljenih logičkih veza
između tri računala, označenih s A, B i C. Računalo A s IP adresom 152.22.41.55 ima pokrenuta
15
dva klijentska procesa na nasumično odabranim vratima 33522 i 33553 koji su spojeni logičkom
vezom na dva 6 procesa računala B. Računalo B predstavlja poslužitelja s IP adresom 195.53.11.5
s pokrenute dvije usluge na dobro-poznatim vratima, FTP na vratima 21 i HTTP na vratim 80.
Računalo C s IP adresom 3.5.23.2 predstavlja još jednog klijenta koji također ima otvorenu
asocijaciju prema FTP poslužitelju. Sve otvorene asocijacije u primjeru su:
- (tcp, 152.22.41.55, 33522)
- (tcp, 195.53.11.5, 21)
- (tcp, 152.22.41.55, 33553)
- (tcp, 195.53.11.5, 80)
- (tcp, 3.5.23.2, 22112)
- (tcp, 195.53.11.5, 21).
Primjer logičkih veza
16
2.1.3.Uspostavljanje i prekid veze
TCP pruža spojnu uslugu iznad mreže s komutacijom paketa. Ova spojna usluga omogućuje
stvaranje virtualne veze između dvije krajnje točke komunikacije, što znači da se podaci mogu
razmjenjivati između ta dva čvora. Važno je napomenuti da virtualna veza ne znači da će svi podaci
biti usmjereni istim putem kroz mrežu, već se mogu preusmjeravati i preko različitih putanja.
Proces uspostavljanja veze u TCP-u sastoji se od nekoliko koraka. Prvo, klijent inicira zahtjev za
uspostavom veze tako što šalje poseban paket poznat kao "sinhronizacijski zahtjev" (SYN)
poslužitelju. Poslužitelj potom prima SYN paket i odgovara s "sinhronizacijskim odgovorom"
(SYN-ACK) kako bi potvrdio primanje zahtjeva. Nakon toga, klijent šalje potvrdu (ACK)
poslužitelju kako bi potvrdio da je primio SYN-ACK odgovor. Kada se ova trostruka razmjena
SYN-SYN-ACK završi, veza se smatra uspostavljenom i podaci mogu početi putovati između
klijenta i poslužitelja.
Nakon uspostave veze, prijenos podataka može započeti. TCP segmentira podatke na manje
jedinice poznate kao "segmenti" prije slanja preko mreže. Svaki segment sadrži određeni broj
bajtova podataka i dodatne kontrolne informacije. Ti segmenti se potom šalju putem mreže prema
odredištu. TCP koristi algoritme za kontrolu zagušenja kako bi održavao ravnotežu između
propusnosti i pouzdanosti. Ovi algoritmi pomažu u sprečavanju preopterećenja mreže i osiguravaju
da se podaci isporučuju pravilno i u ispravnom redoslijedu..
2.1.4.Uspostavljanje TCP veze
Da bi dva proces mogla komunicirati pomoću protokola TCP prvo moraju uspostaviti vezu
razmjenjujući poruke na način koji prikazuje Slika 1.4, poznat i kao trostruko rukovanje (engl.
three-way handshake).
17
Uspostavljanje TCP veze7
2.1.5.Struktura TCP segmenta
TCP segment je jedinica podataka koja se koristi u TCP protokolu za prijenos informacija između
izvora i odredišta. Svaki TCP segment sastoji se od TCP zaglavlja i korisničkih podataka.
Zaglavlje TCP segmenta sadrži važne informacije potrebne za ispravan prijenos podataka. To
uključuje izvor i odredište porta, broj sekvence koji označava redoslijed podataka, potvrdni broj
koji potvrđuje primitak podataka, veličinu prozora koja regulira protok podataka te kontrolne
zastavice koje kontroliraju različite aspekte komunikacije. Ova polja u zaglavlju omogućuju
pouzdan i siguran prijenos podataka putem TCP-a.
Važno je napomenuti da veličina TCP segmenta, zajedno s zaglavljem, mora biti unutar granica
IP paketa. IP paket može nositi samo određenu količinu podataka, pa se ako je TCP segment
7
X. Zhen, K. Ato*, and W. Pingdong.: A Study on Bilateral Telecontrol of Networked Robot with Variable Time-
delay. In Proceeding on Fluid Power, Tsukuba 2005.str.32
18
prevelik, može podijeliti na manje dijelove, poznate kao fragmenti, koji se zatim prenose preko
mreže. Svaki fragment ima svoje IP zaglavlje koje sadrži informacije o fragmentu i omogućuje
pravilno usmjeravanje i sastavljanje podataka na odredištu.
TCP segmenti omogućuju pouzdanu komunikaciju putem TCP protokola. Zahvaljujući svojoj
spojnoj usluzi, TCP stvara virtualnu vezu između komunikacijskih čvorova, osiguravajući da
podaci budu isporučeni ispravno, bez gubitka, duplikata ili pogrešnog redoslijeda.
Ukratko, TCP segment je jedinica podataka koja se koristi u TCP protokolu za prijenos
informacija između izvora i odredišta. Sastoji se od zaglavlja s važnim informacijama i
korisničkih podataka. TCP segmenti omogućuju pouzdanu komunikaciju putem TCP protokola,
osiguravajući pravilnu isporuku podataka.
4 Struktura TCP segmenta
2.2.TCP mehanizmi
2.2.1.Kontrola toka
Kontrola toka je važna funkcionalnost koju TCP protokol pruža kako bi osigurao optimalan
prijenos podataka između pošiljatelja i primatelja. Uz pomoć mehanizma kontrole toka, primatelj
može upravljati brzinom kojom podaci pristižu od pošiljatelja, što je ključno za održavanje
ravnoteže i sprječavanje preopterećenja mreže.
Kada TCP primatelj primi podatke, on koristi potvrdnu poruku (ACK) kako bi obavijestio
pošiljatelja o pristiglim podacima. Uz to, potvrdna poruka također sadrži informaciju o preostalom
19
prostoru u primateljevom međuspremniku, što je poznato kao prozor (engl. window). Prozor
predstavlja količinu slobodnog prostora koju primatelj može primiti od pošiljatelja.
Protokol pomičnih prozora (sliding window) koristi se u TCP-u kako bi se kontrolirala količina
podataka koju TCP može poslati prije nego što primi potvrdu o njihovom primitku. Taj prozor ima
određenu veličinu izraženu u broju bitova ili okteta, i predstavlja granicu do koje pošiljatelj može
slati podatke bez čekanja na potvrdu.
Ovim protokolom, pošiljatelj zna koliko bitova je poslano, ali još uvijek nije potvrđeno od strane
primatelja. Kada se primi potvrda, prozor se "pomiče" prema naprijed, omogućavajući pošiljatelju
slanje novih podataka unutar prozora.
Korištenje protokola pomičnih prozora omogućuje optimalno iskorištavanje propusnosti mreže i
prilagodbu brzine prijenosa podataka. Na taj način se sprječava preopterećenje mreže ili gubitak
podataka zbog prevelikog opterećenja. Također, omogućuje prilagodbu brzine prijenosa na osnovu
trenutnih uvjeta mreže, kao što su kašnjenje i gubitak paketa.
2.2.2.Upravljanje zagušenjima
Upravljanje zagušenjem je ključni mehanizam koji TCP koristi kako bi se nosio s preopterećenjem
i zagušenjima u mreži. Zagušenje se događa kada promet u mreži doseže svoju maksimalnu
propusnost, što rezultira gubicima paketa, velikim redovima čekanja i smanjenjem performansi.
TCP primjenjuje nekoliko algoritama za upravljanje zagušenjem:
Spori početak (slow-start): Kada TCP započne slanje podataka, koristi se algoritam sporog početka.
Početno šalje samo jedan segment i postupno povećava broj segmenata koje šalje sve dok ne primi
potvrdu za svaki od njih. Ovaj pristup sprječava preveliko opterećenje mreže i omogućava
postupno povećanje brzine slanja.
20
Izbjegavanje zagušenja (congestion avoidance): Nakon spore faze početka, TCP prelazi na fazu
izbjegavanja zagušenja. U ovoj fazi, TCP prilagođava brzinu slanja podataka ovisno o stanju
mreže. Koristi se algoritam smanjenja prozora (eng. congestion window), koji kontrolira broj
segmenata koje TCP šalje prije nego primi potvrdu. Ako se detektira zagušenje, TCP smanjuje
brzinu slanja kako bi se izbjeglo daljnje zagušenje.
Brzo ponovno slanje (fast retransmit): Kada TCP primi potvrdu da je određeni segment izgubljen,
koristi se algoritam brzog ponovnog slanja. Umjesto čekanja isteka vremenskog ograničenja
(timeout) za ponovno slanje izgubljenog segmenta, TCP pretpostavlja da je segment izgubljen ako
primi potvrdu za sljedeći segment u redu. Tada TCP brzo ponovno šalje izgubljeni segment kako
bi se smanjio vremenski gubitak.
Brzi oporavak (fast recovery): Brzi oporavak je dodatni mehanizam koji se koristi samo u TCP
Reno varijanti. Nakon brzog ponovnog slanja, TCP Reno ne smanjuje svoju brzinu slanja kao što
to radi TCP s izbjegavanjem zagušenja. Umjesto toga, koristi se brzi oporavak kako bi se održala
veća brzina slanja, ali smanjuje se prozor za izbjegavanje daljnjeg zagušenja.
Ovi algoritmi omogućuju TCP-u da prilagodi brzinu slanja podataka u skladu s uvjetima mreže i
smanji zagušenje. Na taj način TCP osigurava učinkovitu i pouzdanu komunikaciju u prisutnosti
zagušenja u mreži.
2.2.3.Kontrola greške
TCP protokol, kao pouzdan protokol transportnog sloja, koristi različite metode za osiguranje
ispravnog i pouzdanog prijenosa podataka. Kontrola pogrešaka u TCP-u provodi se kroz tri
osnovne tehnike koje su detaljnije objašnjene u nastavku.
I. Provjera sume (checksum): Svaki TCP segment sadrži checksum polje koje se koristi za
pronalaženje oštećenih segmenata. Ova tehnika osigurava cjelovitost podataka tijekom prijenosa.
Prilikom primanja segmenta, odredište provjerava checksum vrijednost kako bi utvrdilo je li
segment oštećen. Ako checksum ne odgovara očekivanoj vrijednosti, segment se smatra oštećenim
i odbacuje se.
21
II. Potvrde (acknowledgment): TCP koristi mehanizam potvrda kako bi osigurao da su svi segmenti
ispravno primljeni. Nakon što primatelj uspješno primi segment, šalje potvrdu (ACK) pošiljatelju
kako bi ga obavijestio da je taj segment primljen. Ako pošiljatelj ne primi potvrdu za određeni
segment, smatra se da je segment izgubljen i ponovno ga šalje.
III. Retransmisija (ponovno slanje): Kada segment nedostaje ili je odgođeno njegovo slanje, TCP
koristi mehanizam retransmisije kako bi osigurao pouzdan prijenos. Ako pošiljatelj ne primi
potvrdu za određeni segment u određenom vremenskom intervalu, pretpostavlja se da je segment
izgubljen i ponovno ga šalje. Ovaj postupak osigurava da segmenti stignu na odredište čak i ako se
neki od njih izgube ili se isporuče izvan redoslijeda.
Korištenjem ovih tehnika, TCP osigurava pouzdanost i integritet podataka tijekom prijenosa. To je
od velike važnosti u aplikacijama kao što su prijenos datoteka, web pregledavanje, e-pošta i druge
aplikacije koje zahtijevaju visoku razinu pouzdanosti. Ove metode omogućuju TCP-u da otkrije
oštećene segmente, nedostajuće dijelove, segmente izvan redoslijeda i ponovljene segmente, čime
osigurava ispravnu i pouzdanu komunikaciju između pošiljatelja i primatelja.
2.2.3.1.Retransmisija
Retransmisija segmenata se pokreće na temelju kontrole greške. Svaki segment koji je stigao na
odredište sa greškom, izgubljen ili ponovljen u prijenosu se ponovo šalje. Retransmisiji su podložni
segmenti podataka i pojedini kontrolni segmenti, tj. oni koji zahtijevaju potvrdu isporuke. Segment
se ponovo šalje u dva slučaja: kad je vrijeme retransmisijskog brojila isteklo (eng. Retransmission
time-out, RTO) ili kada prijemnik primi tri duplicirana ACK segmenta. Kad god se pošalje
segment, TCP pokreće retransmisijsko brojilo ako potvrda prijema segmenta stigne prije nego što
vrijeme brojila istekne, brojilo se zaustavlja. Međutim, ako RTO vrijeme istekne prije nego što
stigne potvrda, odgovarajući segment se smatra izgubljenim i ponovo se šalje. RTO vrijednost
dinamički se konfigurira na osnovu procjene vremena prijenosa segmenta od predajnika do
prijemnika i nazad (eng. round trip time, RTT). RTT je vrijeme potrebno da segment stigne do
prijemnika plus vrijeme potrebno da se potvrda vrati nazad do predajnika. Prethodno pravilo za
22
retransmisiju je dovoljno ako RTO vrijeme nije postavljeno na malu vrijednost. Međutim, ponekad
se može dogoditi da predajnik prije isteka RTO vremena izgubljenog segmenta pošalje veći broj
slijedećih segmenata, toliko da sve njih prijemnik ne 18 može prihvati, zbog ograničenog prostora
u svom međuspremniku. Da bi se ovakva situacija izbjegla, primjenjuje se pravilo tri duplicirana
ACK-a, prema kojem predajnik bez obzira na RTO vrijeme koje još uvijek nije isteklo, ponovno
šalje segment nakon što primi tri dupla ACK segmenta.8
3.ANALIZA UDP ILI KORISNIČKI DATAGRAM PROTOKOL
3.1.Definicija - Što znači User Datagram Protocol (UDP)?
U računarskim mrežama, User Datagram Protocol ( UDP ) je jedan od osnovnih članova paketa
internetskih protokola. S UDP -om, računalne aplikacije mogu slati poruke, u ovom slučaju
nazvane datagramima, drugim hostovima na mreži internetskog protokola (IP). Prethodna
komunikacija nije potrebna za postavljanje komunikacijskih kanala ili staza podataka. UDP koristi
jednostavan komunikacijski model bez povezivanja s minimalnim protokolarnim mehanizmima.
UDP pruža kontrolne sume za integritet podataka i brojeve portova za adresiranje različitih funkcija
na izvoru i odredištu datagrama. Nema dijaloge za rukovanje i stoga izlaže korisnički program
nepouzdanosti osnovne mreže; nema garancije isporuke, naručivanja ili dvostruke zaštite. Ako su
potrebne mogućnosti ispravljanja grešaka na nivou mrežnog interfejsa, aplikacija može koristiti
protokol za kontrolu prenosa (TCP) ili protokol za prenos protoka za kontrolu protoka (SCTP) koji
su dizajnirani za tu svrhu. UDP je prikladan za svrhe u kojima provjera i ispravljanje grešaka ili
nisu potrebne ili se izvode u aplikaciji; UDP izbjegava dodatne troškove takve obrade u steku
protokola . Vremenski osjetljive aplikacije često koriste UDP jer je odbacivanje paketa bolje od
čekanja na odložene pakete zbog ponovnog prijenosa , što možda nije opcija u sistemu u stvarnom
vremenu. UDP je jednostavan protokol transportnog sloja orijentiran na poruku koji je
dokumentiran u RFC 768. Iako UDP pruža provjeru integriteta (putem kontrolne sume ) zaglavlja
i korisnog opterećenja, ne daje garancije protokolu gornjeg sloja za isporuku poruka, a UDP sloj
ne zadržava stanje UDP poruka nakon slanja. Iz tog razloga, UDP se ponekad naziva i Nepouzdan
datagram protocol. Ako se želi pouzdanost prijenosa, mora se implementirati u korisničku
8
M. S. Arslan: Improving Performance of a Remote Robotic Teleoperation over the Internet, Thesis, 2005.str.95
23
aplikaciju. Aplikacije mogu koristiti utičnice za datagram za uspostavljanje komunikacije između
računala. Aplikacija veže utičnicu za krajnju točku prijenosa podataka, što je kombinacija IP adrese
i porta. Na ovaj način UDP omogućava multipleksiranje aplikacija . Port je softverska struktura
koja je identificirana brojem porta, 16 -bitnom cijelom vrijednošću, koja omogućava brojeve
portova između 0 i 65535. Port 0 je rezerviran, ali je dopuštena vrijednost izvornog porta ako proces
slanja ne očekuje poruke u odgovor. Uprava za dodijeljene brojeve Interneta (IANA) podijelila je
brojeve portova u tri raspona.9
Brojevi portova od 0 do 1023 koriste se za uobičajene, dobro poznate usluge. Na operativnim
sistemima sličnim Unixu , za korištenje jednog od ovih portova potrebna je dozvola za rad
superkorisnika . Brojevi portova od 1024 do 49151 su registrirani portovi koji se koriste za usluge
koje je registrirala IANA. Portovi 49152 do 65535 su dinamički portovi koji nisu službeno određeni
za bilo koju određenu uslugu i mogu se koristiti u bilo koju svrhu. Oni se također mogu koristiti
kao efemerni portovi , koje softver pokrenut na hostu može koristiti za dinamičko stvaranje krajnjih
točaka komunikacije po potrebi.
3.2.Techopedia objašnjava User Datagram Protocol (UDP)
Protokol korisničkog datagrama (UDP) je protokol transportnog sloja u OSI modelu koji se koristi
u mrežnim aplikacijama klijent-poslužitelj. UDP koristi jednostavan model prijenosa bez dijaloga
za pouzdanost, redoslijed i integritet podataka. Nema provjere i ispravljanja pogrešaka te se
pretpostavlja da te funkcionalnosti nisu potrebne.
UDP se često koristi u aplikacijama poput videokonferencija i računalnih igara u stvarnom
vremenu. Protokol omogućuje odbacivanje pojedinih paketa i prihvaćanje UDP paketa u različitom
redoslijedu od slanja, što može poboljšati performanse u određenim scenarijima.
9
Sawashima H.:Characteristics of UDP Packet Loss: Effect of TCP Traffic.str.32
24
UDP promet je organiziran u obliku datagrama koji sadrže jednu poruku. Prvih osam bajtova
datagrama sadrže podatke zaglavlja, dok preostali bajtovi sadrže podatke samog sadržaja. Zaglavlje
UDP datagrama sastoji se od četiri polja, svako duljine dva bajta:
i. Broj priključka izvora - označava broj priključka s kojeg dolazi datagram.
ii. ii. Broj odredišnog porta - označava broj priključka na koji je datagram namijenjen.
iii. iii. Veličina datagrama - označava ukupan broj bajtova u datagramu, uključujući
zaglavlje i podatke.
iv. iv. Kontrolna suma - koristi se za provjeru integriteta podataka u datagramu.
Ovo su osnovne informacije o zaglavlju UDP datagrama i neophodni elementi za pravilan prijenos
podataka putem UDP protokola.
3.3.Kako UDP funkcionira?
UDP (Korisnički datagram protokol) je jednostavan transportni protokol u sklopu internetskog
protokolnog skupa (IP). Za razliku od TCP-a, UDP ne pruža napredne funkcionalnosti kao što su
kontrola toka, pouzdanost ili ponovno slanje podataka. UDP se fokusira na pružanje minimalnih
usluga transportnog sloja i omogućuje aplikacijama da komuniciraju izravno s udaljenim IP
adresama.
Programer koji se odluči koristiti UDP protokol za svoju aplikaciju stvara aplikaciju koja šalje
poruke izravno prema udaljenom IP-ju. UDP preuzima poruku iz te aplikacije i pridružuje joj
izvorni i odredišni broj porta za multipleksiranje i demultipleksiranje. Zatim dodaje nekoliko manje
važnih polja i šalje sve to na mrežu. Mreža zatim pakira tu poruku u IP datagram i nastoji je
dostaviti udaljenom poslužitelju, odnosno korisniku.
Ako poruka stigne do poslužitelja, UDP koristi broj porta IP poslužitelja i njegovu adresu kako bi
isporučio podatke aplikaciji koja je odredište. UDP jednostavno prenosi podatke u malim paketima
do željene aplikacije, bez složenih funkcionalnosti za kontrolu toka ili pouzdanost.
25
Stoga, UDP pruža minimalnu funkcionalnost koja je potrebna za transport podataka preko mreže,
a programerima daje veću fleksibilnost u implementaciji vlastitih mehanizama za kontrolu
podataka i prilagodbu komunikacije prema specifičnim potrebama aplikacije. UDP je često
preferiran u scenarijima u kojima je brzina i efikasnost važnija od potpunosti i pouzdanosti
prijenosa podataka, kao što su video i audio streaming, VoIP i online igre.
3.4.Zašto koristiti UDP?
UDP se preferira u nekim aplikacijama zbog sljedećih razloga:
Nema čekanja na uspostavu konekcije. Što znači da UDP prije nego počne slati podatke samo
pošalje te podatke bez ikakvih provjera i predprovjera. Kod njega nema čekanja na uspostavu veze,
što je vjerojatno jedan od glavnih razloga zašto DNS koristi UDP umjesto TCP-a, dok HTTP koristi
TCP protokol zato što je pozdanost ključna za web stranice s tekstom. (više o samom TCP-u u
idućem poglavlju)
Nema „stanja“ veze. To bi značilo da za razliku od TCP-a, koji održava vezu sa klijentima da bi
implementirao svoj sigurni prijenos podataka, UDP ne održava vezu i ne prati nijedan parametar
koji prati TCP. Zbog toga UDP može održavati više aktivnih klijenata od TCP-a.
Malo zaglavlje. TCP ima 20 bajtova zaglavlja u svakom dijelu, dok UDP ima samo 8 bajtova.
Neregulirana stopa slanja. TCP ima kontrolni mehanizam koji „guši“ vezu kada ima više od jedne
veze između primatelja i pošiljatelja. To zagušenje veze ima velik utjecaj na aplikacije koje stvari
obavljaju u realnom vremenu, zato što one mogu tolerirati određen gubitak podataka ali zahtjevaju
određenu brzinu primanja istih. Za razliku od TCP-a UDP šalje podatke onoliko brzo koliko ih
aplikacija stvara, jedini utjecaj na brzinu slanja ima brzina početne internet veze i hardverske
mogućnosti poslužitelja i korisnika (procesor, rami...).
Ovo sve znači da je ugrađena nezahtjevnost UDP-a vrlo korisna kod servera koji poslužuju puno
klijenata. Za razliku od TCP-a, UDP je kompatibilan sa slanjem podataka svima na lokalnoj mreži
i multikastingu (slanje svima određenima).
26
Struktura paketa u UDP-U
Struktura paketa u UDP-u II
27
4.KOMPARACIJA TCP I UDP
TCP i UDP su protokoli koji omogućuju prijenos podataka unutar mreže. Njihova najveća razlika,
a ujedno i razlog potrebe postojanja oba od njih, je potvrda, odnosno izostanak potvrde, primitka
poruke, te „održavanje“ veze između klijenta i poslužitelja.
Različiti zadaci, iziskuju i različit protokole, tako da prilikom programiranja, programer mora znati
koji od ovih dva je potrebno koristiti. Odluka je ponekad vrlo laka, a ponekad je potrebno razmotriti
prednosti i nedostatke ovih protokola, prvenstveno koliko će naša aplikacija biti „ugrožena“ ako
dođe do gubitka nekog dijela poruke, a s druge strane koliko će poslužitelj zbog uspostave same
veze putem TCP protokola biti „zatrpan“.10
Kako bi mogli donijeti odluku o korištenju određenog protokola, ali i razumjeti stvari koje se
događaju prilikom korištenja tih protokola, potrebno je razumjeti način funkcioniranja samih
protokola, a ovim seminarskim radom mislimo da smo uspjeli iznijeti ono najosnovnije ali i
najvažnije o TCP i UDP protokolima.
10
C.Hunt, "TCP/IP - Network Administration", O'Reilly & Associates, Inc., 1994.str.33
28
TCP UDP
TIJEK
PODATAKA:
Podatak se čita kao niz bajtova
bez indikatora gdje su granice
poruke
Paketi se šalju zasebno, a
njihov integritet se
provjerava samo kada
stignu. Paketi imaju
definisane granice koje se
uvažavaju pri prijemu, kako
bi se pri čitanju na
prijemnom socket moglo
provjeriti je li stigla izvorna
poruka.
ZNAČAJ: TCP treba tri paketa za uspostavu
socket veze, prije nego što se
pošalje bilo koji podatak. TCP
provjerava pouzdanost i
zagušenje.
UDP je manje zahtijevan.
Poruke ne idu slijedom, ne
prati se stanje veze itd.
SKRAĆENICA
ZA:
Transmission Control Protocol User Datagram Protocol or
Universal Datagram
Protocol
FUNKCIJA: Poruka se prenosi preko internet
od jednog do drugog računara po
vlastitom putu. Prijenos se
zasniva na uspostavljenoj vezi.
UDP se također koristi za
prijenos poruka. Ne temelji
se na uspostavljenoj vezi.
To znači da program može
poslati pakete drugom
programu i tu je kraj svih
odnosa.
POUZDANOST
PODATAKA:
Apsolutno je pouzdano da
primljeni podaci odgovaraju
poslanim podacima i da su u
istom redoslijedu.
Nema garancije da će
poruke ili poslani paketi
uopće stići.
Komparacija TCP i UDP u nekim segmentima
Izvor: Rad autora
29
TCP UDP
UPOTREBA: TCP koriste
aplikacije gdje
nije bitna brzina
UDP se koristi za igre i aplikacije koje
zahtijevaju brži prijenos podataka. Pogodan
je za servere koji odgovaraju na kratke upite
ogromnog broja klijenata.
KONTROLA
GREŠAKA:
TCP vrši
kontrolu grešaka
UDP ne vrši kontrolu grešaka
VELIČINA
ZAGLAVLJA:
TCP ima
zaglavlje 20 byte
UDP zaglavlje ima 8 byte
BRZINA PRIJENOSA: TCP je sporiji od
UDP
UDP je brži jer ne provjerava greške.
PRIMJERI: HTTP, HTTPs,
FTP, SMTP,
Telnet itd.
DNS, DHCP, TFTP, SNMP, RIP, VOIP
itd…
REDOSLIJED: TCP slaže pakete
po tačno
određenom redu
UDP ne slaže pakete po redu. Ako je
redoslijed bitan tada o njemu treba računa
voditi aplikacijski sloj.
Komparacija TCP i UDP u nekim segmentima II dio
Izvor: Rad autora
TCP je sigurniji i pouzdaniji. TCP protokol predstavlja jedan od najčesće korištenih transportnih
protokola Internera i lokalnih računarskih mreža. UDP protokol nasuprot TCP protokola ne
omogućava pouzdan prijenos podataka putem ostvativanja virtuelne veze, kontrole grešaka,
kontrole redoslijeda segmenata i ne prilagođava brzinu slanja podataka prijemnoj moći odredišta.
Nepouzdaniji ali brži.
4.1.Usporedba karakteristika TCP i UDP protokola
U prethodna dva dijela smo saznali osnovne karakteristike TCP i UDP protokola. Svaki od tih
protokola ima svoje prednosti i mane. Većina ljudi će pomisliti da UDP protokol i nije potreban
kada se TCP protokol brine o svemu i kada je puno sigurnije da će poslani podaci stići na odredište
ako o tome brine TCP protokol. No i UDP ima svojih prednosti. On se koristi u prijenosima
podataka u kojima nije toliko bitno da su baš svi paketi stigli na odredište. Npr. kod live streaming
televizijskih programa, VoIP – a (Voice over Internet Protocol), DNS – a (Domain Name Server)
30
itd. Sve prednosti i mane TCP –a i UDP – a kao i njihovu usporedbu najlakše ćemo vidjeti ako ih
posložimo u tablicu.
Usporedba karakteristika TCP i UDP protokola
(Izvor: TCP i UDP protokoli - Odjel za matematiku,
http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg)11
Kao što vidimo iz tablice TCP je pouzdan protokol, a UDP nepouzdan. Razlog tome je što kada
pošaljemo poruku putem TCP socketa sigurni smo da će ona stići na odredište, osim ako dođe do
potpunog prekida veze; ako server ne dobije dio poruke on će zatražiti od klijenta da mu ponovo
pošalje dio koji nije stigao i tako je osiguran integritet poruke. UDP ne brine o takvim stvarima.
On jednostavno šalje poruke i nakon što ih je poslao ne brine što se s njima događa.
Nadalje, vidimo da se TCP zasniva na pravoj vezi između klijenta i servera, a UDP nema vezu.
Kada se koristi UDP, klijent može primati poruke od bilo koga, dok kod TCP –a klijent može
primati poruke samo od servera s kojim je ostvarena konekcija (odnosno veza). 12
11
TCP i UDP protokoli - Odjel za matematiku, http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg
(20.08.2022.)
12
N.Rožić, "Informacije i komunikacije", NIP "Alinea", Zagreb, 1992.str.22
31
TCP protokol brine o redoslijedu kojim podaci dolaze na odredište. Ako pošaljemo neka dva
podatka jedan za drugim TCP nam osigurava da će oni tim istim redoslijedom stići na odredište jer
svaki podatak u zaglavlju ima pohranjen ID i redni broj i kada podaci stižu na odredište server
provjeri kojim bi redoslijedom trebali biti poslagani i tako ih procesuira. Kod UDP–a nikad ne
možemo biti sigurni hoće li podaci u pravilnom redoslijedu stići na odredište, no i to mi kao
programeri možemo zaobići jednostavno numerirajući podatke i provjeravajući na serveru jesu li
podaci došli u pravilnom redoslijedu.
Sada kad smo vidjeli usporedbu prednosti i mana TCP i UDP protokola možemo vidjeti i gdje se
koriste TCP, a gdje UDP protokoli.
Aplikacije u kojima se koriste TCP i UDP protokoli
(Izvor: TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm )13
Iz priložene tablice vidimo da se TCP protokol koristi kod aplikacija u kojima je bitna povratna
informacija. Npr. kod e-maila je bitno da server dobije povratnu informaciju je li klijent uspio
dobiti sve informacije koje je zatražio, pa ako klijent nije uspio dobiti sve informacije o e-mailu
13
TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm (20.08.2022.)
32
koji je htio pročitati server automatski šalje podatke koji nisu stigli klijentu. Isto tako je bitno kada
otvaramo neku stranicu u našem web browseru da nam se otvori cijela stranica, a ne samo neki
njeni dijelovi i upravo se o tome brine TCP. No, vidimo i da UDP ima jako široku primjenu. Npr.
kada bi u internet telefoniji za razmjenu podataka bio odgovoran TCP protokol i kada bi došlo do
gubitka nekog paketa server bi tražio od klijenta da ponovo pošalje taj paket što bi dovelo do velikih
nesrazmjera u vremenu slanja i primanja poruke. Zato je dobro da se o tome brine UDP jer on ne
radi takve provjere, a u ovom slučaju ako se i izgubi koji paket putem neće doći do većih problema
jer su paketi veoma mali pa će gubitci biti gotovo neprimjetni.
4.2.Razumijevanje UDP i kako se razlikuje od TCP-a
UDP (User Datagram Protocol) je jednostavan i nepouzdan protokol za transport podataka koji je
uveden 1980. godine. Koristi se kao alternativa TCP-u i temelji se na Internet protokolu (IP). UDP
je jedan od najstarijih mrežnih protokola koji i danas postoji.
UDP se razlikuje od TCP-a po tome što nema mehanizme za provjeru i ispravljanje pogrešaka u
prijenosu podataka. To znači da je UDP nepouzdan protokol u usporedbi s TCP-om. Međutim,
upravo ta jednostavnost i nedostatak provjere pogrešaka čine UDP pogodnim za određene vrste
aplikacija.
UDP se često koristi u aplikacijama koje zahtijevaju visoke performanse u realnom vremenu, poput
video konferencija i računalnih igara. U tim aplikacijama, brzina i niska latencija su ključni, dok
je manji gubitak podataka prihvatljiv. UDP omogućuje slanje paketa bez garancije njihove
isporuke, što rezultira manjim overheadom i manjim kašnjenjem. Također, UDP paketi mogu
stizati u različitom redoslijedu nego što su poslani, što je korisno u određenim situacijama.
Budući da UDP nema provjeru pogrešaka, koristi manje propusne širine u odnosu na TCP. To znači
da se manje podataka troši na kontrolne informacije, što omogućuje veću iskoristivost mrežnog
kanala.
Unatoč svojoj jednostavnosti i nedostatku pouzdanosti, UDP ima svoje specifične primjene i
prednosti u određenim scenarijima. Važno je pažljivo odabrati između UDP-a i TCP-a, ovisno o
potrebama aplikacije u pogledu performansi, pouzdanosti i karakteristika prijenosa podataka.
33
4.2.1.Je li UDP bolji od TCP-a?
UDP (User Datagram Protocol) i TCP (Transmission Control Protocol) su dva glavna
transportna protokola koji se koriste u mrežnoj komunikaciji. Oba protokola imaju svoje
prednosti i primjene, a odabir između njih ovisi o specifičnim potrebama i zahtjevima
aplikacije.
UDP omogućuje bržu brzinu prijenosa podataka u odnosu na TCP, ali nudi manje mehanizama
za pouzdanost i oporavak pogrešaka. To znači da UDP može biti prikladan za aplikacije koje
zahtijevaju nisku latenciju i brze prijenose podataka, poput on-line igranja, videochata i
glasovnih prijenosa. U tim scenarijima, manji gubitak podataka ili kašnjenje može biti
prihvatljivo jer korisnici obično ne primjećuju veliki gubitak kvalitete.
Mrežne igre često koriste UDP promet jer omogućuje neprekidnu igru čak i u slučaju gubitka
nekih paketa. Isto vrijedi i za streaming uživo, gdje se kontinuirani prijenos podataka smatra
važnijim od potpune točnosti i ispravljanja pogrešaka. Međutim, za prijenos datoteka UDP nije
idealan jer vam treba cijela datoteka kako biste je ispravno koristili, dok TCP osigurava
pouzdan prijenos datoteka s mehanizmima za kontrolu toka i oporavak pogrešaka.
Važno je napomenuti da i UDP i TCP djeluju na istom sloju 4 OSI modela i mogu se koristiti
s različitim uslugama. UDP se često koristi s protokolima poput TFTP (Trivial File Transfer
Protocol), RTSP (Real-Time Streaming Protocol) i DNS (Domain Name System). S druge
strane, TCP se često koristi u aplikacijama poput FTP-a (File Transfer Protocol) i SMTP-a
(Simple Mail Transfer Protocol) koje zahtijevaju pouzdan prijenos podataka.
U konačnici, odabir između UDP-a i TCP-a ovisi o potrebama aplikacije i prioritetima koje
želite postići u prijenosu podataka.
4.2.2.UDP datagrami
UDP promet koristi datagrame za prijenos podataka. Svaki datagram sadrži jednu poruku i sastoji
se od zaglavlja i stvarne poruke. Zaglavlje datagrama UDP sastoji se od prvih osam bajta, dok
ostatak datagrama sadrži podatke poruke.
Zaglavlje datagrama UDP uključuje sljedeće informacije, svaka predstavljena s dva bajta:
 Izvorni broj porta: Oznaka porta s kojeg dolazi UDP promet. Omogućuje različitim
aplikacijama održavanje vlastitih kanala za podatke.
 Broj porta odredišta: Oznaka porta na kojem je namijenjen UDP promet.
 Veličina datagrama: Ukupan broj bajtova u datagramu, uključujući i zaglavlja i podatkovne
sekcije. Ovo polje prati duljinu podataka promjenjive veličine.
34
 Kontrolna suma: Vrijednost checksum-a koja osigurava integritet podataka u datagramu.
Pošiljatelj izračunava checksum, a prijemnik ga koristi za provjeru ispravnosti podataka.
Valjani UDP brojevi porta kreću se od 0 do 65535. Veličina datagrama može varirati, ali ne prelazi
maksimalnu vrijednost od 65535 bajta.
Kontrolna suma UDP-a osigurava da se neovlaštene poruke prepoznaju. Ona predstavlja kodiranje
podataka datagrama koje pošiljatelj izračunava, a prijemnik kasnije provjerava. Ako se datagram
ošteti ili izgubi tijekom prijenosa, UDP protokol otkriva neslaganje u provjeri checksum-a.
UDP protokol, za razliku od TCP-a, ne pruža mehanizme pouzdanosti, potvrde primitka ili
ponovnog slanja podataka. Stoga se UDP često koristi u situacijama gdje je brza brzina prijenosa
podataka važnija od pouzdanosti i oporavka podataka, kao što su streaming videozapisa, igre na
mreži i IPTV.U UDP-u, checksumming je opcionalan, za razliku od TCP gdje su obvezni čekovi.14
4.3.UDP vs TCP format zaglavlja
4.3.1.TCP zaglavlje
Izvorna luka: Sadrži adresu izvornog porta segmenta podataka i veličine je 16 bita.
Odredišna luka: Sadrži adresu odredišnog porta i također je veličine 16 bita.
Redni broj: Veličina je 32 bita. Predstavlja sekvencijski broj segmenta podataka prvog okteta. Ako
je SYN dostupan, tada je vrijednost sekvencijskog broja ISN + 1, dok ISN označava početni
sekvencijski broj.
14
P. Pale i K. Skračić, Bilješke i predavanja u okviru predmeta "Računalna forenzika", Zagreb: Fakultet elektrotehnike
i računarstva, 2018.str.10
35
Broj potvrde: Veličina ovog polja je također 32 bita. Ovo polje sadrži redni broj sljedećeg segmenta
podataka koji izvorni kraj očekuje od prijamnika da stigne kao potvrda o primanju podatkovnog
paketa. Kada se uspostavi pravilna veza između izvora i odredišta, taj se bit uvijek prenosi.
Pomak podataka: Ovo je polje 4-bitne duljine. Ovo označava točku od koje podaci započinju.
Rezervirano: Neki su bitovi rezervirani za buduću svrhu, a vrijednost u ovom polju je nula. Dug je
6 bitova.
Zastave: Ovo je također od 6 bitova. U razne se svrhe koriste različite zastave. Prema prikladnosti,
zastava je postavljena na nulu ili jedan.
Veličina prozora: Veličina ovog polja je 16 bita. Ovo polje sadrži broj okteta podataka koji
započinje onim koji se prikazuje u polju s brojem potvrde, a pošiljatelj čeka primanje.
Kontrolna suma: Ovo je također veličine 16 bita. Kontrolna suma izračunava se za sve oktete
podataka cijelih segmenata podataka. Procjenjuje se kao nečija dopuna i opet kao nadopuna izlaza,
a zatim se i izlaz dodaje sadašnjem 16-bitnom zaglavlju i tekstualnim podacima okteta. Ishod se
također prenosi na sljedeći gornji sloj radi korekcija.
Hitni pokazivač: Ovo je polje veličine 16 bita. Ako je postavljena zastavica URG, samo se tada
izračunava ovo polje. Označava sekvencijski broj okteta podataka nakon hitnih podataka.
Opcije: Ovo je promjenjivo polje. To se može postaviti na početku bilo kojeg ruba okteta.
4.3.2.UDP zaglavlje
UDP zaglavlje ima samo 4 polja u usporedbi s TCP zaglavljem, a također je vrlo lako razumljivo
u usporedbi s TCP zaglavljem.
Izvorna luka: Ovo je duljina 16 bitova. Sadrži vrijednost izvornog porta koji koristi kraj izvora za
prijenos podatkovnog paketa. Raspon se kreće između 0 i 65535.
36
Odredišna luka: Veličina ovog polja je 16 bita. Sadrži broj porta koji odredišni domaćin očekuje
za primanje podataka.
Duljina: Ova veličina polja je 16 bita. Sastoji se od veličine dužine korisničkog datagrama,
zaglavlja i podataka.
Kontrolna suma: Ovo je također veličine 16 bita, ali ovo je neobavezno polje. Koristi se za
izračunavanje pogrešaka u datagramu. Ako je postavljeno na nulu, tada se kontrolna suma neće
izračunati, a ako je postavljena na jedan, tada će se izračunati.
UDP vs TCP format zaglavlja - komparacija15
4.4.Komparacija funkcija koje izvode TCP i UDP
4.4.1.Funkcije koje izvodi TCP
(i) Adresiranje i multipleksiranje:
15
G. Gledec i M. Mikuc, Bilješke i predavanja u okviru predmeta "Sigurnost u internetu", Zagreb: Fakultet
elektrotehnike i računarstva, 2018.str.10
37
TCP priključci koriste se za adresiranje različitih mrežnih procesa za aplikacije gornjeg sloja. To
također multipleksira podatke prikupljene raznim postupcima, a zatim emitira podatkovni paket u
suradnji s mrežnim pristupnim slojem.
(ii) Uspostaviti, održati i prekinuti veze:
U ovom se protokolu slijedi nekoliko skupova procesa i pravila za uspostavljanje veze između
izvora i kraja odredišta. Postoje protokoli i metode rukovanja koji se koriste za održavanje i
prepoznavanje tekućeg procesa komunikacije.
Na kraju se slijede i neka pravila za prekid veze nakon završetka komunikacije između izvora i
odredišta.
(iii) Pakiranje podataka:
Prije prosljeđivanja podatkovnih paketa višem sloju za komunikaciju, TCP prvo osigurava
postupak pakiranja podataka u format poruke za prijenos, a zatim dostavlja na kraj odredišta.
Na kraju odredišta, prijamnik dekodira i raspakira podatke te ih opet prosljeđuje aplikacijama
gornjeg sloja.
(iv) Odredbe Pouzdan način komunikacije i visoki QoS:
Nudi pouzdan način komunikacije između pošiljatelja i primatelja, a također osigurava visoku
kvalitetu usluge.
Mehanizmi koje TCP koristi za prijenos podataka slijede niz pravila koja osiguravaju pouzdanu
isporuku podataka, a također nude ponovni prijenos propuštenih podataka ili podataka izvan
redoslijeda. Različiti protokoli rukovanja koriste se kako bi se osigurala pouzdana komunikacija.16
4.4.2.Funkcije koje obavlja UDP
16
M. Radovan, Računalne mreže 2 Prijenos, mrežne usluge i zaštita. Rijeka: DPT, 2011.str.87
38
(i) Prijenos podataka s višeg sloja: UDP protokol prima podatke za prijenos s višeg sloja, a zatim
ih pretvara u UDP poruke, a zatim prenosi u UDP softver za komunikaciju.
(ii) UDP kapsulacija UDP poruke: UDP poruka ugrađena je u podatkovno polje. UDP zaglavlje
sastoji se od domena izvornog i odredišnog porta i također izračunava vrijednost kontrolne sume.
(iii) Poruka prenesena na sljedeći sloj: Nakon izračunavanja gornjih polja, UDP poruka se
prosljeđuje IP-u radi komunikacije. Na kraju odredišta postupak se vraća natrag.
4.5.Komparacija primjene TCP i UDP-a
4.5.1.Primjene TCP-a
TCP se koristi u raznim ključnim aplikacijama i scenarijima za siguran i pouzdan prijenos
podataka. Evo nekoliko primjera:
1. FTP (File Transfer Protocol): TCP se koristi u FTP-u za prijenos datoteka velikih podataka
između udaljenih hostova. TCP osigurava pouzdanu isporuku podataka i kontrolira tok
podataka tijekom prijenosa datoteka.
2. SMTP (Simple Mail Transfer Protocol): Proces e-pošte koristi TCP za slanje poruka e-pošte
i podataka između različitih hostova. TCP osigurava sigurnu i pouzdanu isporuku e-pošte
putem mreže.
3. POP (Post Office Protocol): POP također koristi TCP za oporavak ili preuzimanje poruka
e-pošte s poslužitelja. TCP omogućuje pouzdanu komunikaciju između korisničkog klijenta
i poslužitelja za preuzimanje e-pošte.
4. TELNET: TELNET protokol koristi TCP za sigurnu prijavu i pristup hostovima na
udaljenom ili udaljenom kraju. TCP osigurava pouzdanu i sigurnu vezu za upravljanje i
upravljanje udaljenim sustavima.
5. BGP (Border Gateway Protocol): BGP, koji se koristi u mrežnom rutingu, radi na TCP-u
kako bi osigurao pouzdanu komunikaciju i razmjenu ruting informacija između različitih
mrežnih čvorova. TCP osigurava pouzdanu isporuku ruting informacija putem širokog
područja mreže (WAN).
39
6. Vojne službe: TCP se često koristi u vojnim službama za razmjenu vrlo povjerljivih
podataka i informacija unutar njihovih internetskih djela. TCP pruža sigurnu i pouzdanu
komunikaciju potrebnu za takve osjetljive operacije.
U svim ovim primjerima TCP se koristi za osiguravanje pouzdane, sigurne i kontrolirane isporuke
podataka u aplikacijama koje zahtijevaju visoku razinu sigurnosti i integriteta podataka
4.5.2.Primjene UDP-a
UDP se često koristi u raznim scenarijima kako bi se omogućila brza i efikasna razmjena podataka.
Navedene su neke od popularnih primjena UDP-a:
1. Strujanje videozapisa i zvuka: UDP je čest izbor za strujanje videozapisa i zvuka putem
interneta. Brza brzina prijenosa podataka omogućava glatko gledanje ili slušanje sadržaja
u stvarnom vremenu. Gledanje TV-a u stvarnom vremenu na mobilnim telefonima, poznato
kao IPTV, sve je popularnija upotreba UDP-a u kojoj se osigurava brza i pouzdana isporuka
medijskog sadržaja.
2. Igranje video igara na mreži: UDP je široko korišten za mrežno igranje video igara. U ovom
kontekstu, brza brzina prijenosa podataka između igrača ključna je za osiguravanje niske
latencije i glatke igračke izvedbe. UDP omogućuje kontinuiranu isporuku podataka
igračima, čak i ako neki od paketa iz bilo kojeg razloga budu izgubljeni ili ispušteni, što je
važno za interaktivnost u realnom vremenu.
3. Tuneliranje i VPN mreže: UDP se također koristi u procesima tuneliranja i virtualnih
privatnih mreža (VPN) gdje se podaci šalju preko javne mreže. UDP omogućuje brz
prijenos podataka, a izgubljeni podaci se kasnije mogu oporaviti putem dodatnih
mehanizama kako bi se osigurala cjelovitost i pouzdanost komunikacije.
4. Emitiranje na LAN mreži: UDP se koristi za emitiranje podataka na lokalnoj mreži (LAN),
poput video ili audio sadržaja. Emitiranje omogućuje slanje podataka jednom izvoru koji
su dostupni svim korisnicima u mreži, a UDP je pogodan za tu vrstu komunikacije jer
omogućuje brz i jednostavan prijenos podataka svim primateljima.
40
Gledanje TV-a u stvarnom vremenu na mobilnim telefonima najnovija je popularna upotreba UDP-
a koja je također poznata i kao IPTV.17
ZAKLJUČAK
Na osnovu prethodno navedenog možemo izvesti neke od sljedećih zaključaka
Ključna razlika: TCP je skraćenica od Protokola kontrole prijenosa. To je pouzdani protokol
povezan s vezom koji je prisutan u transportnom sloju. IP označava internetski protokol. To je
protokol mrežnog sloja koji spaja manje i odgovoran je za slanje paketa na uređaje u mreži. Svijet
računala je vrlo zanimljiv, a posebno umrežavanje računala. On je revolucionirao cijeli koncept
komunikacije. Elementi računalne mreže međusobno komuniciraju i na taj način korisnicima
pružaju veliku raznolikost mogućnosti. Šaljemo e-mailove našim prijateljima, šaljemo im slike,
slušamo udaljeni radio kanal i još mnogo toga. Čini se da cjelokupno funkcioniranje mreže
besprijekorno funkcionira na jednostavnoj platformi. Međutim, iza ove jednostavne mreže, nalazi
se složeni sustav koji je pojednostavljen korištenjem različitih protokola. U rječniku računalne
mreže, protokoli su pravila, konvencije i strukture podataka koje upravljaju prijenosom podataka.
Ovi protokoli definiraju načine na koje računala i drugi mrežni uređaji mogu razmjenjivati
informacije putem mreže. Može se pojaviti očito pitanje Koja je potreba tih protokola? Odgovor
17
I. Minić, “Analiza ponašanja transportnog protokola TCP,” 09-Sep-2015. [Online]. Available:
https://www.fer.unizg.hr/_download/repository/TCPminic.pdf. (25.08.2022.)
41
na pitanje leži u heterogenom sustavu umrežavanja. Računala koja međusobno djeluju mogu se
razlikovati u različitim atributima kao što su hardver, specifikacije itd. Dakle, potrebno je unificirati
skup pravila koja treba slijediti širom svijeta, kako bi se prenijeli podaci između različitih tipova
računalnih sustava. Možemo jednostavno reći da je jezik računala da razgovaraju jedni s drugima.
TCP i IP su dva najpoznatija internetska protokola iz paketa komunikacijskih protokola. Protokoli
su smješteni u slojevitoj hijerarhiji. Kad god se poruka prosljeđuje od izvora do pošiljatelja, poruka
mora proći iz svakog sloja protokola. Danas, mrežni standardi koriste dva glavna protokola
poznatih po modelu otvorenog sustava (OSI) i TCP / IP modelu. OSI je arhitektura sa sedam
slojeva, dok se TCP / IP sastoji od četiri sloja. Sada ćemo dobiti detalje o TCP i IP protokolima.
REFERENCE
1. C.Hunt, "TCP/IP - Network Administration", O'Reilly & Associates, Inc., 1994.
2. I. Minić, “Analiza ponašanja transportnog protokola TCP,” 09-Sep-2015. [Online].
Available: https://www.fer.unizg.hr/_download/repository/TCPminic.pdf. (25.08.2022.)
3. Komar B.: Administracija TCP/IP mreže, 2004.
4. Kurose, Ross: Computer Networking - A Top-down Approach Featuring the Internet, 3rd
Ed, Addison-Wesley.
5. G. Gledec i M. Mikuc, Bilješke i predavanja u okviru predmeta "Sigurnost u internetu",
Zagreb: Fakultet elektrotehnike i računarstva, 2018.
6. M. Radovan, Računalne mreže 2 Prijenos, mrežne usluge i zaštita. Rijeka: DPT, 2011.
7. M. S. Arslan: Improving Performance of a Remote Robotic Teleoperation over the Internet,
Thesis, 2005.
8. N.Rožić, "Informacije i komunikacije", NIP "Alinea", Zagreb, 1992.
9. P. Pale i K. Skračić, Bilješke i predavanja u okviru predmeta "Računalna forenzika",
Zagreb: Fakultet elektrotehnike i računarstva, 2018.
42
10. Saghir M.: Internet-Based Teleoperation, Gorgia Institute of Technology, March 2001.
11. Sawashima H.:Characteristics of UDP Packet Loss: Effect of TCP Traffic.
12. Tanenbaum A.: Računarske mreže, Prevod četvrtog izdanja, 2005, Mikroknjiga, Zagreb.
13. TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm (20.08.2022.)
14. TCP i UDP protokoli - Odjel za matematiku,
http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg (20.08.2022.)
15. Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol
(25.08.2022.)
16. X. Zhen, K. Ato*, and W. Pingdong.: A Study on Bilateral Telecontrol of Networked Robot
with Variable Time-delay. In Proceeding on Fluid Power, Tsukuba 2005

More Related Content

Similar to Komparacija-TCP-i-UDP-Elminv1.docx

Mehanizmi razmjene poruka ostvareni preko RPCa
Mehanizmi razmjene poruka ostvareni preko RPCaMehanizmi razmjene poruka ostvareni preko RPCa
Mehanizmi razmjene poruka ostvareni preko RPCaDamir Delija
 
White paper - Cloud Server, Cloud Data centar i njhova primjena
White paper - Cloud Server, Cloud Data centar i njhova primjenaWhite paper - Cloud Server, Cloud Data centar i njhova primjena
White paper - Cloud Server, Cloud Data centar i njhova primjenaHrvatski Telekom
 
01 TCloud usluge u oblaku na hrvatskom trzistu
01 TCloud usluge u oblaku na hrvatskom trzistu01 TCloud usluge u oblaku na hrvatskom trzistu
01 TCloud usluge u oblaku na hrvatskom trzistuMoja Rijeka
 
Javne konzultacije o mrežnoj neutralnosti
Javne konzultacije o mrežnoj neutralnostiJavne konzultacije o mrežnoj neutralnosti
Javne konzultacije o mrežnoj neutralnostiTe Zombix
 
Firewall-realizacija na MicroTIK routeru
Firewall-realizacija na MicroTIK routeruFirewall-realizacija na MicroTIK routeru
Firewall-realizacija na MicroTIK routeruAldina Bajraktarevic
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Webnposcic
 
cloud computing završni
cloud computing završnicloud computing završni
cloud computing završniTomislav Pejić
 
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...Moja Rijeka
 
Protokol za pokretanje_sesije
Protokol za pokretanje_sesijeProtokol za pokretanje_sesije
Protokol za pokretanje_sesijehej_ti
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaHrvatski Telekom
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudDubravko Marak
 

Similar to Komparacija-TCP-i-UDP-Elminv1.docx (19)

Mehanizmi razmjene poruka ostvareni preko RPCa
Mehanizmi razmjene poruka ostvareni preko RPCaMehanizmi razmjene poruka ostvareni preko RPCa
Mehanizmi razmjene poruka ostvareni preko RPCa
 
Tru64-Mreza
Tru64-MrezaTru64-Mreza
Tru64-Mreza
 
Računalna mreža
Računalna mrežaRačunalna mreža
Računalna mreža
 
White paper - Cloud Server, Cloud Data centar i njhova primjena
White paper - Cloud Server, Cloud Data centar i njhova primjenaWhite paper - Cloud Server, Cloud Data centar i njhova primjena
White paper - Cloud Server, Cloud Data centar i njhova primjena
 
01 TCloud usluge u oblaku na hrvatskom trzistu
01 TCloud usluge u oblaku na hrvatskom trzistu01 TCloud usluge u oblaku na hrvatskom trzistu
01 TCloud usluge u oblaku na hrvatskom trzistu
 
AQM MEHANIZMI
AQM MEHANIZMIAQM MEHANIZMI
AQM MEHANIZMI
 
JavaCro'15 - WebRTC in PBZ video chat - Zoran Perak
JavaCro'15 - WebRTC in PBZ video chat - Zoran PerakJavaCro'15 - WebRTC in PBZ video chat - Zoran Perak
JavaCro'15 - WebRTC in PBZ video chat - Zoran Perak
 
Http protokol
Http protokolHttp protokol
Http protokol
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
Javne konzultacije o mrežnoj neutralnosti
Javne konzultacije o mrežnoj neutralnostiJavne konzultacije o mrežnoj neutralnosti
Javne konzultacije o mrežnoj neutralnosti
 
Firewall-realizacija na MicroTIK routeru
Firewall-realizacija na MicroTIK routeruFirewall-realizacija na MicroTIK routeru
Firewall-realizacija na MicroTIK routeru
 
World Wide Web
World Wide WebWorld Wide Web
World Wide Web
 
cloud computing završni
cloud computing završnicloud computing završni
cloud computing završni
 
E-mail protokol
E-mail protokolE-mail protokol
E-mail protokol
 
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...
06 Primjer povezivanja vjetroelektrana i pripadajuce trafostanice radijskim s...
 
Protokol za pokretanje_sesije
Protokol za pokretanje_sesijeProtokol za pokretanje_sesije
Protokol za pokretanje_sesije
 
MTA-testiranje
MTA-testiranjeMTA-testiranje
MTA-testiranje
 
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog TelekomaWhite paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
White paper - Migracija IT rješenja u Cloud Hrvatskog Telekoma
 
Kako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloudKako pretvoriti server_sobu_u_cloud
Kako pretvoriti server_sobu_u_cloud
 

Komparacija-TCP-i-UDP-Elminv1.docx

  • 1. VISOKA ŠKOLA „CEPS- CENTAR ZA POSLOVNE STUDIJE“ KISELJAK Informacijske tehnologije Informacijske tehnologije i sistemi ELMIN DŽAFIĆ ZAVRŠNI RAD: KOMPARACIJA TCP I UDP U Kiseljaku, 2023.godine
  • 2. 2 VISOKA ŠKOLA „CEPS-CENTAR ZA POSLOVNE STUDIJE“ KISELJAK Informacijske tehnologije Informacijske tehnologije i sistemi ZAVRŠNI RAD: KOMPARACIJA TCP I UDP Mentor: Prof.VŠ Mladen Radivojević Student:Elmin Džafić
  • 3. 3 SADRŽAJ 1.SAŽETAK.....................................................................................................................................5 2.UVOD ...........................................................................................................................................6 2.ANALIZA TCP-a – PROTOKOLA KONTROLE PRIJENOSA.................................................7 2.1.TCP ili Protokol kontrole prijenosa .......................................................................................8 2.1.1.Historijski osvrt...............................................................................................................9 2.1.2.TCP logička veza ..........................................................................................................13 2.1.3.Uspostavljanje i prekid veze..........................................................................................16 2.1.4.Uspostavljanje TCP veze ..............................................................................................16 2.1.5.Struktura TCP segmenta................................................................................................17 2.2.TCP mehanizmi....................................................................................................................18 2.2.1.Kontrola toka.................................................................................................................18 2.2.2.Upravljanje zagušenjima...............................................................................................19 2.2.3.Kontrola greške .............................................................................................................19 3.ANALIZA UDP ILI KORISNIČKI DATAGRAM PROTOKOL .............................................22 3.1.Definicija - Što znači User Datagram Protocol (UDP)? ......................................................22 3.2.Techopedia objašnjava User Datagram Protocol (UDP)......................................................23
  • 4. 4 3.3.Kako UDP funkcionira?.......................................................................................................24 3.4.Zašto koristiti UDP?.............................................................................................................24 4.KOMPARACIJA TCP I UDP.....................................................................................................27 4.1.Usporedba karakteristika TCP i UDP protokola..................................................................29 4.2.Razumijevanje UDP i kako se razlikuje od TCP-a ..............................................................32 4.2.1.Je li UDP bolji od TCP-a?.............................................................................................32 4.2.2.UDP datagrami..............................................................................................................33 4.3.UDP vs TCP format zaglavlja..............................................................................................34 4.3.1.TCP zaglavlje ................................................................................................................34 4.4.Komparacija funkcija koje izvode TCP i UDP ....................................................................36 4.4.1.Funkcije koje izvodi TCP..............................................................................................36 4.4.2.Funkcije koje obavlja UDP ...........................................................................................37 4.5.Komparacija primjene TCP i UDP-a ...................................................................................38 4.5.1.Primjene TCP-a.............................................................................................................38 4.5.2.Primjene UDP-a ............................................................................................................39 ZAKLJUČAK ................................................................................................................................40 REFERENCE.................................................................................................................................41
  • 5. 5 1.SAŽETAK Cilj ovog diplomskog rada bio je dublje analizirati i usporediti TCP i UDP protokole u pogledu njihovih performansi, pouzdanosti, sigurnosti i primjene u različitim vrstama mrežnih aplikacija. Za postizanje tog cilja, provedeno je opsežno eksperimentalno istraživanje na simuliranom mrežnom okruženju, koristeći široko prihvaćene alate kao što su Wireshark, Iperf i Ping. Kroz detaljnu analizu dobivenih rezultata, istraživanje je otkrilo značajne razlike između TCP i UDP protokola u načinu prijenosa podataka, kao i u prednostima i nedostacima koje oba protokola nude. TCP, kao pouzdan i orijentiran na vezu protokol, izdvaja se po svojoj sposobnosti garantiranja isporuke svih paketa bez gubitka, duplikata ili pogrešnog redoslijeda. Ovo postiže kontrolom zagušenja mreže i primjenom mehanizama kao što su potvrde primitka, retransmisije i kontrola toka. Ipak, važno je napomenuti da TCP ima nešto veće kašnjenje, manju propusnost i veću potrošnju resursa u usporedbi s UDP-om. Stoga se TCP najčešće koristi u aplikacijama koje zahtijevaju visoku pouzdanost i integritet podataka, poput web preglednika, e-pošte, FTP-a i SSH- a. S druge strane, UDP je nepouzdan, orijentiran na datagrame protokol koji ne kontrolira zagušenje mreže. Za razliku od TCP-a, UDP ne garantira isporuku svih paketa niti njihov redoslijed. Međutim, UDP se ističe po manjem kašnjenju, većoj propusnosti i manjoj potrošnji resursa. Stoga se UDP često koristi u aplikacijama koje zahtijevaju brzinu i efikasnost prijenosa podataka, kao što su video i audio streaming, VoIP, online igre i DNS. U zaključku, važno je naglasiti da TCP i UDP imaju svoje prednosti i nedostatke, te da izbor protokola ovisi o specifičnim potrebama i karakteristikama aplikacije koja ga koristi. Svaki protokol ima svoju svrhu i prilagođen je određenim scenarijima upotrebe. Ovo istraživanje značajno doprinosi boljem razumijevanju transportnih protokola u internetu, a njegovi rezultati mogu poslužiti kao temelj za daljnju optimizaciju i prilagodbu TCP i UDP protokola za različite mrežne scenarije.
  • 6. 6 2.UVOD Transmission Control Protocol (TCP) je jedan od ključnih protokola unutar skupa internetskih protokola. Njegovo stvaranje seže u početne faze razvoja mrežnih implementacija, kada je bio razvijen kako bi nadopunio internetski protokol (IP). Stoga se često koristi naziv TCP/IP kako bi se obuhvatio cijeli paket protokola. TCP pruža pouzdanu, urednu i provjerenu isporuku niza okteta (bajtova) između aplikacija koje se izvode na hostovima i komuniciraju putem IP mreže. Glavne internetske aplikacije, kao što su World Wide Web, e-pošta, udaljena administracija i prijenos datoteka, oslanjaju se na TCP, koji čini dio prijenosnog sloja TCP/IP paketa. Često se protokol SSL/TLS koristi iznad TCP-a za dodatni sloj sigurnosti. TCP je usmjeren na uspostavljanje veze između klijenta i poslužitelja prije slanja podataka. Prije nego što se podaci pošalju, poslužitelj mora "osluškivati" (pasivno otvoren) zahtjeve za povezivanjem od klijenata, nakon čega se veza uspostavlja. Trosmjerno rukovanje (aktivno otvaranje), mehanizmi za ponovni prijenos i detekciju pogrešaka doprinose pouzdanosti komunikacije, ali istovremeno povećavaju latenciju ili kašnjenje. Ovaj TCP protokol se koristi u širokom spektru aplikacija, omogućavajući pouzdanu isporuku podataka. TCP omogućuje kontrolu toka podataka, segmentaciju podataka u manje pakete, numeriranje i potvrdu primitka paketa, kao i rukovanje s gubicima i ponovnim prijenosom paketa kako bi se osigurala isporuka bez gubitaka ili duplikata. Sve ove značajke osiguravaju pouzdanost i integritet podataka, ali također dovode do nešto dulje latencije u usporedbi s drugim protokolima. Ukratko, TCP protokol pruža pouzdanu i uređenu isporuku podataka između aplikacija koje se koriste na hostovima unutar IP mreže. Iako dodaje nešto više latencije zbog svog trosmjernog rukovanja i mehanizama za ponovni prijenos, TCP je neizostavan u mnogim internetskim aplikacijama koje zahtijevaju pouzdanost i integritet podataka.
  • 7. 7 2.ANALIZA TCP-a – PROTOKOLA KONTROLE PRIJENOSA Postoje dvije osnovne vrste prometa u okviru internetskog protokola (IP) - TCP (Protokol kontrole prijenosa) i UDP (Korisnički datagram protokol). TCP je orijentiran na vezu, što znači da se uspostavlja veza između izvora i odredišta prije nego što se podaci mogu razmjenjivati. Ova veza omogućava dvosmjernu komunikaciju i osigurava pouzdanu isporuku podataka. S druge strane, UDP je jednostavniji protokol koji ne uspostavlja vezu prije slanja podataka. To znači da se poruke ili podaci mogu slati kao paketi odvojeno i nezavisno jedan od drugog. TCP se koristi za aplikacije koje zahtijevaju visoku razinu pouzdanosti i cjelovitosti podataka. Kada se koristi TCP, podaci se prenose s pouzdanim potvrđivanjem primitka, mehanizmima za kontrolu zagušenja i ponovnim prijenosom paketa u slučaju gubitka ili pogrešaka. To osigurava da se svi podaci isporučuju u ispravnom redoslijedu bez gubitaka ili duplikata. Primjeri aplikacija koje koriste TCP uključuju web preglednike, e-poštu, FTP (Protokol za prijenos datoteka) i SSH (Secure Shell). S druge strane, UDP je jednostavniji protokol koji pruža brži prijenos podataka bez mehanizama za potvrdu primitka ili kontrolu zagušenja. UDP je pogodan za aplikacije koje zahtijevaju brzinu i efikasnost prijenosa podataka, poput video i audio streaminga, VoIP (Voice over IP), online igara i DNS (Domain Name System). Budući da UDP ne provjerava potvrdu primitka i ne kontrolira zagušenje mreže, moguće je da neki paketi budu izgubljeni ili da dođe do pogrešnog redoslijeda prijenosa. Međutim, za određene aplikacije brzina prijenosa podataka može biti važnija od cjelovitosti ili potpune pouzdanosti. Ukratko, TCP i UDP su različiti protokoli unutar IP-a s različitim karakteristikama i namjenama. TCP se koristi za pouzdanu isporuku podataka s kontrolom zagušenja i potvrdom primitka, dok se UDP koristi za brži prijenos podataka bez provjere potvrde ili kontrole zagušenja. Odabir između TCP i UDP ovisi o specifičnim potrebama aplikacije i prioritiziranju pouzdanosti ili brzine prijenosa..1 1 Tanenbaum A.: Računarske mreže, Prevod četvrtog izdanja, 2005, Mikroknjiga, Zagreb.str.121-125
  • 8. 8 2.1.TCP ili Protokol kontrole prijenosa TCP je protokol za kontrolu prijenosa podatka, također je dio TCP/IP-a (Transmission Control Protocol/Internet Protocol) koji je dio svakog računarskog sistema. Njegova je uloga malo drugačija. Dok se IP brine za identifikaciju i vezu sa najvećom od svih mreža, TCP se brine o razmjeni podataka sa mrežom, tako da pod njegovom kontrolom leže podprotokoli i usluge koje se nalaze i na računaru korisnika i na serveru kojem pristupa. Među njima su FTP (file transfer protocol), news, gopher, telnet i drugi servisi koji se mogu ostvarivati TCP-om. Prva inačica protokola TCP (engl. Transmission Control Protocol) je predložena 1974. godine u radu "A Protocol for Packet Network Intercommunication". Od tada pa do usvajanja protokolarnog složaja TCP/IP u eksperimentalnoj mreži s komutacijom paketa ARPANET 1983. godine, koja je spajala četiri američka sveučilišta i bila projekt agencije DARPA (engl. Defense Advanced Research Projects Agency), TCP je prošao određene preinake. Standard protokola TCP je definiran u RFC 793 od strane IETF-a te se on bazira na istraživanju protokola u mreži ARPANET. Još jedan važni rad za projektiranje protokola TCP te samog Interneta je rad D. Clarka iz 1988. godine.2 U tom radu autor pojašnjava da bi se sustav nepotrebno komplicirao postavljanjem prekomjerne kontrole toka i upravljanja pogreškama na fizičkom sloju ili sloju podatkovne poveznice. Razlog tomu je što se te funkcije u pravilu obavljaju na krajnjim točkama komunikacije te ih je logičnije postaviti u transportni sloj. TCP je najčešće korišteni, spojno orijentirani protokol koji pruža pouzdan transport struje okteta s kraja na kraj pomoću mehanizama potvrde i retransmisije uz očuvan redoslijed segmenata i upravljanje zagušenjem u mreži. S obzirom da TCP pruža pouzdanu uslugu on je pogodan za aplikacije kojima je važno da se svi podaci prenesu do primatelja u poslanom obliku i redoslijedu dok samo vrijeme prijenosa nije toliko kritično. Za razliku od protokola TCP, drugi jako poznati i često korišteni protokol transportnog sloja je UDP (engl User Datagram Protocol) koji je pogodan za aplikacije koje se obavljaju u stvarnom vremenu gdje je važnije da se podatci prenesu u krećem vremenu nego da se prenesu baš svi poslani podaci. TCP 2 Komar B.: Administracija TCP/IP mreže, 2004.str.44
  • 9. 9 ima sučelja prema aplikacijskom sloju koji se nalazi iznad njega te prema mrežnom sloju koji je ispod njega. Aplikacija šalje podatke prema TCP-u u obliku struje okteta te je njegov zadatak pripremiti podatke za slanje, uspostaviti vezu s odredištem te osigurati pouzdanost veze. U sljedećem dijelu teksta su pobrojane i ukratko objašnjene sve funkcije protokola TCP: Osnovni transport podataka: dvosmjerni prijenos kontinuiranog niza podataka pakiranjem okteta podataka u segmente koje potom predaje protokolu IP (engl. Internet Protocol) na mrežnom sloju. Adresiranje i multipleksiranje: više aplikacija na istom računalu može istovremeno koristiti protokol TCP uporabom dodatne informacije, tj. broja vrata (engl port number). Pouzdanost: TCP ima sposobnost oporavka od gubitka, udvostručenja, pogrešnog redoslijeda i pogreške u struji okteta jer dodjeljuje broj u nizu (engl sequence number) svakom oktetu koji predaje i traži da prijamna strana potvrdi ispravan prijam. Upravljanje tokom, tj. zagušenjem: svaka potvrda popraćena je informacijom o veličini prozora koja naznačuje koliko okteta predajnik smije odaslati prijem prijema potvrde. Upravljanje vezom: logička veza između procesa se uspostavlja prije, i raskida po obavljenoj komunikaciji upotrebom posebnih statusnih podataka Prioriteti i sigurnost: posebni zahtjevi koje specificiraju procesi, i to po potrebi i za pojedinačnu vezu. Neke od ovih funkcija detaljnije su objašnjene u sljedećim potpoglavljima s obzirom da su važne za sam protokol TCP i za razumijevanje simulacije. Pouzdanost veze se osigurava pomoću sljedećih mehanizama: Zaštitne sume (engl. checksums): svaki TCP segment ima svoju zaštitnu sumu pomoću koje prijamnik može detektirati pogrešku, bilo u TCP zaglavlju ili u podacima. Detekcija dupliciranih podataka: u mrežama s komutacijom paketa može doći do duplikacije paketa pri prijenosu, stoga TCP prati koje je oktete primio te odbacuje kopije paketa koje je već primio Retransmisija: da bi protokol mogao garantirati pouzdanost podataka mora imati mogućnost ponovnog slanja podataka koji su izgubljeni ili primljeni s pogreškom. Označavanje niza (engl sequencing): s obzirom da je u mrežama s komutacijom paketa velika vjerojatnost da paketi neće doći u redoslijedu kojim su odaslani, jedan od zadataka protokola TCP je označavanje paketa te dostavljanje istih aplikaciji u pravilnom redoslijedu. Brojila (engl. timers): TCP sadrži više vrsta brojila koja označuju vrijeme koje je prošlo od odašiljanja podataka, ta ako u određenom vremenu nije dobivena potvrda za podatke oni se smatraju izgubljenima. 2.1.1.Historijski osvrt
  • 10. 10 TCP je orijentiran na vezu, a veza između klijenta i poslužitelja uspostavlja se prije slanja podataka. Poslužitelj mora osluškivati (pasivno otvoren) zahtjeve za povezivanje od klijenata prije nego što se veza uspostavi. Trosmjerno rukovanje (aktivno otvaranje), ponovni prijenos i otkrivanje pogrešaka povećavaju pouzdanost, ali produljuju latencije . Aplikacije koje ne zahtijevaju pouzdanu uslugu protoka podataka mogu koristiti User Datagram Protocol (UDP), koji pruža uslugu datagrama bez veze koja daje prednost vremenu u odnosu na pouzdanost. TCP koristi izbjegavanje zagušenja mreže. Međutim, postoje ranjivosti TCP-a, uključujućiuskraćivanje usluge , otmica veze, TCP veto i napad na poništavanje . U svibnju 1974. Vint Cerf i Bob Kahn opisali su mrežni protokol za dijeljenje resursa korištenjem komutacije paketa među mrežnim čvorovima. [1] Autori su radili s Gérardom Le Lannom na uključivanju koncepata iz francuskog projekta CYCLADES u novu mrežu. Specifikacija rezultirajućeg protokola, RFC 675 ( Specification of Internet Transmission Control Program ), napisali su Vint Cerf, Yogen Dalal i Carl Sunshine, a objavljena je u prosincu 1974. Sadrži prvu potvrđenu upotrebu pojma internet, kao skraćenica za internetwork.3 Središnja kontrolna komponenta ovog modela bio je Program kontrole prijenosa koji je uključivao i veze orijentirane na vezu i usluge datagrama između hostova. Monolitni program kontrole prijenosa kasnije je podijeljen na modularnu arhitekturu koja se sastoji od protokola za upravljanje prijenosom i internetskog protokola . To je rezultiralo modelom umrežavanja koji je neformalno postao poznat kao TCP/IP , iako se formalno na različite načine nazivao modelom Ministarstva obrane (DOD) i ARPANET modelom, a na kraju i kao Internet Protocol Suite . Godine 2004. Vint Cerf i Bob Kahn dobili su Turingovu nagradu za svoj temeljni rad na TCP/IP-u. Protokol kontrole prijenosa pruža komunikacijsku uslugu na srednjoj razini između aplikacijskog programa i internetskog protokola. Omogućuje povezivost host-to-host na transportnom sloju internetskog modela . Aplikacija ne mora poznavati posebne mehanizme za slanje podataka putem veze na drugi host, kao što je potrebna fragmentacija IP -a kako bi se prilagodila maksimalna jedinica prijenosa 3 Saghir M.: Internet-Based Teleoperation, Gorgia Institute of Technology, March 2001.str.44
  • 11. 11 medija za prijenos. Na transportnom sloju, TCP obrađuje sve detalje rukovanja i prijenosa i predstavlja apstrakciju mrežne veze s aplikacijom obično putem sučelja mrežne utičnice.4 Pojednostavljeni TCP dijagram stanja. Pogledajte TCP EFSM dijagram za detaljniji dijagram stanja uključujući stanja unutar ESTABLISHED stanja. 4 Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol (25.08.2022.)
  • 12. 12 TCP redni brojevi i prozori za primanje ponašaju se vrlo poput sata. Prozor za primanje se pomiče svaki put kada primatelj primi i potvrdi novi segment podataka. Kada ponestane brojeva sekvence, redni broj se vraća na 0.5 5 Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol (25.08.2022.)
  • 13. 13 2.1.2.TCP logička veza TCP logička veza slika ispod prikazuje stvaranje logičke veze između procesa A i B na računalima 1 i 2. Uspostavljanjem logičke veze ne znači da će svi podaci koji pripadaju toj vezi kroz mrežu putovati istim putem s obzirom se oni usmjeravaju pomoću protokola IP koji je bespojan. Komparacija TCP logičke veze6 Krajnje točke komunikacije između procesa nazivaju se priključnicama (engl. socket) a veza ostvarena putem njih asocijacija. Priključnica je definirana pomoću vrste transportnog protokola (npr. TCP ili UDP), IP adrese odredišta (npr. 31.147163.16) i 16-bitnog broja, tj. broja vrata (npr. 80 za protokol HTTP). Uz TCP priključnice na isti način koristi i protokol UDP. Poslužitelju u pravilu uslugu uvijek otvaraju na istim, dobro-poznatim vratima (engl. well-known ports), dok klijenti za svaki proces koriste nova, nasumično odabrana vrata (koja nisu dobro-poznata). 5 Vrata 6 Kurose, Ross: Computer Networking - A Top-down Approach Featuring the Internet, 3rd Ed, Addison-Wesley.str.32
  • 14. 14 u rasponu od 0 do 1023 su znana kao dobro-poznata vrata. Ona su korištena od strane procesa koji pružaju najkorištenije tipove mrežnih usluga. Nekoliko najpoznatijih TCP vrata, tj. najkorištenijih usluga je dato je u tabeli ispod. Primjeri nekoliko najpoznatijih vrata i usluga koje ih koriste Vrata u rasponu od 1024 do 49151 su vrata registrirana od strane IANA (engl. Internet Assigned Numbers Authority za određene usluge ali se mogu koristiti i za druge svrhe od strane korisnika. Vrata u rasponu od 41952 do 65535 su dinamička ili privatna vrata koja ne mogu bit registrirana te se koriste za privremene svrhe. Slika 1.2 Prikazuje primjer [5] uspostavljenih logičkih veza između tri računala, označenih s A, B i C. Računalo A s IP adresom 152.22.41.55 ima pokrenuta
  • 15. 15 dva klijentska procesa na nasumično odabranim vratima 33522 i 33553 koji su spojeni logičkom vezom na dva 6 procesa računala B. Računalo B predstavlja poslužitelja s IP adresom 195.53.11.5 s pokrenute dvije usluge na dobro-poznatim vratima, FTP na vratima 21 i HTTP na vratim 80. Računalo C s IP adresom 3.5.23.2 predstavlja još jednog klijenta koji također ima otvorenu asocijaciju prema FTP poslužitelju. Sve otvorene asocijacije u primjeru su: - (tcp, 152.22.41.55, 33522) - (tcp, 195.53.11.5, 21) - (tcp, 152.22.41.55, 33553) - (tcp, 195.53.11.5, 80) - (tcp, 3.5.23.2, 22112) - (tcp, 195.53.11.5, 21). Primjer logičkih veza
  • 16. 16 2.1.3.Uspostavljanje i prekid veze TCP pruža spojnu uslugu iznad mreže s komutacijom paketa. Ova spojna usluga omogućuje stvaranje virtualne veze između dvije krajnje točke komunikacije, što znači da se podaci mogu razmjenjivati između ta dva čvora. Važno je napomenuti da virtualna veza ne znači da će svi podaci biti usmjereni istim putem kroz mrežu, već se mogu preusmjeravati i preko različitih putanja. Proces uspostavljanja veze u TCP-u sastoji se od nekoliko koraka. Prvo, klijent inicira zahtjev za uspostavom veze tako što šalje poseban paket poznat kao "sinhronizacijski zahtjev" (SYN) poslužitelju. Poslužitelj potom prima SYN paket i odgovara s "sinhronizacijskim odgovorom" (SYN-ACK) kako bi potvrdio primanje zahtjeva. Nakon toga, klijent šalje potvrdu (ACK) poslužitelju kako bi potvrdio da je primio SYN-ACK odgovor. Kada se ova trostruka razmjena SYN-SYN-ACK završi, veza se smatra uspostavljenom i podaci mogu početi putovati između klijenta i poslužitelja. Nakon uspostave veze, prijenos podataka može započeti. TCP segmentira podatke na manje jedinice poznate kao "segmenti" prije slanja preko mreže. Svaki segment sadrži određeni broj bajtova podataka i dodatne kontrolne informacije. Ti segmenti se potom šalju putem mreže prema odredištu. TCP koristi algoritme za kontrolu zagušenja kako bi održavao ravnotežu između propusnosti i pouzdanosti. Ovi algoritmi pomažu u sprečavanju preopterećenja mreže i osiguravaju da se podaci isporučuju pravilno i u ispravnom redoslijedu.. 2.1.4.Uspostavljanje TCP veze Da bi dva proces mogla komunicirati pomoću protokola TCP prvo moraju uspostaviti vezu razmjenjujući poruke na način koji prikazuje Slika 1.4, poznat i kao trostruko rukovanje (engl. three-way handshake).
  • 17. 17 Uspostavljanje TCP veze7 2.1.5.Struktura TCP segmenta TCP segment je jedinica podataka koja se koristi u TCP protokolu za prijenos informacija između izvora i odredišta. Svaki TCP segment sastoji se od TCP zaglavlja i korisničkih podataka. Zaglavlje TCP segmenta sadrži važne informacije potrebne za ispravan prijenos podataka. To uključuje izvor i odredište porta, broj sekvence koji označava redoslijed podataka, potvrdni broj koji potvrđuje primitak podataka, veličinu prozora koja regulira protok podataka te kontrolne zastavice koje kontroliraju različite aspekte komunikacije. Ova polja u zaglavlju omogućuju pouzdan i siguran prijenos podataka putem TCP-a. Važno je napomenuti da veličina TCP segmenta, zajedno s zaglavljem, mora biti unutar granica IP paketa. IP paket može nositi samo određenu količinu podataka, pa se ako je TCP segment 7 X. Zhen, K. Ato*, and W. Pingdong.: A Study on Bilateral Telecontrol of Networked Robot with Variable Time- delay. In Proceeding on Fluid Power, Tsukuba 2005.str.32
  • 18. 18 prevelik, može podijeliti na manje dijelove, poznate kao fragmenti, koji se zatim prenose preko mreže. Svaki fragment ima svoje IP zaglavlje koje sadrži informacije o fragmentu i omogućuje pravilno usmjeravanje i sastavljanje podataka na odredištu. TCP segmenti omogućuju pouzdanu komunikaciju putem TCP protokola. Zahvaljujući svojoj spojnoj usluzi, TCP stvara virtualnu vezu između komunikacijskih čvorova, osiguravajući da podaci budu isporučeni ispravno, bez gubitka, duplikata ili pogrešnog redoslijeda. Ukratko, TCP segment je jedinica podataka koja se koristi u TCP protokolu za prijenos informacija između izvora i odredišta. Sastoji se od zaglavlja s važnim informacijama i korisničkih podataka. TCP segmenti omogućuju pouzdanu komunikaciju putem TCP protokola, osiguravajući pravilnu isporuku podataka. 4 Struktura TCP segmenta 2.2.TCP mehanizmi 2.2.1.Kontrola toka Kontrola toka je važna funkcionalnost koju TCP protokol pruža kako bi osigurao optimalan prijenos podataka između pošiljatelja i primatelja. Uz pomoć mehanizma kontrole toka, primatelj može upravljati brzinom kojom podaci pristižu od pošiljatelja, što je ključno za održavanje ravnoteže i sprječavanje preopterećenja mreže. Kada TCP primatelj primi podatke, on koristi potvrdnu poruku (ACK) kako bi obavijestio pošiljatelja o pristiglim podacima. Uz to, potvrdna poruka također sadrži informaciju o preostalom
  • 19. 19 prostoru u primateljevom međuspremniku, što je poznato kao prozor (engl. window). Prozor predstavlja količinu slobodnog prostora koju primatelj može primiti od pošiljatelja. Protokol pomičnih prozora (sliding window) koristi se u TCP-u kako bi se kontrolirala količina podataka koju TCP može poslati prije nego što primi potvrdu o njihovom primitku. Taj prozor ima određenu veličinu izraženu u broju bitova ili okteta, i predstavlja granicu do koje pošiljatelj može slati podatke bez čekanja na potvrdu. Ovim protokolom, pošiljatelj zna koliko bitova je poslano, ali još uvijek nije potvrđeno od strane primatelja. Kada se primi potvrda, prozor se "pomiče" prema naprijed, omogućavajući pošiljatelju slanje novih podataka unutar prozora. Korištenje protokola pomičnih prozora omogućuje optimalno iskorištavanje propusnosti mreže i prilagodbu brzine prijenosa podataka. Na taj način se sprječava preopterećenje mreže ili gubitak podataka zbog prevelikog opterećenja. Također, omogućuje prilagodbu brzine prijenosa na osnovu trenutnih uvjeta mreže, kao što su kašnjenje i gubitak paketa. 2.2.2.Upravljanje zagušenjima Upravljanje zagušenjem je ključni mehanizam koji TCP koristi kako bi se nosio s preopterećenjem i zagušenjima u mreži. Zagušenje se događa kada promet u mreži doseže svoju maksimalnu propusnost, što rezultira gubicima paketa, velikim redovima čekanja i smanjenjem performansi. TCP primjenjuje nekoliko algoritama za upravljanje zagušenjem: Spori početak (slow-start): Kada TCP započne slanje podataka, koristi se algoritam sporog početka. Početno šalje samo jedan segment i postupno povećava broj segmenata koje šalje sve dok ne primi potvrdu za svaki od njih. Ovaj pristup sprječava preveliko opterećenje mreže i omogućava postupno povećanje brzine slanja.
  • 20. 20 Izbjegavanje zagušenja (congestion avoidance): Nakon spore faze početka, TCP prelazi na fazu izbjegavanja zagušenja. U ovoj fazi, TCP prilagođava brzinu slanja podataka ovisno o stanju mreže. Koristi se algoritam smanjenja prozora (eng. congestion window), koji kontrolira broj segmenata koje TCP šalje prije nego primi potvrdu. Ako se detektira zagušenje, TCP smanjuje brzinu slanja kako bi se izbjeglo daljnje zagušenje. Brzo ponovno slanje (fast retransmit): Kada TCP primi potvrdu da je određeni segment izgubljen, koristi se algoritam brzog ponovnog slanja. Umjesto čekanja isteka vremenskog ograničenja (timeout) za ponovno slanje izgubljenog segmenta, TCP pretpostavlja da je segment izgubljen ako primi potvrdu za sljedeći segment u redu. Tada TCP brzo ponovno šalje izgubljeni segment kako bi se smanjio vremenski gubitak. Brzi oporavak (fast recovery): Brzi oporavak je dodatni mehanizam koji se koristi samo u TCP Reno varijanti. Nakon brzog ponovnog slanja, TCP Reno ne smanjuje svoju brzinu slanja kao što to radi TCP s izbjegavanjem zagušenja. Umjesto toga, koristi se brzi oporavak kako bi se održala veća brzina slanja, ali smanjuje se prozor za izbjegavanje daljnjeg zagušenja. Ovi algoritmi omogućuju TCP-u da prilagodi brzinu slanja podataka u skladu s uvjetima mreže i smanji zagušenje. Na taj način TCP osigurava učinkovitu i pouzdanu komunikaciju u prisutnosti zagušenja u mreži. 2.2.3.Kontrola greške TCP protokol, kao pouzdan protokol transportnog sloja, koristi različite metode za osiguranje ispravnog i pouzdanog prijenosa podataka. Kontrola pogrešaka u TCP-u provodi se kroz tri osnovne tehnike koje su detaljnije objašnjene u nastavku. I. Provjera sume (checksum): Svaki TCP segment sadrži checksum polje koje se koristi za pronalaženje oštećenih segmenata. Ova tehnika osigurava cjelovitost podataka tijekom prijenosa. Prilikom primanja segmenta, odredište provjerava checksum vrijednost kako bi utvrdilo je li segment oštećen. Ako checksum ne odgovara očekivanoj vrijednosti, segment se smatra oštećenim i odbacuje se.
  • 21. 21 II. Potvrde (acknowledgment): TCP koristi mehanizam potvrda kako bi osigurao da su svi segmenti ispravno primljeni. Nakon što primatelj uspješno primi segment, šalje potvrdu (ACK) pošiljatelju kako bi ga obavijestio da je taj segment primljen. Ako pošiljatelj ne primi potvrdu za određeni segment, smatra se da je segment izgubljen i ponovno ga šalje. III. Retransmisija (ponovno slanje): Kada segment nedostaje ili je odgođeno njegovo slanje, TCP koristi mehanizam retransmisije kako bi osigurao pouzdan prijenos. Ako pošiljatelj ne primi potvrdu za određeni segment u određenom vremenskom intervalu, pretpostavlja se da je segment izgubljen i ponovno ga šalje. Ovaj postupak osigurava da segmenti stignu na odredište čak i ako se neki od njih izgube ili se isporuče izvan redoslijeda. Korištenjem ovih tehnika, TCP osigurava pouzdanost i integritet podataka tijekom prijenosa. To je od velike važnosti u aplikacijama kao što su prijenos datoteka, web pregledavanje, e-pošta i druge aplikacije koje zahtijevaju visoku razinu pouzdanosti. Ove metode omogućuju TCP-u da otkrije oštećene segmente, nedostajuće dijelove, segmente izvan redoslijeda i ponovljene segmente, čime osigurava ispravnu i pouzdanu komunikaciju između pošiljatelja i primatelja. 2.2.3.1.Retransmisija Retransmisija segmenata se pokreće na temelju kontrole greške. Svaki segment koji je stigao na odredište sa greškom, izgubljen ili ponovljen u prijenosu se ponovo šalje. Retransmisiji su podložni segmenti podataka i pojedini kontrolni segmenti, tj. oni koji zahtijevaju potvrdu isporuke. Segment se ponovo šalje u dva slučaja: kad je vrijeme retransmisijskog brojila isteklo (eng. Retransmission time-out, RTO) ili kada prijemnik primi tri duplicirana ACK segmenta. Kad god se pošalje segment, TCP pokreće retransmisijsko brojilo ako potvrda prijema segmenta stigne prije nego što vrijeme brojila istekne, brojilo se zaustavlja. Međutim, ako RTO vrijeme istekne prije nego što stigne potvrda, odgovarajući segment se smatra izgubljenim i ponovo se šalje. RTO vrijednost dinamički se konfigurira na osnovu procjene vremena prijenosa segmenta od predajnika do prijemnika i nazad (eng. round trip time, RTT). RTT je vrijeme potrebno da segment stigne do prijemnika plus vrijeme potrebno da se potvrda vrati nazad do predajnika. Prethodno pravilo za
  • 22. 22 retransmisiju je dovoljno ako RTO vrijeme nije postavljeno na malu vrijednost. Međutim, ponekad se može dogoditi da predajnik prije isteka RTO vremena izgubljenog segmenta pošalje veći broj slijedećih segmenata, toliko da sve njih prijemnik ne 18 može prihvati, zbog ograničenog prostora u svom međuspremniku. Da bi se ovakva situacija izbjegla, primjenjuje se pravilo tri duplicirana ACK-a, prema kojem predajnik bez obzira na RTO vrijeme koje još uvijek nije isteklo, ponovno šalje segment nakon što primi tri dupla ACK segmenta.8 3.ANALIZA UDP ILI KORISNIČKI DATAGRAM PROTOKOL 3.1.Definicija - Što znači User Datagram Protocol (UDP)? U računarskim mrežama, User Datagram Protocol ( UDP ) je jedan od osnovnih članova paketa internetskih protokola. S UDP -om, računalne aplikacije mogu slati poruke, u ovom slučaju nazvane datagramima, drugim hostovima na mreži internetskog protokola (IP). Prethodna komunikacija nije potrebna za postavljanje komunikacijskih kanala ili staza podataka. UDP koristi jednostavan komunikacijski model bez povezivanja s minimalnim protokolarnim mehanizmima. UDP pruža kontrolne sume za integritet podataka i brojeve portova za adresiranje različitih funkcija na izvoru i odredištu datagrama. Nema dijaloge za rukovanje i stoga izlaže korisnički program nepouzdanosti osnovne mreže; nema garancije isporuke, naručivanja ili dvostruke zaštite. Ako su potrebne mogućnosti ispravljanja grešaka na nivou mrežnog interfejsa, aplikacija može koristiti protokol za kontrolu prenosa (TCP) ili protokol za prenos protoka za kontrolu protoka (SCTP) koji su dizajnirani za tu svrhu. UDP je prikladan za svrhe u kojima provjera i ispravljanje grešaka ili nisu potrebne ili se izvode u aplikaciji; UDP izbjegava dodatne troškove takve obrade u steku protokola . Vremenski osjetljive aplikacije često koriste UDP jer je odbacivanje paketa bolje od čekanja na odložene pakete zbog ponovnog prijenosa , što možda nije opcija u sistemu u stvarnom vremenu. UDP je jednostavan protokol transportnog sloja orijentiran na poruku koji je dokumentiran u RFC 768. Iako UDP pruža provjeru integriteta (putem kontrolne sume ) zaglavlja i korisnog opterećenja, ne daje garancije protokolu gornjeg sloja za isporuku poruka, a UDP sloj ne zadržava stanje UDP poruka nakon slanja. Iz tog razloga, UDP se ponekad naziva i Nepouzdan datagram protocol. Ako se želi pouzdanost prijenosa, mora se implementirati u korisničku 8 M. S. Arslan: Improving Performance of a Remote Robotic Teleoperation over the Internet, Thesis, 2005.str.95
  • 23. 23 aplikaciju. Aplikacije mogu koristiti utičnice za datagram za uspostavljanje komunikacije između računala. Aplikacija veže utičnicu za krajnju točku prijenosa podataka, što je kombinacija IP adrese i porta. Na ovaj način UDP omogućava multipleksiranje aplikacija . Port je softverska struktura koja je identificirana brojem porta, 16 -bitnom cijelom vrijednošću, koja omogućava brojeve portova između 0 i 65535. Port 0 je rezerviran, ali je dopuštena vrijednost izvornog porta ako proces slanja ne očekuje poruke u odgovor. Uprava za dodijeljene brojeve Interneta (IANA) podijelila je brojeve portova u tri raspona.9 Brojevi portova od 0 do 1023 koriste se za uobičajene, dobro poznate usluge. Na operativnim sistemima sličnim Unixu , za korištenje jednog od ovih portova potrebna je dozvola za rad superkorisnika . Brojevi portova od 1024 do 49151 su registrirani portovi koji se koriste za usluge koje je registrirala IANA. Portovi 49152 do 65535 su dinamički portovi koji nisu službeno određeni za bilo koju određenu uslugu i mogu se koristiti u bilo koju svrhu. Oni se također mogu koristiti kao efemerni portovi , koje softver pokrenut na hostu može koristiti za dinamičko stvaranje krajnjih točaka komunikacije po potrebi. 3.2.Techopedia objašnjava User Datagram Protocol (UDP) Protokol korisničkog datagrama (UDP) je protokol transportnog sloja u OSI modelu koji se koristi u mrežnim aplikacijama klijent-poslužitelj. UDP koristi jednostavan model prijenosa bez dijaloga za pouzdanost, redoslijed i integritet podataka. Nema provjere i ispravljanja pogrešaka te se pretpostavlja da te funkcionalnosti nisu potrebne. UDP se često koristi u aplikacijama poput videokonferencija i računalnih igara u stvarnom vremenu. Protokol omogućuje odbacivanje pojedinih paketa i prihvaćanje UDP paketa u različitom redoslijedu od slanja, što može poboljšati performanse u određenim scenarijima. 9 Sawashima H.:Characteristics of UDP Packet Loss: Effect of TCP Traffic.str.32
  • 24. 24 UDP promet je organiziran u obliku datagrama koji sadrže jednu poruku. Prvih osam bajtova datagrama sadrže podatke zaglavlja, dok preostali bajtovi sadrže podatke samog sadržaja. Zaglavlje UDP datagrama sastoji se od četiri polja, svako duljine dva bajta: i. Broj priključka izvora - označava broj priključka s kojeg dolazi datagram. ii. ii. Broj odredišnog porta - označava broj priključka na koji je datagram namijenjen. iii. iii. Veličina datagrama - označava ukupan broj bajtova u datagramu, uključujući zaglavlje i podatke. iv. iv. Kontrolna suma - koristi se za provjeru integriteta podataka u datagramu. Ovo su osnovne informacije o zaglavlju UDP datagrama i neophodni elementi za pravilan prijenos podataka putem UDP protokola. 3.3.Kako UDP funkcionira? UDP (Korisnički datagram protokol) je jednostavan transportni protokol u sklopu internetskog protokolnog skupa (IP). Za razliku od TCP-a, UDP ne pruža napredne funkcionalnosti kao što su kontrola toka, pouzdanost ili ponovno slanje podataka. UDP se fokusira na pružanje minimalnih usluga transportnog sloja i omogućuje aplikacijama da komuniciraju izravno s udaljenim IP adresama. Programer koji se odluči koristiti UDP protokol za svoju aplikaciju stvara aplikaciju koja šalje poruke izravno prema udaljenom IP-ju. UDP preuzima poruku iz te aplikacije i pridružuje joj izvorni i odredišni broj porta za multipleksiranje i demultipleksiranje. Zatim dodaje nekoliko manje važnih polja i šalje sve to na mrežu. Mreža zatim pakira tu poruku u IP datagram i nastoji je dostaviti udaljenom poslužitelju, odnosno korisniku. Ako poruka stigne do poslužitelja, UDP koristi broj porta IP poslužitelja i njegovu adresu kako bi isporučio podatke aplikaciji koja je odredište. UDP jednostavno prenosi podatke u malim paketima do željene aplikacije, bez složenih funkcionalnosti za kontrolu toka ili pouzdanost.
  • 25. 25 Stoga, UDP pruža minimalnu funkcionalnost koja je potrebna za transport podataka preko mreže, a programerima daje veću fleksibilnost u implementaciji vlastitih mehanizama za kontrolu podataka i prilagodbu komunikacije prema specifičnim potrebama aplikacije. UDP je često preferiran u scenarijima u kojima je brzina i efikasnost važnija od potpunosti i pouzdanosti prijenosa podataka, kao što su video i audio streaming, VoIP i online igre. 3.4.Zašto koristiti UDP? UDP se preferira u nekim aplikacijama zbog sljedećih razloga: Nema čekanja na uspostavu konekcije. Što znači da UDP prije nego počne slati podatke samo pošalje te podatke bez ikakvih provjera i predprovjera. Kod njega nema čekanja na uspostavu veze, što je vjerojatno jedan od glavnih razloga zašto DNS koristi UDP umjesto TCP-a, dok HTTP koristi TCP protokol zato što je pozdanost ključna za web stranice s tekstom. (više o samom TCP-u u idućem poglavlju) Nema „stanja“ veze. To bi značilo da za razliku od TCP-a, koji održava vezu sa klijentima da bi implementirao svoj sigurni prijenos podataka, UDP ne održava vezu i ne prati nijedan parametar koji prati TCP. Zbog toga UDP može održavati više aktivnih klijenata od TCP-a. Malo zaglavlje. TCP ima 20 bajtova zaglavlja u svakom dijelu, dok UDP ima samo 8 bajtova. Neregulirana stopa slanja. TCP ima kontrolni mehanizam koji „guši“ vezu kada ima više od jedne veze između primatelja i pošiljatelja. To zagušenje veze ima velik utjecaj na aplikacije koje stvari obavljaju u realnom vremenu, zato što one mogu tolerirati određen gubitak podataka ali zahtjevaju određenu brzinu primanja istih. Za razliku od TCP-a UDP šalje podatke onoliko brzo koliko ih aplikacija stvara, jedini utjecaj na brzinu slanja ima brzina početne internet veze i hardverske mogućnosti poslužitelja i korisnika (procesor, rami...). Ovo sve znači da je ugrađena nezahtjevnost UDP-a vrlo korisna kod servera koji poslužuju puno klijenata. Za razliku od TCP-a, UDP je kompatibilan sa slanjem podataka svima na lokalnoj mreži i multikastingu (slanje svima određenima).
  • 26. 26 Struktura paketa u UDP-U Struktura paketa u UDP-u II
  • 27. 27 4.KOMPARACIJA TCP I UDP TCP i UDP su protokoli koji omogućuju prijenos podataka unutar mreže. Njihova najveća razlika, a ujedno i razlog potrebe postojanja oba od njih, je potvrda, odnosno izostanak potvrde, primitka poruke, te „održavanje“ veze između klijenta i poslužitelja. Različiti zadaci, iziskuju i različit protokole, tako da prilikom programiranja, programer mora znati koji od ovih dva je potrebno koristiti. Odluka je ponekad vrlo laka, a ponekad je potrebno razmotriti prednosti i nedostatke ovih protokola, prvenstveno koliko će naša aplikacija biti „ugrožena“ ako dođe do gubitka nekog dijela poruke, a s druge strane koliko će poslužitelj zbog uspostave same veze putem TCP protokola biti „zatrpan“.10 Kako bi mogli donijeti odluku o korištenju određenog protokola, ali i razumjeti stvari koje se događaju prilikom korištenja tih protokola, potrebno je razumjeti način funkcioniranja samih protokola, a ovim seminarskim radom mislimo da smo uspjeli iznijeti ono najosnovnije ali i najvažnije o TCP i UDP protokolima. 10 C.Hunt, "TCP/IP - Network Administration", O'Reilly & Associates, Inc., 1994.str.33
  • 28. 28 TCP UDP TIJEK PODATAKA: Podatak se čita kao niz bajtova bez indikatora gdje su granice poruke Paketi se šalju zasebno, a njihov integritet se provjerava samo kada stignu. Paketi imaju definisane granice koje se uvažavaju pri prijemu, kako bi se pri čitanju na prijemnom socket moglo provjeriti je li stigla izvorna poruka. ZNAČAJ: TCP treba tri paketa za uspostavu socket veze, prije nego što se pošalje bilo koji podatak. TCP provjerava pouzdanost i zagušenje. UDP je manje zahtijevan. Poruke ne idu slijedom, ne prati se stanje veze itd. SKRAĆENICA ZA: Transmission Control Protocol User Datagram Protocol or Universal Datagram Protocol FUNKCIJA: Poruka se prenosi preko internet od jednog do drugog računara po vlastitom putu. Prijenos se zasniva na uspostavljenoj vezi. UDP se također koristi za prijenos poruka. Ne temelji se na uspostavljenoj vezi. To znači da program može poslati pakete drugom programu i tu je kraj svih odnosa. POUZDANOST PODATAKA: Apsolutno je pouzdano da primljeni podaci odgovaraju poslanim podacima i da su u istom redoslijedu. Nema garancije da će poruke ili poslani paketi uopće stići. Komparacija TCP i UDP u nekim segmentima Izvor: Rad autora
  • 29. 29 TCP UDP UPOTREBA: TCP koriste aplikacije gdje nije bitna brzina UDP se koristi za igre i aplikacije koje zahtijevaju brži prijenos podataka. Pogodan je za servere koji odgovaraju na kratke upite ogromnog broja klijenata. KONTROLA GREŠAKA: TCP vrši kontrolu grešaka UDP ne vrši kontrolu grešaka VELIČINA ZAGLAVLJA: TCP ima zaglavlje 20 byte UDP zaglavlje ima 8 byte BRZINA PRIJENOSA: TCP je sporiji od UDP UDP je brži jer ne provjerava greške. PRIMJERI: HTTP, HTTPs, FTP, SMTP, Telnet itd. DNS, DHCP, TFTP, SNMP, RIP, VOIP itd… REDOSLIJED: TCP slaže pakete po tačno određenom redu UDP ne slaže pakete po redu. Ako je redoslijed bitan tada o njemu treba računa voditi aplikacijski sloj. Komparacija TCP i UDP u nekim segmentima II dio Izvor: Rad autora TCP je sigurniji i pouzdaniji. TCP protokol predstavlja jedan od najčesće korištenih transportnih protokola Internera i lokalnih računarskih mreža. UDP protokol nasuprot TCP protokola ne omogućava pouzdan prijenos podataka putem ostvativanja virtuelne veze, kontrole grešaka, kontrole redoslijeda segmenata i ne prilagođava brzinu slanja podataka prijemnoj moći odredišta. Nepouzdaniji ali brži. 4.1.Usporedba karakteristika TCP i UDP protokola U prethodna dva dijela smo saznali osnovne karakteristike TCP i UDP protokola. Svaki od tih protokola ima svoje prednosti i mane. Većina ljudi će pomisliti da UDP protokol i nije potreban kada se TCP protokol brine o svemu i kada je puno sigurnije da će poslani podaci stići na odredište ako o tome brine TCP protokol. No i UDP ima svojih prednosti. On se koristi u prijenosima podataka u kojima nije toliko bitno da su baš svi paketi stigli na odredište. Npr. kod live streaming televizijskih programa, VoIP – a (Voice over Internet Protocol), DNS – a (Domain Name Server)
  • 30. 30 itd. Sve prednosti i mane TCP –a i UDP – a kao i njihovu usporedbu najlakše ćemo vidjeti ako ih posložimo u tablicu. Usporedba karakteristika TCP i UDP protokola (Izvor: TCP i UDP protokoli - Odjel za matematiku, http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg)11 Kao što vidimo iz tablice TCP je pouzdan protokol, a UDP nepouzdan. Razlog tome je što kada pošaljemo poruku putem TCP socketa sigurni smo da će ona stići na odredište, osim ako dođe do potpunog prekida veze; ako server ne dobije dio poruke on će zatražiti od klijenta da mu ponovo pošalje dio koji nije stigao i tako je osiguran integritet poruke. UDP ne brine o takvim stvarima. On jednostavno šalje poruke i nakon što ih je poslao ne brine što se s njima događa. Nadalje, vidimo da se TCP zasniva na pravoj vezi između klijenta i servera, a UDP nema vezu. Kada se koristi UDP, klijent može primati poruke od bilo koga, dok kod TCP –a klijent može primati poruke samo od servera s kojim je ostvarena konekcija (odnosno veza). 12 11 TCP i UDP protokoli - Odjel za matematiku, http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg (20.08.2022.) 12 N.Rožić, "Informacije i komunikacije", NIP "Alinea", Zagreb, 1992.str.22
  • 31. 31 TCP protokol brine o redoslijedu kojim podaci dolaze na odredište. Ako pošaljemo neka dva podatka jedan za drugim TCP nam osigurava da će oni tim istim redoslijedom stići na odredište jer svaki podatak u zaglavlju ima pohranjen ID i redni broj i kada podaci stižu na odredište server provjeri kojim bi redoslijedom trebali biti poslagani i tako ih procesuira. Kod UDP–a nikad ne možemo biti sigurni hoće li podaci u pravilnom redoslijedu stići na odredište, no i to mi kao programeri možemo zaobići jednostavno numerirajući podatke i provjeravajući na serveru jesu li podaci došli u pravilnom redoslijedu. Sada kad smo vidjeli usporedbu prednosti i mana TCP i UDP protokola možemo vidjeti i gdje se koriste TCP, a gdje UDP protokoli. Aplikacije u kojima se koriste TCP i UDP protokoli (Izvor: TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm )13 Iz priložene tablice vidimo da se TCP protokol koristi kod aplikacija u kojima je bitna povratna informacija. Npr. kod e-maila je bitno da server dobije povratnu informaciju je li klijent uspio dobiti sve informacije koje je zatražio, pa ako klijent nije uspio dobiti sve informacije o e-mailu 13 TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm (20.08.2022.)
  • 32. 32 koji je htio pročitati server automatski šalje podatke koji nisu stigli klijentu. Isto tako je bitno kada otvaramo neku stranicu u našem web browseru da nam se otvori cijela stranica, a ne samo neki njeni dijelovi i upravo se o tome brine TCP. No, vidimo i da UDP ima jako široku primjenu. Npr. kada bi u internet telefoniji za razmjenu podataka bio odgovoran TCP protokol i kada bi došlo do gubitka nekog paketa server bi tražio od klijenta da ponovo pošalje taj paket što bi dovelo do velikih nesrazmjera u vremenu slanja i primanja poruke. Zato je dobro da se o tome brine UDP jer on ne radi takve provjere, a u ovom slučaju ako se i izgubi koji paket putem neće doći do većih problema jer su paketi veoma mali pa će gubitci biti gotovo neprimjetni. 4.2.Razumijevanje UDP i kako se razlikuje od TCP-a UDP (User Datagram Protocol) je jednostavan i nepouzdan protokol za transport podataka koji je uveden 1980. godine. Koristi se kao alternativa TCP-u i temelji se na Internet protokolu (IP). UDP je jedan od najstarijih mrežnih protokola koji i danas postoji. UDP se razlikuje od TCP-a po tome što nema mehanizme za provjeru i ispravljanje pogrešaka u prijenosu podataka. To znači da je UDP nepouzdan protokol u usporedbi s TCP-om. Međutim, upravo ta jednostavnost i nedostatak provjere pogrešaka čine UDP pogodnim za određene vrste aplikacija. UDP se često koristi u aplikacijama koje zahtijevaju visoke performanse u realnom vremenu, poput video konferencija i računalnih igara. U tim aplikacijama, brzina i niska latencija su ključni, dok je manji gubitak podataka prihvatljiv. UDP omogućuje slanje paketa bez garancije njihove isporuke, što rezultira manjim overheadom i manjim kašnjenjem. Također, UDP paketi mogu stizati u različitom redoslijedu nego što su poslani, što je korisno u određenim situacijama. Budući da UDP nema provjeru pogrešaka, koristi manje propusne širine u odnosu na TCP. To znači da se manje podataka troši na kontrolne informacije, što omogućuje veću iskoristivost mrežnog kanala. Unatoč svojoj jednostavnosti i nedostatku pouzdanosti, UDP ima svoje specifične primjene i prednosti u određenim scenarijima. Važno je pažljivo odabrati između UDP-a i TCP-a, ovisno o potrebama aplikacije u pogledu performansi, pouzdanosti i karakteristika prijenosa podataka.
  • 33. 33 4.2.1.Je li UDP bolji od TCP-a? UDP (User Datagram Protocol) i TCP (Transmission Control Protocol) su dva glavna transportna protokola koji se koriste u mrežnoj komunikaciji. Oba protokola imaju svoje prednosti i primjene, a odabir između njih ovisi o specifičnim potrebama i zahtjevima aplikacije. UDP omogućuje bržu brzinu prijenosa podataka u odnosu na TCP, ali nudi manje mehanizama za pouzdanost i oporavak pogrešaka. To znači da UDP može biti prikladan za aplikacije koje zahtijevaju nisku latenciju i brze prijenose podataka, poput on-line igranja, videochata i glasovnih prijenosa. U tim scenarijima, manji gubitak podataka ili kašnjenje može biti prihvatljivo jer korisnici obično ne primjećuju veliki gubitak kvalitete. Mrežne igre često koriste UDP promet jer omogućuje neprekidnu igru čak i u slučaju gubitka nekih paketa. Isto vrijedi i za streaming uživo, gdje se kontinuirani prijenos podataka smatra važnijim od potpune točnosti i ispravljanja pogrešaka. Međutim, za prijenos datoteka UDP nije idealan jer vam treba cijela datoteka kako biste je ispravno koristili, dok TCP osigurava pouzdan prijenos datoteka s mehanizmima za kontrolu toka i oporavak pogrešaka. Važno je napomenuti da i UDP i TCP djeluju na istom sloju 4 OSI modela i mogu se koristiti s različitim uslugama. UDP se često koristi s protokolima poput TFTP (Trivial File Transfer Protocol), RTSP (Real-Time Streaming Protocol) i DNS (Domain Name System). S druge strane, TCP se često koristi u aplikacijama poput FTP-a (File Transfer Protocol) i SMTP-a (Simple Mail Transfer Protocol) koje zahtijevaju pouzdan prijenos podataka. U konačnici, odabir između UDP-a i TCP-a ovisi o potrebama aplikacije i prioritetima koje želite postići u prijenosu podataka. 4.2.2.UDP datagrami UDP promet koristi datagrame za prijenos podataka. Svaki datagram sadrži jednu poruku i sastoji se od zaglavlja i stvarne poruke. Zaglavlje datagrama UDP sastoji se od prvih osam bajta, dok ostatak datagrama sadrži podatke poruke. Zaglavlje datagrama UDP uključuje sljedeće informacije, svaka predstavljena s dva bajta:  Izvorni broj porta: Oznaka porta s kojeg dolazi UDP promet. Omogućuje različitim aplikacijama održavanje vlastitih kanala za podatke.  Broj porta odredišta: Oznaka porta na kojem je namijenjen UDP promet.  Veličina datagrama: Ukupan broj bajtova u datagramu, uključujući i zaglavlja i podatkovne sekcije. Ovo polje prati duljinu podataka promjenjive veličine.
  • 34. 34  Kontrolna suma: Vrijednost checksum-a koja osigurava integritet podataka u datagramu. Pošiljatelj izračunava checksum, a prijemnik ga koristi za provjeru ispravnosti podataka. Valjani UDP brojevi porta kreću se od 0 do 65535. Veličina datagrama može varirati, ali ne prelazi maksimalnu vrijednost od 65535 bajta. Kontrolna suma UDP-a osigurava da se neovlaštene poruke prepoznaju. Ona predstavlja kodiranje podataka datagrama koje pošiljatelj izračunava, a prijemnik kasnije provjerava. Ako se datagram ošteti ili izgubi tijekom prijenosa, UDP protokol otkriva neslaganje u provjeri checksum-a. UDP protokol, za razliku od TCP-a, ne pruža mehanizme pouzdanosti, potvrde primitka ili ponovnog slanja podataka. Stoga se UDP često koristi u situacijama gdje je brza brzina prijenosa podataka važnija od pouzdanosti i oporavka podataka, kao što su streaming videozapisa, igre na mreži i IPTV.U UDP-u, checksumming je opcionalan, za razliku od TCP gdje su obvezni čekovi.14 4.3.UDP vs TCP format zaglavlja 4.3.1.TCP zaglavlje Izvorna luka: Sadrži adresu izvornog porta segmenta podataka i veličine je 16 bita. Odredišna luka: Sadrži adresu odredišnog porta i također je veličine 16 bita. Redni broj: Veličina je 32 bita. Predstavlja sekvencijski broj segmenta podataka prvog okteta. Ako je SYN dostupan, tada je vrijednost sekvencijskog broja ISN + 1, dok ISN označava početni sekvencijski broj. 14 P. Pale i K. Skračić, Bilješke i predavanja u okviru predmeta "Računalna forenzika", Zagreb: Fakultet elektrotehnike i računarstva, 2018.str.10
  • 35. 35 Broj potvrde: Veličina ovog polja je također 32 bita. Ovo polje sadrži redni broj sljedećeg segmenta podataka koji izvorni kraj očekuje od prijamnika da stigne kao potvrda o primanju podatkovnog paketa. Kada se uspostavi pravilna veza između izvora i odredišta, taj se bit uvijek prenosi. Pomak podataka: Ovo je polje 4-bitne duljine. Ovo označava točku od koje podaci započinju. Rezervirano: Neki su bitovi rezervirani za buduću svrhu, a vrijednost u ovom polju je nula. Dug je 6 bitova. Zastave: Ovo je također od 6 bitova. U razne se svrhe koriste različite zastave. Prema prikladnosti, zastava je postavljena na nulu ili jedan. Veličina prozora: Veličina ovog polja je 16 bita. Ovo polje sadrži broj okteta podataka koji započinje onim koji se prikazuje u polju s brojem potvrde, a pošiljatelj čeka primanje. Kontrolna suma: Ovo je također veličine 16 bita. Kontrolna suma izračunava se za sve oktete podataka cijelih segmenata podataka. Procjenjuje se kao nečija dopuna i opet kao nadopuna izlaza, a zatim se i izlaz dodaje sadašnjem 16-bitnom zaglavlju i tekstualnim podacima okteta. Ishod se također prenosi na sljedeći gornji sloj radi korekcija. Hitni pokazivač: Ovo je polje veličine 16 bita. Ako je postavljena zastavica URG, samo se tada izračunava ovo polje. Označava sekvencijski broj okteta podataka nakon hitnih podataka. Opcije: Ovo je promjenjivo polje. To se može postaviti na početku bilo kojeg ruba okteta. 4.3.2.UDP zaglavlje UDP zaglavlje ima samo 4 polja u usporedbi s TCP zaglavljem, a također je vrlo lako razumljivo u usporedbi s TCP zaglavljem. Izvorna luka: Ovo je duljina 16 bitova. Sadrži vrijednost izvornog porta koji koristi kraj izvora za prijenos podatkovnog paketa. Raspon se kreće između 0 i 65535.
  • 36. 36 Odredišna luka: Veličina ovog polja je 16 bita. Sadrži broj porta koji odredišni domaćin očekuje za primanje podataka. Duljina: Ova veličina polja je 16 bita. Sastoji se od veličine dužine korisničkog datagrama, zaglavlja i podataka. Kontrolna suma: Ovo je također veličine 16 bita, ali ovo je neobavezno polje. Koristi se za izračunavanje pogrešaka u datagramu. Ako je postavljeno na nulu, tada se kontrolna suma neće izračunati, a ako je postavljena na jedan, tada će se izračunati. UDP vs TCP format zaglavlja - komparacija15 4.4.Komparacija funkcija koje izvode TCP i UDP 4.4.1.Funkcije koje izvodi TCP (i) Adresiranje i multipleksiranje: 15 G. Gledec i M. Mikuc, Bilješke i predavanja u okviru predmeta "Sigurnost u internetu", Zagreb: Fakultet elektrotehnike i računarstva, 2018.str.10
  • 37. 37 TCP priključci koriste se za adresiranje različitih mrežnih procesa za aplikacije gornjeg sloja. To također multipleksira podatke prikupljene raznim postupcima, a zatim emitira podatkovni paket u suradnji s mrežnim pristupnim slojem. (ii) Uspostaviti, održati i prekinuti veze: U ovom se protokolu slijedi nekoliko skupova procesa i pravila za uspostavljanje veze između izvora i kraja odredišta. Postoje protokoli i metode rukovanja koji se koriste za održavanje i prepoznavanje tekućeg procesa komunikacije. Na kraju se slijede i neka pravila za prekid veze nakon završetka komunikacije između izvora i odredišta. (iii) Pakiranje podataka: Prije prosljeđivanja podatkovnih paketa višem sloju za komunikaciju, TCP prvo osigurava postupak pakiranja podataka u format poruke za prijenos, a zatim dostavlja na kraj odredišta. Na kraju odredišta, prijamnik dekodira i raspakira podatke te ih opet prosljeđuje aplikacijama gornjeg sloja. (iv) Odredbe Pouzdan način komunikacije i visoki QoS: Nudi pouzdan način komunikacije između pošiljatelja i primatelja, a također osigurava visoku kvalitetu usluge. Mehanizmi koje TCP koristi za prijenos podataka slijede niz pravila koja osiguravaju pouzdanu isporuku podataka, a također nude ponovni prijenos propuštenih podataka ili podataka izvan redoslijeda. Različiti protokoli rukovanja koriste se kako bi se osigurala pouzdana komunikacija.16 4.4.2.Funkcije koje obavlja UDP 16 M. Radovan, Računalne mreže 2 Prijenos, mrežne usluge i zaštita. Rijeka: DPT, 2011.str.87
  • 38. 38 (i) Prijenos podataka s višeg sloja: UDP protokol prima podatke za prijenos s višeg sloja, a zatim ih pretvara u UDP poruke, a zatim prenosi u UDP softver za komunikaciju. (ii) UDP kapsulacija UDP poruke: UDP poruka ugrađena je u podatkovno polje. UDP zaglavlje sastoji se od domena izvornog i odredišnog porta i također izračunava vrijednost kontrolne sume. (iii) Poruka prenesena na sljedeći sloj: Nakon izračunavanja gornjih polja, UDP poruka se prosljeđuje IP-u radi komunikacije. Na kraju odredišta postupak se vraća natrag. 4.5.Komparacija primjene TCP i UDP-a 4.5.1.Primjene TCP-a TCP se koristi u raznim ključnim aplikacijama i scenarijima za siguran i pouzdan prijenos podataka. Evo nekoliko primjera: 1. FTP (File Transfer Protocol): TCP se koristi u FTP-u za prijenos datoteka velikih podataka između udaljenih hostova. TCP osigurava pouzdanu isporuku podataka i kontrolira tok podataka tijekom prijenosa datoteka. 2. SMTP (Simple Mail Transfer Protocol): Proces e-pošte koristi TCP za slanje poruka e-pošte i podataka između različitih hostova. TCP osigurava sigurnu i pouzdanu isporuku e-pošte putem mreže. 3. POP (Post Office Protocol): POP također koristi TCP za oporavak ili preuzimanje poruka e-pošte s poslužitelja. TCP omogućuje pouzdanu komunikaciju između korisničkog klijenta i poslužitelja za preuzimanje e-pošte. 4. TELNET: TELNET protokol koristi TCP za sigurnu prijavu i pristup hostovima na udaljenom ili udaljenom kraju. TCP osigurava pouzdanu i sigurnu vezu za upravljanje i upravljanje udaljenim sustavima. 5. BGP (Border Gateway Protocol): BGP, koji se koristi u mrežnom rutingu, radi na TCP-u kako bi osigurao pouzdanu komunikaciju i razmjenu ruting informacija između različitih mrežnih čvorova. TCP osigurava pouzdanu isporuku ruting informacija putem širokog područja mreže (WAN).
  • 39. 39 6. Vojne službe: TCP se često koristi u vojnim službama za razmjenu vrlo povjerljivih podataka i informacija unutar njihovih internetskih djela. TCP pruža sigurnu i pouzdanu komunikaciju potrebnu za takve osjetljive operacije. U svim ovim primjerima TCP se koristi za osiguravanje pouzdane, sigurne i kontrolirane isporuke podataka u aplikacijama koje zahtijevaju visoku razinu sigurnosti i integriteta podataka 4.5.2.Primjene UDP-a UDP se često koristi u raznim scenarijima kako bi se omogućila brza i efikasna razmjena podataka. Navedene su neke od popularnih primjena UDP-a: 1. Strujanje videozapisa i zvuka: UDP je čest izbor za strujanje videozapisa i zvuka putem interneta. Brza brzina prijenosa podataka omogućava glatko gledanje ili slušanje sadržaja u stvarnom vremenu. Gledanje TV-a u stvarnom vremenu na mobilnim telefonima, poznato kao IPTV, sve je popularnija upotreba UDP-a u kojoj se osigurava brza i pouzdana isporuka medijskog sadržaja. 2. Igranje video igara na mreži: UDP je široko korišten za mrežno igranje video igara. U ovom kontekstu, brza brzina prijenosa podataka između igrača ključna je za osiguravanje niske latencije i glatke igračke izvedbe. UDP omogućuje kontinuiranu isporuku podataka igračima, čak i ako neki od paketa iz bilo kojeg razloga budu izgubljeni ili ispušteni, što je važno za interaktivnost u realnom vremenu. 3. Tuneliranje i VPN mreže: UDP se također koristi u procesima tuneliranja i virtualnih privatnih mreža (VPN) gdje se podaci šalju preko javne mreže. UDP omogućuje brz prijenos podataka, a izgubljeni podaci se kasnije mogu oporaviti putem dodatnih mehanizama kako bi se osigurala cjelovitost i pouzdanost komunikacije. 4. Emitiranje na LAN mreži: UDP se koristi za emitiranje podataka na lokalnoj mreži (LAN), poput video ili audio sadržaja. Emitiranje omogućuje slanje podataka jednom izvoru koji su dostupni svim korisnicima u mreži, a UDP je pogodan za tu vrstu komunikacije jer omogućuje brz i jednostavan prijenos podataka svim primateljima.
  • 40. 40 Gledanje TV-a u stvarnom vremenu na mobilnim telefonima najnovija je popularna upotreba UDP- a koja je također poznata i kao IPTV.17 ZAKLJUČAK Na osnovu prethodno navedenog možemo izvesti neke od sljedećih zaključaka Ključna razlika: TCP je skraćenica od Protokola kontrole prijenosa. To je pouzdani protokol povezan s vezom koji je prisutan u transportnom sloju. IP označava internetski protokol. To je protokol mrežnog sloja koji spaja manje i odgovoran je za slanje paketa na uređaje u mreži. Svijet računala je vrlo zanimljiv, a posebno umrežavanje računala. On je revolucionirao cijeli koncept komunikacije. Elementi računalne mreže međusobno komuniciraju i na taj način korisnicima pružaju veliku raznolikost mogućnosti. Šaljemo e-mailove našim prijateljima, šaljemo im slike, slušamo udaljeni radio kanal i još mnogo toga. Čini se da cjelokupno funkcioniranje mreže besprijekorno funkcionira na jednostavnoj platformi. Međutim, iza ove jednostavne mreže, nalazi se složeni sustav koji je pojednostavljen korištenjem različitih protokola. U rječniku računalne mreže, protokoli su pravila, konvencije i strukture podataka koje upravljaju prijenosom podataka. Ovi protokoli definiraju načine na koje računala i drugi mrežni uređaji mogu razmjenjivati informacije putem mreže. Može se pojaviti očito pitanje Koja je potreba tih protokola? Odgovor 17 I. Minić, “Analiza ponašanja transportnog protokola TCP,” 09-Sep-2015. [Online]. Available: https://www.fer.unizg.hr/_download/repository/TCPminic.pdf. (25.08.2022.)
  • 41. 41 na pitanje leži u heterogenom sustavu umrežavanja. Računala koja međusobno djeluju mogu se razlikovati u različitim atributima kao što su hardver, specifikacije itd. Dakle, potrebno je unificirati skup pravila koja treba slijediti širom svijeta, kako bi se prenijeli podaci između različitih tipova računalnih sustava. Možemo jednostavno reći da je jezik računala da razgovaraju jedni s drugima. TCP i IP su dva najpoznatija internetska protokola iz paketa komunikacijskih protokola. Protokoli su smješteni u slojevitoj hijerarhiji. Kad god se poruka prosljeđuje od izvora do pošiljatelja, poruka mora proći iz svakog sloja protokola. Danas, mrežni standardi koriste dva glavna protokola poznatih po modelu otvorenog sustava (OSI) i TCP / IP modelu. OSI je arhitektura sa sedam slojeva, dok se TCP / IP sastoji od četiri sloja. Sada ćemo dobiti detalje o TCP i IP protokolima. REFERENCE 1. C.Hunt, "TCP/IP - Network Administration", O'Reilly & Associates, Inc., 1994. 2. I. Minić, “Analiza ponašanja transportnog protokola TCP,” 09-Sep-2015. [Online]. Available: https://www.fer.unizg.hr/_download/repository/TCPminic.pdf. (25.08.2022.) 3. Komar B.: Administracija TCP/IP mreže, 2004. 4. Kurose, Ross: Computer Networking - A Top-down Approach Featuring the Internet, 3rd Ed, Addison-Wesley. 5. G. Gledec i M. Mikuc, Bilješke i predavanja u okviru predmeta "Sigurnost u internetu", Zagreb: Fakultet elektrotehnike i računarstva, 2018. 6. M. Radovan, Računalne mreže 2 Prijenos, mrežne usluge i zaštita. Rijeka: DPT, 2011. 7. M. S. Arslan: Improving Performance of a Remote Robotic Teleoperation over the Internet, Thesis, 2005. 8. N.Rožić, "Informacije i komunikacije", NIP "Alinea", Zagreb, 1992. 9. P. Pale i K. Skračić, Bilješke i predavanja u okviru predmeta "Računalna forenzika", Zagreb: Fakultet elektrotehnike i računarstva, 2018.
  • 42. 42 10. Saghir M.: Internet-Based Teleoperation, Gorgia Institute of Technology, March 2001. 11. Sawashima H.:Characteristics of UDP Packet Loss: Effect of TCP Traffic. 12. Tanenbaum A.: Računarske mreže, Prevod četvrtog izdanja, 2005, Mikroknjiga, Zagreb. 13. TCP protokoli http://www3.gdin.edu.cn/jpkc/dzxnw/jsjkj/chapter3/33.htm (20.08.2022.) 14. TCP i UDP protokoli - Odjel za matematiku, http://www.theitstuff.com/files/2009/01/7_tcp_vs_udp-300x233.jpg (20.08.2022.) 15. Transmission Control Protocol, https://hmn.wiki/hr/Transmission_Control_Protocol (25.08.2022.) 16. X. Zhen, K. Ato*, and W. Pingdong.: A Study on Bilateral Telecontrol of Networked Robot with Variable Time-delay. In Proceeding on Fluid Power, Tsukuba 2005