Transportni sloj TCP/IP modela
-
Upload
armin-dzananovic -
Category
Documents
-
view
242 -
download
1
Transcript of Transportni sloj TCP/IP modela
-
8/13/2019 Transportni sloj TCP/IP modela
1/34
Raunarske mreePREDAVANJE 8
Transpo rtni slo j TCP/IP modela Appl icat ion Layer
Transportni sloj u OSI moelu koristi a omogudi peer entitetima na izvorinom i oreinom hostu
odvijanje konverzacije. Definisana su dva end-to-end protokola.1
TCP, pouzani, konekcijski orjentiran protokol koji omogudava a tok bitka s izvorita o oreita stigne
bez greke preko interneta. Vri segmentiranje bita i proslijeuje ih internet sloju, a na oreitu vri
reasembliranje poruke. TCP vri i kontrolu toka (flow control), kako bi sprijeio a brzi poiljalac ugui
sporog primaoca.
UDP, nepouzdan, nekonekcijski orjentiran protokol kojeg koriste aplikacije koje ne ele TCP
segmentiranje i kontrolu toka, ved pruaju svoje. Koristi se za one -shot, client-server-type request-reply
queries i aplikacije u kojima je vanije a neto stigne na vrijeme nego tanost, kao to je sluaj sa
prenosom videa ili govora.
Osnovna funkcija transportnog sloja je da prihvata podatke sloja iznad sebe, razdvaja ih u manje jedinice
ako je potrebno, proslijeuje ih mrenom sloju, i osigurava a svi ijelovi stignu ispravno na rugi kraj.
Sve ovo mora biti uraeno efikasno i na nain koji izolira vie slojeve o neizbjenih promjena u
hardware-skoj tehnologiji tokom vremena.
Slika. Transportni sloj u OSI modelu2
1E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 419.
2Napomena: Slike su preuzete i prevedene sa Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
2/34
Transportni sloj, takoer, oluuje koji tip usluge de pruiti sesijskom sloju, i u konanici korisnicima
mree. Najpopularniji tip transportne konkcije je point-to-point (konkcija taka-taka), error-free
(pouzdan) kanal koji ostavlja poruke, onosno bajte, u onom reu u kojem su poslani. Meutim,
postoje i drugi tipovi transportne usluge, kao to je transport izoliranih poruka bez garancije o
reoslijeu njihovog pristizanja, kao i broacast poruka na vie oreita. Tip usluge se oreuje pri
uspostavi konekcije.
Transportni sloj je pravi end-to-end sloj jer prenosi podatke o izvora skroz o oreita. Drugim
rijeima, program na izvorinoj maini komunicira sa programom na oreinoj maini, koristedi
zaglavlja poruke i kontrolne poruke. U niim slojevima, svaki protokol je izmeu maine i njenog
direktnog susjeda, a ne izmeu krajnjih izvorinih i oreinih maina koje mogu biti ovojene sa vie
rutera. Transportni sloj ima specifikacije koje kontroliu maksimalnu brzinu kojom primalac moe
prihvatati poatke, te mehanizme za izbjegavanje mrenog zaguenja. Transportni sloj ima zadatak i da
ientificira aplikaciju iji se poaci prenose. To se omogudava pomodu polja u zaglavlju koja se zove
port number. Svakom procesu kojem je potreban pristup na mreu ojeljuje se broj porta jeinstven
za tog hosta. Transportni sloj sari tu informaciju u zaglavlju a bi se znalo kojoj aplikaciji pripaajupodaci koji se prenose.
3
Poatkovne mree i internet omogudavaju komunikaciju izmeu ljui, kako na lokalnom, tako i na
globalnom nivou. Na jenom ureaju ljui mogu koristiti vie usluga, kao to su naprimjer: e-mail, Web,
Instant messaging za razmjenjivanje informacija. Aplikacije kao to su e -mail klijent, Web browser,
Instant messaging klijent, omogudavaju ljuima a koriste raunare i mree za slanje poruka i
informacija. Podaci iz svake o ovih aplikacija su upakovani, transportovani i ostavljeni na ogovarajudi
server ili aplikaciju na oreinom ureaju. Procesi opisani u transportnom sloju OSI moela primaju
podatke sa aplikacijskog sloja i pripremaju ih za adresiranje na mrenom sloju. Transportni sloj je
zasluan za en-to-en transfer aplikacijskih poataka. Transportni sloj ukljuuje i sljeede funkcije:
omogudava vedem broju aplikacija a komuniciraju u mrei u isto vrijeme na jenom ureaju, osigurava sigurnu dostavu poataka na oreite u ogovarajudem reoslijeu u tano
oreenu aplikaciju,
koristi mehanizme za ispravljanje greaka.4Protokoli transpotnog sloja su:
TCP,Transmission Control Protocol; UDP,User Datagram Protocol; ATP, AppleTalk Transaction Protocol; CUDP,Cyclic UDP; DCCP, Datagram Congestion Control Protocol; FCP,Fiber Channel Protocol;
3S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 44,47.
4Cisco Networking Academy [datum pristupa: 01.08.12],
http://sh.wikipedia.org/wiki/TCPhttp://sh.wikipedia.org/wiki/UDPhttp://sh.wikipedia.org/w/index.php?title=CUDP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=FCP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=FCP&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=CUDP&action=edit&redlink=1http://sh.wikipedia.org/wiki/UDPhttp://sh.wikipedia.org/wiki/TCP -
8/13/2019 Transportni sloj TCP/IP modela
3/34
NBF, NetBIOS Frames Protocol; SCTP, Stream Control Transmission Protocol; SPX, Sequenced Packet Exchange; SST,Structured Stream Transport.
Uloga transportnog sloja u OSI modelu
Transportni sloj omogudava segmentaciju poataka i potrebnu kontrolu za ponovno spajanje ovih
ijelova poataka (segmenata). Primarne funkcije koje svakog protokola transportnog sloja ukljuuju:
Segmentaciju i reasembliranjevedina mrea ima ogranienu koliinu poataka koja moe bitiukljuena u jean PDU (Protocol Data Unit). Transportni sloj dijeli informacije u blokove
poataka ogovarajude veliine. Na oreitu, transportni sloj reasemblira poatke prije nego ih
proslijei na ogovarajudu oreinu aplikaciju ili uslugu.
Multipleksiranje komunikacijaU istoj mrei, na istom voru moe biti pokrenuto vie aplikacija.Svakoj o ovih aplikacija je ojeljen broj porta na osnovu kojeg transportni sloj moe oreiti
kojoj aplikaciji je podatak namjenjen.
Kako bi koristili informacije sarane u zaglavlju, za osnovne funkcije segmentiranja ireasembliranja poataka, neki protokoli na transportnom sloju omogudavaju:
Konekcijski-orjentiranu komunikaciju, Pouzdanu isporuku, Spajanje ijelova poataka tanim reoslijeom i
Kontrolu toka podataka.
Praenje individualne komunikacije, segmentiranje podataka i reasembliranje segmenata
Bilo koji host moe imati vie aplikacija koje komuniciraju kroz mreu. Svaka o ovih aplikacija
komunicira sa jenom ili vie aplikacija na rugom hostu. Uloga transportnog sloja je a orava
viestruku komunikaciju izmeu ovih aplikacija.
Kao to svakaaplikacija stvara poatke koji se alju na neku ualjenu aplikaciju, ovi poaci moraju biti
spremni a buu poslani preko meija u ogovarajudim ijelovima. Protokoli transportnog sloja opisuju
usluge koje segmentiraju ove podatke sa aplikacijskog sloja. Ovo ukljuuje enkapsuliranje svakog dijela
podataka. Svaki io poataka zahtjeva oavanje ogovarajudeg zaglavlja na transportnom sloju a bi se
utvrdilo na koju komunikaciju se odnosi.
Na oreinom voru svaki io poataka mora biti proslijeen na ogovarajudu aplikaciju. Naravno, svi
ovi ijelovi poataka se moraju spojiti u kompletiran poatak koji de samo takav biti koristan
http://sh.wikipedia.org/w/index.php?title=SST&action=edit&redlink=1http://sh.wikipedia.org/w/index.php?title=SST&action=edit&redlink=1 -
8/13/2019 Transportni sloj TCP/IP modela
4/34
aplikacijskom sloju. Protokoli transportog sloja opisuju kako se informacije u zaglavlju na transportnom
sloju koriste za reasembliranje (ponovno spajanje) ijelova u kompletiran poatak koji de biti
proslijeen aplikacijskom sloju.
Identificiranje razliitih aplikacija
Kako bi poatak stigao o ogovarajude aplikacije, transportni sloj mora ientificirati ciljnu aplikaciju. Da
bi ovo izvrio, transportni sloj svaku aplikaciju ientificira brojem porta. Svaki softverski proces koji mora
pristupiti mrei je oznaen brojem porta jeinstvenim u tom hostu. Ovaj broj porta se koristi u zaglavlju
transportnog sloja a ukae na koju aplikaciju se odnosi taj podatak.
Transportni sloj je veza izmeu aplikacijskog sloja i niih slojeva koji su zaueni za transmisiju. Ovaj sloj
prima poatke o razliitih aplikacija i prosljeuje ih na nie slojeve kao manje ijelove koji mogub biti
poslani kroz medij.
Aplikacije ne moraju poznavati operacijske etalje mree koja se koristi. Aplikacije samo generiu
poatke koji su poslani o oreene aplikacije ka nekoj rugoj, bez razmatranja tipa vora na oreitu,
medija preko kojeg se podaci prenose, puta kojim se prenose, zaguenja na linku i bez razmatranja o
veliini mree. Nii slojevi nisu svjesni injenice a vie aplikacija alje poatke kroz mreu. Njihova uloga
je a ostave poatke na ogovarajudi ureaj. Na oreinom ureaju transportni sloj sortira i spaja
poatke prije nego to ih proslijei ka ogovarajudoj aplikaciji.5
Raznolikost potreba za podacima
Poto razliite aplikacije imaju razliite potrebe, postoji vie protokola transportnog sloja. Za neke
aplikacije, segmenti moraju stidi u tano oreeno vrijeme kako bi bili uspjeno procesirani. U nekim
sluajevima svi poaci moraju biti primljeni kako bi bili korisni aplikaciji. U nekim rugim sluajevima
aplikacije mogu tolerisati gubitak poataka za vrijeme transmisije kroz mreu.
5Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
5/34
-
8/13/2019 Transportni sloj TCP/IP modela
6/34
izgubljen. Ovo je mnogo efikasnije o kanjenja koje bi nastalo ukoliko bi se o mree trai lo da upravlja
ponovnim slanjem paketa razgovora koji su izgubljeni i upravo zbog toga su oreeni gubici prihvatljivi.6
Slika. Transpotni sloj ijeli poatke u segmente rai lakeg upravljanja i transporta
Kao to je ved opisano, slanje jenog tipa poataka, npr. vieo poatka preko mree kao jene
kompletne cjeline poataka bi moglo sprijeiti ostale aplikacije da prenose svoje podatke preko mree u
isto vrijeme. To ,takoer, ovoi o teeg ispravljanja greaka i tee retransmisije otedenih poataka.
Dijeljenje poataka u manje ijelove i slanje ovih ijelova o izvorita ka oreitu omogudava a vie
komunikacija funkcionie istovremeno na istoj mrei.
Segmentiranje podataka, u skladu sa protokolima transportnog sloja, prua srestva za slanje i primanje
poataka kaa je potrebno a vie aplikacija komunicira u isto vrijeme. Bez segmentacije samo jena
aplikacija, npr. vieo komunikacija, bi mogla primati i slati poatke. Ne bi bilo mogude primiti e -mail,
instant messages ili pregledati web stranice u isto vrijeme kada je u toku video komunikacija. Na
transportnom sloju svaki posebni io poataka koji se krede o izvorita ka oreitu prestavlja
komunikaciju. Da bi se identificirao svaki segmenat podataka, transportni sloj oaje zaglavlje koji sari
polja bita. Vrijenost ovih bita u oreenim poljima omogudava protokolima transportnog sloja a
izvoe razliite funkcije.7
6Cisco Networking Academy [datum pristupa: 01.08.12],
7S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 496,
497.
-
8/13/2019 Transportni sloj TCP/IP modela
7/34
Slika. Segmentiranje podataka
Uspostavljanje sesije, pouzdana isporuka i dostava u tanom rasporedu
Transportni sloj omogudava konekcijski orjentiranu komunikaciju stvaranjem sesije izmeu aplikacija.
Ove sesije pripremaju aplikacije a komuniciraju meusobno prije nego se bilo kakav poatak poalje.
Unutar ovih sesija mogude je upravljati poacima za komunikaciju izmeu vije aplikacije.
Iz vie razloga, mogude je a poatak bue oteden ili potpuno izgubljen za vrijeme transmisije kroz
mreu. Transportni sloj osigurava prispjede svih ijelova poataka na njihovo oreite jer vri ponovno
slanje (retransmisiju) podataka koji se izgube.
Poto mree omogudavaju vie ruta za transmisiju o istog izvorita ka istom oreitu, poaci mogu
olaziti u pogrenom reoslijeu. Numerisanjem i ojeljivanjem brojeva sekvence svakom segmentu,
transportni sloj osigurava a su ovi segmenti pravilno reasemblirani na oreitu.
Kontrola toka podataka
Mreni ureaji imaju ograniene resurse, kao npr. memoriju ili propusni opseg. Kaa transportni sloj
primjeti a su resursi prezasideni, neki protokoli mogu zahtjevati o aplikacije a smanji koliinu
-
8/13/2019 Transportni sloj TCP/IP modela
8/34
poataka koju alje. Ovo se rai na transportnom sloju regulisanjem koliine poataka. Kontrola toka
poataka moe sprijeiti gubitak segmenata na mrei i izbjegavati potrebu za ponovnom transmisijom.8
Osiguravanje pouzdane komunikacije
Kao to je ved naveeno, primarna svrha transportnog sloja je upravljanje aplikacijskim podacima za
komunikaciju izmeu hostova. Razliite aplikacije imaju i razliite zahtjeve za svoje poatke, a samim
time su razvijeni i razliiti protokoli transportnog sloja a bi se osiguralo zaovoljenje ovih zahtjeva.
Transportni sloj i njegovi protokoli mogu implementirati metode za osiguravanje pouzdane dostave
poataka. U smislu mree, pouzanost porazumijeva osiguravanje a svaki io informacije uspjeno
stigne na oreite.
Na transportnom sloju osnovne operacije vezane za pouzdanost su:
pradenje poslanih poataka, potvrda primljenih podataka, ponovno slanje podataka za koje nije primljena potvrda.
Zatjeva se od procesa na transportnom sloju na izvoritu a voi rauna o tome svakom ijelu
komunikacije, kao i a vri retransmisiju svih izgubljenih ijelova za koje nisu stigle potvre o prijemu.
Na oreitu, uloga procesa transportnog sloja je a isto tako prate svak i dio komunikacije koji prime i
a alju potvru o primitku.
Ovi procesi kojima se osigurava pouzanost,prenosa uzrokuju oatno opteredenje mrenih resursazbog potvra koje se moraju slati, pradenja komunikacije i retransmisije. Za osiguravanje pouzanosti
komunikacije alje se vie kontrolnih informacija izmeu izvorita i oreita. To su informacije sarane
u zaglavljima etvrtog sloja. Strunjaci za razvoj aplikacija moraju izabrati koji je protokol transportnog
sloja prikladan za njihovu aplikaciju bazirano na zahtjevima aplikacije.
Na transportnom sloju postoje protokoli koji ili specifiraju metode za pouzdanu, garantovanu isporuku ili
za best-effort isporuku. U kontekstu mree, best-effort ostava se smatra nepouzanom ostavom
jer ne postoje potvrde koje garantuju da je dio informacije dostavljen na odreite. Ovakve mogudnosti
dovode do situacije kada je potrebno procijeniti i odmjeriti potrebe za pouzdanosti komunikacije i
opteredenja koji ovakva pouzanost onosi mrei.9
8S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 522.
9Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
9/34
Slika. Pouzana i best effort isporuka
Odreivanje potrebe za pouzdanou
Apikacije, kao to su baze poataka, web stranice, e-mail, zahtjevaju a svi poaci koji se alju pristignu
na oreite u normalnom stanju kako bi pristigli poaci imali vrijenost za oreite. Bilo koji poatak
koji se izgubi moe uzrokovati greke u komunikaciji i poruka moe biti nepotpuna ili je mogude a se ne
moe proitati. Zato su ove aplikacije izajnirane a koriste protokol transportnog sloja koji
implementira pouzanost. Doatno opteredenje mree se smatra neophonim kako bi se osiguralo
uspjeno funkcionisanje ovih aplikacija.
Druge aplikacije su vie tolerantne prema manjim gubicima poataka. Naprimjer, ako jean ili dva
segmenta vieo prenosa ne stignu na oreite, to de prouzrokovati samo trenutni, kratkotrajni zastoj
slike. Ovo moe rezultovati egraacijom slike, ali moe i a bue potpuno neprimjedeno ili zanemareno
od strane korisnika koji gleda neki video prenos.
Uvoenje opteredenja mree koje izaziva osiguranje pouzanosti za ove vrste aplikacija moglo bi a
smanji korisnost aplikacije. Slika u vieo prenosu bi bila znaajno egrairana kaa bi oreini ureaj
morao etektovati izgubljene poatke i ogaati prikazivanje slike ekajudi a izgubljeni io bue
ponovo poslan. Bolje je prikazati sliku najboljm mogudim kvalitetom koji je mogud u oreenom
trenutku sa segmentima koji su ved pristigli nautrob pouzanosti. Ako se pouzanost ipak razmatra iznekih razloga, aplikacija ipak moe provjeravati greke i slati zahtjeve za retransmisijom.
-
8/13/2019 Transportni sloj TCP/IP modela
10/34
1
Slika. Osobine protokola transportnog sloja
Na slici prikazane su karakteristike razliitih protokola transportnog sloja. U sluaju IP telefonije i vieo
komunikacije potrebne su sljeede osobine protokola:
Brzina, Malo zaglavlje, Ne zahtijeva potvre o prispjedu, Ne vri transmisiju izgubljenih podataka i Dijelove poataka ostavlja aplikaciji onako kako stiu. U sluaju e-maila i web pretraivanja potrebne su sljeede osobine protokola: Pouzdanost, Potvra o prispjedu poataka, Ponovno slanje izgubljenih podataka i Dijelove podataka dostavlja aplikaciji onako kako su poslani.10
Osnovni protokoli transportnog sloja u IP mreama
Dva najede koritena protokola transportnog sloja u TCP/IP slojevitom moelima su TransmissionControl Protocol (TCP) i User Datagram Protocol (UDP). Oba ova protokola upravljaju komunikacijom
vie aplikacija.Razlikuju se u specifinim funkcijama koje implementiraju.
10Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
11/34
1
Slika. TCP i UDP zaglavlja
UDP je jednostavan beskonekcijski protokol opisan u RFC-u 768. Prednost mu je osiguravanje malog
opteredenja mree pri isporuci poataka. Dijelovi komunikacije u UDP -u se nazivaju datagrami. Ovaj
protokol koristi best effort princip za slanje atagrama. Aplikacije koje koriste UDP ukljuuju:
Domain Name System (DNS), Video Streaming, Voice over IP (VoIP).
TCP je konekcijski orjentiran protokol opisan u RFCu 793. On moe ovesti o oatnog opteredenja pri
izvravanju svojih funkcija. Doate funkcije specificirane u TCP u su: pravilan redoslijed isporuke,
pouzdana isporuka i kontrola toka. Svaki TCP segment ima dodatnih 20 bajta u zaglavlju koja se dodaju u
procesu enkapsulacije, za razliku od UDP segmenta koji ima samo 8 Bajta. Aplikacije koje koriste TCP su:
Web Browsers, E-mail, File Transfer.
Razmotrimo primjer kompjutera koji simultano alje i prima e -mail poruke, instan messaging poruke,
pregleda web stranice i obavlja VoIP poziv. Da bi se razlikovali segmenti i datagrami za svaku aplikaciju, i
TCP i UDP zaglavlja sare polja koja mogu jeinstveno ientificirati ove aplikacije. Ovaj jeinstveni
identifikator se naziva broj porta.
-
8/13/2019 Transportni sloj TCP/IP modela
12/34
1
U zaglavlju svakog segmenta ili atagrama nalazi se broj porta izvorinog i oreinog vora. Izvorini
broj portaje broj za ovu komunikaciju povezan sa izvorinom aplikacijom na lokalnom hostu. Oreini
broj porta je broj za ovu komunikaciju koji prestavlja aplikaciju na oreitu, tj. na ualjenom hostu.
Broj porta se ojeljuje na razliite naine, zavisno o toga da li je poruka zahtjev ili odgovor. Dok
serverski procesi imaju ojeljene statine brojeve porta, klijentski port brojevi se inamiki oreuju zasvaku konverzaciju.
Kaa klijentska aplikacija poalje zahtjev ka serverskoj aplikaciji, broj porta saran u zaglavlju se onosi
na aplikaciju koja je pokrenuta na izvorinom ureaju. Klijent na izvoritu mora poznavati broj porta na
serveru ili ualjenom voru, tj. oreitu. Broj porta na oreitu je konfigurisan po efaultu ili runo.
Naprimjer, kada web browser aplikacija alje zahtjev prema web serveru, browser koristi TCP i port 80
ukoliko nije rugaije specificirano. To je zato jer je broj porta 80 ojeljen ovakvoj vrsti web aplikacija.
Mnoge uobiajene aplikacije imaju preefinisan broj porta.
Broj porta izvorine aplikacije se u rugim sluajevima sluajno bira o brojeva izna 1024. Sve ok se ne
preklapa sa rugim brojevima portova koji se koriste, klijent ima slobou oreivanja bilo kojegsluajnog broja porta za neku aplikaciju, ili se moe koristiti broj porta automatski dodjeljen od strane
koritenog operativnog sistema.Ovaj broj porta se prati, kao i aplikacija koja je pokrenula komunikaciju
kako bi se u sluaju ogovora on mogao poslati na aresu ogovarajude aplikacije. Broj porta se, u
skladu sa ovim, smatra i povratnom adresom.
Kombinacija broja porta i IP arese ientificira tanu aplikaciju koja je pokrenuta na oreinom
ureaju. Ova kombinacija se naziva Socket. Npr., zahtjev za prikazivanjem HTTP web stranice koji se alje
ka web serveru (port 80) koji se pokrede na host raunaru sa IPv4 aresom tredeg sloja 192.168.1.20 de
imati socket 192.168.1.20:80.11
11S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 501-
503.
-
8/13/2019 Transportni sloj TCP/IP modela
13/34
1
Slika. Adresiranje aplikacija brojevima porta
Brojeve porta oreuje Internet Assigne Numbers Authority (IANA). To je tijelokoje propisuje standare
vezane za adresiranje portova.
Postoje razliite vrste brojeva porta:
Well Known (dobro poznati) port-ovi od 0 do 1023 ovi brojevi su rezervisani za servise i aplikacije.
Najedce se koriste za aplikacije kao to su: HTTP (web server), POP3/SMTP (e-mail server) i Telnet.
Definisanjem ovih well-known portova za serverske aplikacije, klijentske aplikacije mogu biti
programirane da zahtijevaju konekciju ka tom specificiranom portu i povezanoj usluzi.
Registrovani portovi (od 1024 do 49151) ovi brojevi portova se ojeljeni korisnikim procesima ili
aplikacijama. Ovi procesi su primarno individualne aplikacije koje je korisnik izabrao da instalira radije
nego uobiajene aplikacije koje imaju well-known portove. Kada se ne koriste za serverske resurse, ovi
brojevi portova mogu se ,takoer, izabrati inamiki o strane klijenta kao njegov izvorini port.
-
8/13/2019 Transportni sloj TCP/IP modela
14/34
1
Slika. Registrovani i well-known TCP i UDP portovi
Dinamiki ili privatni portovi o 49152 o 65535takoer poznati i kao ephemeral ports. Ovi brojevi
porta se inamiki ojeljuju korisnikim procesima ili aplikacijama koje iniciraju konekciju. Nije previe
esta situacija a se klijent konektuje na uslugu koristedi inamiki ili privatni port, iako postoje neki
peer-to-peer programi koji to rade.12
Vrijenost portova obino je u sklau s preporukama meunarone organizacije za stanare IANA
(Internet Assigned Numbers Authority). Dio preporuka prikazan je u narednoj tabeli. Uz vrijednost porta
prikazan je i protokol koji ga porava, te u nastavku pojam i opis pojma na koji se port onosi.
Poneka je potrebno poznavati koje su aktivne TCP konekcije na oreenom hostu. Netstat je vana
mrena mogudnost koja se koristi za verificiranje tih konekcija. Netstat izlistava protokole u upotrebi,
lokalnu aresu i broj porta, aresu ualjenog raunara i broja porta, kao i stanje konekcije.
12Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
15/34
1
Neobjanjene TCP konekcije mogu prestavljati vede sigurnosne prijetnje. To moe inicirati a je neko
ili neto konektovano nelegitimno na lokalni host. Doatno, nepotrebne TCP konekcije mogu troiti
vrijene sistemske resurse i tako usporavati performanse host ureaja. Netstat bi se trebao koristiti da
se ispitaju otvorene konekcije na hostu kaa se ini a su performanse kompromitovane.
Slika. Rezultat komande netstat u command prompt-u
Neke aplikacije alju velike koliine poataka, u nekim sluajevima i vie gigabajta. Bilo bi nepraktinoslati ove poatke u jenom velikom ijelu. Ovaj veliki io bi onemogudio slanje bilo kakvog drugog
poataka u isto vrijeme. Samo slanje bi trajalo nekoliko minuta ili ak sati. U sluaju greke cijeli poatak
bi se izgubio, a ponovno slanje bi zahtjevalo vie vremena i stvaralo bi ponovno zaguenje. Mreni
ureaji ne bi imali ovoljno memorije a pohrane ovolike koliine poataka ok se prenose ili primaju.
Slika. Funkcije transportnog sloja
-
8/13/2019 Transportni sloj TCP/IP modela
16/34
1
Djeljenje poataka u ijelove omogudava a se poaci alju u sklau sa granicama meija i
multipleksiranje poataka razliitih aplikacija. TCP i UDP protokoli segmentiraju poatke na razliite
naine.13
U TCP u svako zaglavalje segmenta sari broj sekvence. Ovaj broj sekvence slui za reasembliranje
segmenata u pravilnom reoslijeu na oreitu. Ovo osigurava a oreina aplikacija primipodataktano onako kako ga je izvorina aplikacija poslala.
Iako aplikacije koje koriste UDP takoer prate komunikaciju izmeu aplikacija, nisu osjetljive na
reoslije informacija ili na oravanje konekcije. Ne postoji broj sekvence u UDP zaglavlju. UDP je
jenostavniji i stvara manje zasidenja o TCP-a, to rezultira brom razmjenom poataka.
Informacije mogu stidi u nepravilnom reoslijeu jer postoje razliiti putevi u mrei o izvorita o
oreita, na to aplikacije koje koriste UDP nisu osjetiljive.
TCP (Transmition Control Protocol)
Usluga koju TCP (Transmission Control Protocol) protokol daje aplikaciji ima sedam osnovnih osobina:
Konekcijski orjentisana usluga. TCP prua konekcijski orjentisanu usluga u kojoj aplikacija moraprvo uspostaviti konekciju sa aplikacijom na oreitu, a zatim koristiti tu konekciju za slanje
poataka. Uspostavljanje konekcije se vri pomodu procesa koji se zove three way hanshake.
Point to point komunikacija. Svaka TCP konecija ima tano vije krajnje take. Potpuna pouzanost. TCP garantuje a de poaci poslani preko uspostavljene konekcije biti
ostavljeni tano onako kako su poslani, kompletni i tano onim reoslijeom kojim su poslani.
TCP trai potvru o prijemu paketa o strane oreita. Ta potvrda se zove acknowledgement.
Full Duplex komunikacija. TCP konekcija dozvoljava podacima da idu u oba smijera, i dozvoljavaza oba aplikacijska programa slanje u bilo kojem trenutku.
Stream interface. TCP prua stream interface u kojem aplikacija alje kontinualnu sekvencuokteta preko konekcije. TCP ne grupira poatke u zapise ili poruke, i ne garantuje a de ostaviti
poatke u ijelovima iste veliine kako su poslani o strane aplikacije.
Pouzdano uspostavljanje konekcije. Raskianje konekcije se vri nakon to se utvri a su svi poaci ispravno primljeni i a obje
strane ele raskinuti konekciju.14
TCP je zauen i za kontrolu toka poataka. Pomodu mehanizma kliznog prozora (sliingwinow), TCP oreuje winow size koji su poiljalac i primalac programirani a koriste.
13S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 527.14
E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 430.
-
8/13/2019 Transportni sloj TCP/IP modela
17/34
1
Winow size je veliina prozora, onosno maksimalni broj paketa koje poiljalac moe a poalje
bez prijema potvre o njihovom prispjedu na oreite.
TCP porava i kontrolu zaguenja. Koristi kanjenje kao mjeru zaguenja i ogovara nazaguenje smanjujudi brzinu kojom alje poatke poeavajudi veliinu prozora.
Zaglavlje TCP protokola
Polja TCP zaglavlja su:
Source port Number: Broj TCP sesije otvorene na izvorinom raunara koja oznaava kojojaplikaciji pripaaju poaci koji se prenose. Obino je sluajan broj preko 1024.
Destination Number: Ientificira protokol vieg sloja ili aplikaciju na oreinoj strani. Sequence Number: Specificira broj posljednjeg okteta u segmentu. Acknowlegement Number: Specificira broj slijeedeg oktetakoji prijemnik oekuje a primi. Header Length: Duina zaglavlja u bajtima. Flags: Koristi se u upravljanju sesijom i tretiranju segmenata. Winow size: Koliko okteta moe bitiposlano prije nego se primi potvrda. TCP Checksum: Kontrolni zbroj; rauna se kao 16-bitni komplement jedinice komplementa zbira
svih 16-bitnih rijei u zaglavlju i poacima; pokriva i 96 bitova pseuozaglavlja koje sari
izvorinu i oreinu aresu, protokol i uinu TCP zaglavlja i poataka. Koristi se za provjeru
greaka u zaglavlju i poacima.
Urgent Pointer: Koristi se samo sa URG (urgent) zastavicom. Options: Options mogu, a ne moraju biti ukljuene; ako postoje, veliine su x8 bita, Paing je
dopuna nulama o 32 bita. Izbori (vie njih) prenose se na kraju TCP -a zaglavlja i uvijek imaju
uinu koja je sastavljena o broja pomnoenog sa 8bita. Svi izbori ukljueni su u kontrolni zbir.
Svaki pojeini izbor mora zapoeti na granici izmeu okteta. Dvije su mogude forme za neki o
izbora: Opcija veliine jenog okteta i izbor znaaja okteta, izbor uine okteta i izbor poataka
u oktetu. U uini okteta ukljuuje se tip okteta i poaci koji mu pripaaju. Ako su izbori kradi o
vrijednosti koja je proizvod skupine jednog redka zaglavlja, ostatak po izboru mora se ispuniti
nulama. TCP mora saravati sve raspoloive opcije.
Data: Aplikacijski podaci.15
15S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 557-
560.
-
8/13/2019 Transportni sloj TCP/IP modela
18/34
1
16 32
Source port Destination port
Sequence number
Acknowledgement number
Offset Resrvd U A P R S F Window
Checksum Urgent pointer
Option + Padding
Data
Struktura TCP zaglavlja u 32b redovima
Slika. Zaglavlje TCP protokola
Pouzdana komunikacija
Osnovna razlika izmeu TCP-a i UDP-a je pouzdanost. Pouzdanost TCP-a se osigurava koristedi
konekcijski orjetirane sesije. Prije nego host koji koristi TCP poalje poatke rugom hostu, transportni
sloj inicira proces koji uspostavlja konekciju sa oreitem. Ova konekcija omogudava pradenje sesije, ili
toka komunikacije izmeu hostova. Ovo znai da je svaki host svjestan komunikacije i pripremljen.
Kompletna TCP komunikacja zahtjeva uspostavljanje sesije izmeu hostova u oba smjera.16
Nakon to je sesija uspostavljena, oreite alje potvru poiljaocu za one segmente koji su primljeni.
Ove potvre ine osnovu pouzanosti jene TCP sesije. Kaa izvorite primi potvru, zakljuuje kako je
oreeni segment poataka primljen i ne mora vie a ga prati. Ako izvor ne primi potvru unutar nekog
preefinisanog vremenskog perioa, ponovo alje taj poatakoreitu.17
Dio oatnog opteredenja i nekorisnog ijela informacije koji TCP generie na mrei otpaa na potvre i
ponovna slanja izgubljenih poataka. Uspostavljanje sesije ,takoer, oatno optereduje mreu u viu
novih segmenata koji se razmjenjuju. Doatno opteredenje se manifestira i u viu potrebe a se prate
koji segmenti ekaju na potvru i retransmisijske procese. Pouzdanost je postignuta poljima u TCP
segmentu, od kojih svako ima posebnu funkciju.
16S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 522.17Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
19/34
1
Serverski procesi
Kao to je ved opisano u rau, aplikacijski procesi rae na serveru. Ovi procesi ekaju a klijent inicira
komunikaciju zahtjevom za informacijom ili uslugom.
Svaki aplikacijski proces koji je radi na serveru je konfigurisan port brojem, automatski ili manuelno od
strane administratora sistema. Jean server ne moe imati vije usluge ojeljene istom port broju u
istoj usluzi transportnog sloja. Host koji ima pokrenutu web server aplikaciju i aplikaciju razmjene
poataka ne moe biti konfigurisan a koristi isti broj porta (npr. TCP port 8080). Kada se aktivnoj server
aplikaciji ojeli oreeni broj porta, taj broj se smatra otvorenim na serveru. Ovo znai a transportni
sloj prima i procesira segmente aresirane na taj port. Bilo koji olazedi klijentski zahtjev, aresiran na
taan socket se prihvata i poaci se proslijeuju serverskoj aplikaciji. Mogude je a simultano bue
otvoreno vie portova na serveru, po jean za svaku aktivnu serversku aplikaciju. Uobiajano je a
server nui vie o jene usluge, kao to je web server i FTP server u isto vrijeme.
Jean nain za poboljanje sigurnosti na severu je a se zabrani pristup, osim onim portovima koji sudodijeljeni aplikacijama koje se mogu koristiti od strane autorizovanih korisnika.
Slika ispo prikazuje tipinu alokaciju izvorinog i oreinog porta u TCP klijent/server operacijama.
Slika. Klijentski zahtjevi i brojevi portova
Uspostavljanje i prekid konekcije
Kaa va hosta komuniciraju koristedi TCP, konekcija se uspostavlja prije nego se poaci razmjene.
Nakon to se zavri komunikacija, sesija se zatvori i konekcija prekine. Konekcijski i sesijski mehanizmi
omogudavaju TCP-u funkciju poudanosti.
-
8/13/2019 Transportni sloj TCP/IP modela
20/34
2
Host prati svaki segment podataka u sesiji i razmjenjuje informacije o tome koji je podatak primljen na
svakom hostu koristedi informacije sarane u TCP zaglavlju.18
Svaka konekcija ukljuuje jenosmjernu komunikaciju, ili sesiju za uspostavljanje i raskianje TCP
procesa izmeu kranjih ureaja. Za uspostvljanje ove konekcije, host izvrava proces three-way
hanshake. Kontrolni biti u TCP zaglavlju indiciraju status i odvijanje konekcije. Three-way handshake:
Ustanovljava a je oreini ureaj u mrei.
Verificira a oreini ureaj ima aktivnu usluga i prihvata zahtjeve na oreini broj porta koji klijent
koji inicira komunikaciju namjerava koristiti za sesiju.
Informie oreini ureaj a izvorini klijent namjerava uspostaviti konekciju sa tim brojem porta.
U TCP konekcijama, host koji je klijent inicira sesiju prema serveru. Za razumijevanje procesa three-way
handshake i njegovog funkcionisanja u TCP-u, bitno je razmotriti razliite vrijenosti koje va hosta
razmjenjuju. Tri koraka u uspostavljanju TCP konekcije su:
1. Klijent koji inicira konekciju alje segment koji sarava inicijalnu vrijenost sekvence, to sluikao zahtjev serveru za zapoinjanje komunikacijske sesije.
2. Server ogovara segmentom koji sari vrijenost potvre koja je jenaka zbiru primljnog brojasekvence i broja jedan, kao i svoju vlastitu vrijednost sinhronizacijske sekvence. Vrijednost je za
jedan veda o broja sekvence jer je potvra uvijek sljeedi byte ili oktet. Vrijenost potvre
omogudava klijentu a povee ogovor sa originalnim segmentom koji je poslan na server.
3. Klijent koji je inicirao konekciju ogovara vrijenodu potvre jenakom vrijednosti sekvencekoju je primio plus jean. Ovo okonava proces uspostavljanja konekcije.19
TCP three-way handshake
Koristedi program wireshark i analiziranjem paketa moemo ispitati i objasniti proces three-way
handshakeuspostavnja konekcije u TCP protokolu.
18S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 560-
562.19
E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 442, 443.
-
8/13/2019 Transportni sloj TCP/IP modela
21/34
2
Slika. Uspostavljanje TCP konekcije
Korak 1.
TCP klijent zapoinje three-way handshake slanjem segmenta sa SYN (Synchronize Sequence Number)
postavljenom zastavicom, indiciraju inicijalnu vrijednost polja broja sekvence u zaglavlju. Ova inicijalna
vrijenost broja sekvence, poznata kao ISN (Initial Sequence Number), se bira sluajno i koristi se za
zapoinjanje pradenja toka poataka o klijanta ka serveru za ovu sesiju. ISN u u zaglavlju svakog
segmenta se poveda za jean za svaki byte poatak koji klijent alje na server ok se komunikacija
odvija.
Kao to je prikazano na slici iz programa Wireshark, output iz analize protokola pokazuje SYN kontrolnu
zastavicu i povezani broj sekvence.
SYN kontrolna zastavica je postavljena, a broj sekvence je 0. Iako je u analizi protokola vrijednostsekvence i potvrde prikazana kao decimalni, stvarna vrijednost je 32-bitni binarni broj.
Korak 2.
TCP server mora da potvrdi prijem SYN segmenta od klijenta a bi se uspostavila sesija izmeu klijenta i
servera. Da bi to uraio, server alje segment naza o klijenta sa ACK postavljenom ACK zastavicom i
tako ukazuje a je broj potvre znaajan. Sa ovom zastavicom postavljenom u segmentu, klijent
prepoznaje segment kao potvrdu da je server primio njegov segment sa SYN zastavicom.
Vrijednost polja u kome se nalazi broj potvrde je jednak inicijalnoj vrijednosti klijentskog broja sekvence
uvedanog za jean. Sesija izmeu klijenta i servera je na ovaj nain uspostavljena. ACK zastavica de ostati
postavljena za potrebe sesije. Razgovor izmeu klijenta i servera je vosmjerna sesija, o klijenta o
servera i od servera do klijenta. U drugom koraku three-way handshake uspostave konekcije, server
mora inicirati odgovor o servera prema klijentu. Za zapoinjanje ove sesije, server koristi SYN zastavicu
na isti nain kako je to raio i klijent. Postavlja SYN kontrolnu zastavicu u zaglavlje kako bi uspostavio
-
8/13/2019 Transportni sloj TCP/IP modela
22/34
2
sesiju od servera ka klijentu. SYN zastavica indicira da je se u zaglavlju nalazi inicijalna vrijednost broja
sekvence. Vrijenost de biti koritena za pradenje toka poataka u ovoj sesiji o servera naza ka
klijentu.
Kao to je pikazano na slici, analiza protokola pokazuje a su ACK i SYN kontrolne zastavice post avljene i
prikazani su brojevi sekvence i potvrde.
Korak 3.
Konano, TCP klijent ogovara segmentom koji sari ACK koji je ogovor na TCP SYN poslan o strane
servera. Nema korisnikih poataka u segmentu. Vrijenost u polju koje sari broj sekvence je za jedan
veda o inicijalnog broja sekvence primljenog o servera. Jenom kaa su obje sesije uspostavljene
izmeu klijeta i servera, svi oatni segmenti razmjenjeni u ovoj komunikaciji de imati postavljenu ACK
zastavicu.
Za zatvaranje konekcije potrebno je postaviti FIN kontrolnu zastavicu u zaglavlju segmenta. Za zatvaranje
svake jednosmjerne TCP sesije, koristi se two-way handshake koji se sastoji od FIN segmenta i ACK
segmenta. Stoga, za prekianje jenog razgovora poranog TCP-om, potrebno je da se izvre etiri
razmjene segmenta.
Slika. Rasidanje TCP konekcije
Pri objaanjavanju koriste se pojmovi klijent i server rai pojenostavljivanja, ali prekianje sesije moe
biti inicirano o strane bilo koja va hosta koja su zavrila sesiju:
Kada klijent nema vie poataka za slanje on alje segment sa postavljenom FIN zastavicom. Server alje ACK kako bi potvrio prijem FIN segmenta za prekianje sesije o klijenta ka
serveru.
Server alje FIN klijentu kako bi prekinuo sesiju o servera ka klijentu. Klijent odgovara ACK potvrdom kako bi potvrdio serveru prijem njegovog FIN segmenta. Kao to je prikazano na slici, FIN i ACK kontrolne zastavice su postavljene u zaglavlju segmenta,
tako zatvarajudi HTTP sesiju.
-
8/13/2019 Transportni sloj TCP/IP modela
23/34
2
Mogude je i zatvoriti sesiju pomodu procesa three-way hanshake. Kaa klijent nema viepodataka za
poslati, on alje FIN serveru. Ako server takoer nema vie poataka za poslati, mogude je a ogovori i
sa FIN i sa ACK postavljenim zastavicama, tako kombinirajudi va koraka u jean. Jo je samo ostalo da
klijent odgovori sa ACK.
TCP reasembliranje (ponovno spajanje) segmenata
Kaa usluge alju poatke koristedi TCP, segmenti mogu stidi na oreite u nepravilnom reoslijeu.
Kako bi primatelj mogao da razumije originalnu poruku, podaci u ovim segmentima se reasembliraju u
originalan raspore. Brojevi sekvence su ojeljeni u zaglavlju svakog paketa kako bi vradanje u
originalni reoslije bilo mogude.
Tokom uspostavljanja sesije, postavlja se ISN (Initial Sequence Number). ISN prestavlja poetnu
vrijenost za ovu sesiju za bajtekoji de biti preneeni o aplikacije koja prima poatke. Dok se poacialju tokom trajanja sesije, broj sekvence se povedava za broj bita koji su bili preneeni. Ovo pradenje
poataka omogudava a se svaki segmet moe jeinstveno identificirati i potvrditi, samim tim se mogu
ustanoviti i segmenti koji su izgubljeni.
Brojevi sekvence segmenta omogudavaju pouzanost tako to pokazuju kako reasemblirati i poreati
segmente u pravilan re, to je prikazano na slici.20
Slika. TCP vrada segmente u originalni reoslije
20E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 432, 433.
-
8/13/2019 Transportni sloj TCP/IP modela
24/34
2
TCP proces na prijemnoj strani stavlja poatke iz segmena u prijemni buffer. Segmenti se pomodu
brojeva sekvecne stavljaju u pravilan reoslije i nakon reasembliranja proslijeuju aplikacijskom sloju.
Svi segmenti koji olaze sa brojem sekvence koji nije kontinualan (ne moe se nastaviti na segmente koji
su o taa pristigli) zarava se rai kasnijeg procesiranja. Ona, kaa segmenti sabajtima koji su
nedostajali pristignu, ti segmenti se procesiraju na odgovarajudi nain.
TCP potvrde (acknowledgement) i prozori
Jedna od funkcija TCP-a je a se pobrine a svaki segment stigne o svog oreita. TCP usluge na
oreinom hostu potvruju prijem poataka.
Broj sekvence segmenta u zaglavlju i broj potvrde se koriste za potvru prijema bajta poatka saranih
u segmentu. Broj sekvence je broj bita koji su preneeni u sesiji uvedan za jean (to prestavlja broj
prvog bajt podataka u trenutnom segmentu). TCP koristi broj potvrde u segmentima poslanim natrag kaizvoritu a ukae na slijeedi bajt u ovoj sesiji koji primatelj oekuje a primi. Ovo se naziva oekivana
potvrda.
Izvorite se informie a je oreite primilo sve bajte u ovom toku poatka o, ali ne i ukljuujudi bajte
na koje ukazuje broj potvrde. Svaka konekcija je, kao to je ved ranije reeno, vosmjerna sesija. Brojevi
sekvence i potvrde se razmjenjuju u oba smjera.
Slika. TCP prozor i moguda stanja segmenata pri slanju21
U primjeru na slici ispo, host sa lijeve strane alje poatke hostu sa esnestrane. alje segment koji
sari 10 bajta poataka ove sesije i broj sekvence jenak broju u zaglavlju. Host na esnoj strani prima
segmente na sloju 4 i zakljuuje a je broj sekvence 1 i a ima 10 bajta poataka. Host zatim alje
segment natrag do hosta na lijevoj stranida bi potvrdio prijem podataka. U ovom segmentu host
21E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 435.
-
8/13/2019 Transportni sloj TCP/IP modela
25/34
2
postavlja broj potvre na vrijenost 11 a bi ukazao kako je sljeedi broj bajta koji oekuje a de primiti
11. Primjedujemo a vrijenost ACK potvre na izvoritu ostaje 1 a bi ukaza la da je segment dio
konverzacije koja se trenutno odvija i broj u polju Acknowledgment Number je validno. Kada host na
lijevoj strani koji alje poatke primi ovu potvru, moe poslati slijeedi segment koji sari poatke ove
sesije poevi sa brojem bajta 11.
Gleajudi kroz ovaj primjer, kaa bi host koji alje poatke morao ekati na potvru prijema svakih 10
bajta, mrea bi imala mnogo oatnog opteredenja. Kako bi se smanjila koliina potvra koje se alju,
vie segmenata moe biti poslano u jenom smjeru, a samo jedan segment sa potvrdom o prijemu tih
segmenata u rugom smjeru. Ova potvra sari broj potvre koji prestavlja konanu sumu
bajtaprimljenih u sesiji. Npr., ako je poetni broj sekvence 2000, i ako ima 10 segmenata po 1000 bajta
od kojih su svi ispravni primljeni, broj potvre 12000 bi bio poslan ka izvoritu.22
Koliina poataka koju izvor moe a prenese prije nego to se primi potvra o njihovom prijemu na
oreituse naziva veliina prozora (window size).
Slika. Potvrde o prijemu TCP segmenata
TCP retransmisija rjeavanje problema izgubljenih segmenata
Bez obzira koliko je obro mrea izajnirana gubici poataka de se svejeno povremeno eavati. Zbog
toga TCP prua metoe upravljanja ovim izgubljenim segmentima. Meu tim metoama je i mehanizam
retransmisije segmenata za koje nije primljena potvrda.
22Cisco Networking Academy [datum pristupa: 01.08.12],
-
8/13/2019 Transportni sloj TCP/IP modela
26/34
2
Usluga na oreinom hostu koja koristi TCP obino potvruje poatke za kontinualne sekvence bajta.
Ukoliko jean ili vie segmenata izostane, onosno izgubi se, samo se potvruju prijemi podataka koji
kompletiraju kontinualan tok podatka.
Npr., ako su segmenti sa brojem sekvence 1500 do 3000 i 3400 do 3500 primljeni, broj potvrde bi bio
3001, zato to segmenti sa brojem sekvence o 3001 o 3399 nisu primljeni.
Kaa TCP na izvorinom hostu ne primi potvrdu nakon nekog predefinisanog vremenskog perioda, vratiti
de se na broj posljenje primljene potvre i poslati ponovo poatke o te take pa naalje.
Ponovno slanje podataka (retransmisija) je proces koji nije secificiran u RFC-u, nego je ostavljno da se
prilagoava razliitim implementacijama TCP-a.
Za tipinu TCP implementaciju, host moe prenositi segment, staviti kopiju segmenta u retransmisijski
re i startovati vremenski tajmer. Kaa se primi potvra segment se brie iz rea. Ako pot vrda nije
primljena prije nego istekne efinisano vrijeme, segment se ponovo alje.23
Dananji host ureaji mogu, takoer, imati i opciju zvanu selektivne potvre (Selective
Acknowledgements).24
Ako oba hosta poravaju selektivne potvre, mogude je a oreite potvri
prijem nekontinuiranih segmenata i host koji alje bi u ovom sluaju mogao a poalje samo one
segmente koji nedostaju.
TCP kontrola zaguenja minimiziranje gubitka segmenata
TCP prua, takoer, i mehanizme kontrole toka. Kontrola toka asistira pouzdanosti TCP prenosapoeavajudi efektivnu brzinu protoka poataka izmeu vije usluge u sesiji. Kaa je izvor obavijeten
a je oreena koliina segmenata primljena, moe nastaviti slati vie poataka za ovu sesiju.
Polje winow size (veliina prozora) u TCP zaglavlju oznaava koliinu poataka koja moe biti preneena
prije nego se primi potvra. Inicijalna veliina prozora se oreuje tokom zapoinjanja sesije kroz proces
three-way handshake.25
TCP feeback mehanizam poeava efektivnu brzinu prenosa poataka o maksimalnog toka koji mrea
i oreini ureaj mogu porati bez gubitaka. TCP pokuava upravljati brzinom prenosa tako a svi
podaci budu primljeni i retransmisije budu minimizirane.26
Na slici je prikazana pojednostavljena reprezentacija veliine prozora i potvra. U ovom primjeru,
inicijalna veliina prozora za TCP sesiju koja je prestavljena na slici je postavljena na 3000 bajta. Kaa je
23Cisco Networking Academy [datum pristupa: 01.08.12],
24S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 580.
25E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 434.
26E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 438, 439.
-
8/13/2019 Transportni sloj TCP/IP modela
27/34
2
poiljalac poslao 3000 bajta on eka na potvru prijema ovih bajta prije nego poalje jos poatak a u toj
sesiji. Kaa poiljac obije potvru o primaoca on moe slati slijeedih 3000 bajta.27
Tokom kanjenja u ekanju potvre, poiljac nede slati oatne segmente za ovu sesiju. U perioima
mrenog zaguenja ili kaa su iscrpljeni resursi primatelja, kanjenje se moe povedati. Kako ovo
kanjenje raste, efektivna brzina prenosa poataka se smanjuje. Usporavanje brzine poataka pomae usmanjivanju nadmetanja za resursima.
28
Slika. TCP potve o prijemu i veliina prozora
UDP (User Datagram Protocol)
UDP Odmjeravanje izmeu optereenja i pouzdanosti
UDP je jenostavan protokol koji prua osnovne funkcije protokola transportnog sloja. Ima mnogo
manje poataka koji nisu korisni io informacije, a prenose se u segmentu, nego to je to sluaj ko TCP
protokola. UDP nije konekcijski orjetiran i ne prua sofisticiranu retransmisiju, sekvenciranje i
mehanizme kontrole toka.29
27Cisco Networking Academy [datum pristupa: 01.08.12],
28S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 523-
527.29
S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 541,
542.
-
8/13/2019 Transportni sloj TCP/IP modela
28/34
2
Ovo ne znai a su aplikacije koje koriste UDP protokol nepouzane, ved samo a ove funkcije nisu
pruene o strane protokola transportnog sloja i da se moraju implementirati negdje drugo ako je to
potrebno.
Iako je koliina saobradaja koji se prenosi mreom, a koji koristi UDP protokol relativno mala, kljuni
protokoli aplikacijskog sloja koji koriste usluge UDP protokola su:
Domain Name System (DNS); Simple Network Management Protocol (SNMP); Dynamic Host Configuration Protocol (DHCP); Routing Information Protocol (RIP); Trivial File Transfer Protocol (TFTP); Online igre.
Slika. UDP beskonekcijski protokol
Neke aplkacije, kao to su online igre ili VoIP, mogu tolerisati manje gubitke nekih podataka. Ako bi ove
aplikacije koristile TCP, moglo bi odi o vedih kanjenja jer TCP mora vriti etekciju izgubljenih
poataka i vriti retransmisiju. Ova kanjenja bi bila mnogo vie neprihvatljiva za aplikaciju nego to su
to mali gubici informacija. Neke aplikacije, kao to je DNS, de jenostavno ponovo poslati zahtjev za koji
nisu dobile odgovor, i zato ne moraju imati TCP garanciju o pristizanju poruke.
Malo oatno opteredenje koje UDPpravi ini ga veoma poeljnim nekim vrstama aplikacija.
Zaglavlje UDP datagrama
Znaenja polja zaglavlja UDP atagrama su:
-
8/13/2019 Transportni sloj TCP/IP modela
29/34
2
Source port - Izvorini broj porta usluge je opcionalno polje. Kaa se koristi, oznaava broj portaprocesa koji alje poatke. Na nju de odi ogovor kaa ne postoji ruga informacija. Ako se
polje ne koristi popuni se nulama.
Destination portOreini broj porta usluge. Length - Duina UDP atagrama u oktetima ukljuujudi zaglavlje i poatke. Minimalna uina
UDP datagrama je 8 okteta.
Checksum - Kontrolni zbroj zaglavlja, rauna se na osnovu pseuo zaglavlja iz IP i UDP zaglavlja ipoataka. Ako je polje ispunjeno nulama znai a preajnik nije raunao zbir, a ako je zbir
jednak nuli, prenosi se kao niz jedinica
DataPodaci.30
16 32
Source port Destination port
Length Checksum
Data
Struktura UDP zaglavlja u 32b redovima
Slika 21. UDP zaglavlje31
Multipleksiranje podataka razliitih aplikacija
UDP omogudava aplikacijama irektno koritenje usluga mrenog sloja, multipleksira promet razliitihaplikacija. Demultipleksiranje na granici transportne i aplikacijske razine prikazano je na slici.
30S. Tannenbaum, Andrew and J. Wetherall, David, Fifth edition 2011, Computer Networks, Prentice Hall, str. 542,
543.31E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 424.
-
8/13/2019 Transportni sloj TCP/IP modela
30/34
3
Slika. Demultipleksiranje UDP prometa pojedinih aplikacija
Demultipleksiranje se obavlja pomodu sljeede etvorke:
(, ,,)
gdje je:
,
,
,
.
Pomodu IP arese izvorita i broja porta izvorita ientificirana je jena aplikacija (npr. APP2), ok jepomodu IP arese oreita i broja porta oreita omogudeno paralelno ostvarivanje vie UDP veza na
istu aplikaciju. Drugim rijeima, neka aplikacija, preko jenog broja porta moe istovremeno
komunicirati s vie aplikacija na ualjenim raunarima.
Reasembliranje UDP datagrama
Zato to je beskonekcijski protokol, UDP sesije se ne uspostavljaju prije poetka komunikacije kao to je
to sluaj sa TCP-om. UDP se jo naziva i prenosno orjetiranim protokolom. Drugim rijeima, kaa
aplikacija ima poatke za slanje, ona jenostavno omah poalje te poatke.
Mnoge aplikacije koje koriste UDP alju male koliine poataka koje mogu da stanu u jedan segment.
Meutim, neke aplikacije de poslati vede koliine poataka koji moraju biti pojeljeni u vie segmenata.
Osnovna jedinici transpotnog sloja kada je u upotrebi UDP protkol naziva se datagram, iako se ponekad
oba termina i datagram i segment koriste za opis bilo koje osnovne jedinice transportnog sloja.
-
8/13/2019 Transportni sloj TCP/IP modela
31/34
3
Kaa se poalje vie atagrama na oreite, mogude je a o njega ou razliitim putevima kroz
mreu i tako stignu u pogrenom reoslijeu. UDP nema nain za ponovno vradanje prvob itnog
redoslijeda datagrama.
Slika. UDP kao nepouzdan i beskonekcijski protokol
Zbog te injenice, UDP jenostavno reasemblira poatke reoslijeom kojim su stigli i takve proslijeuje
aplikaciji. Ako je reoslije poataka bitan aplikaciji, ona de morati da odredi pravilan redoslijed
podataka i da odredi kako podaci trebaju biti procesirani.32
UDP serverski procesi i zahtjevi
Kao i TCP bazirane aplikacije, i UDP bazirane aplikacije imaju dodjeljene well-known ili registrovane
brojeve porta. Kada ove aplikacije ili procesi rae, oni de prihvatati poatke koji su aresirani na broj
porta koji im je priruen. Kaa UDP primi atagram za neki o ovih portova, proslijeuje aplikacijske
poatke ogovarajudoj aplikaciji bazirano na broju porta.
32E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 422, 423.
-
8/13/2019 Transportni sloj TCP/IP modela
32/34
-
8/13/2019 Transportni sloj TCP/IP modela
33/34
3
Slika. Slanje zahtjeva na ogovarajudi port i ogovor servera
Sluajni brojevi porta, takoer, su obri i za sigurnost na mrei. Ako postoji previiva shemanaina na
koji se izabiraju brojevi portova, napaa moe lako simulirati pristup klijentu pokuavajudi povezivanje
na broj porta za koji postoji obra vjerovatnoda a je ispravan.
Kako nema uspostavljana sesije ukoliko se koristi UDP, im poaci buu spremni za slanje i brojevi
portova buu efinisani, UDP moe formirati atagram i proslijeiti ga mrenom sloju na aresiranje i
slanje na mreu.33
Treba ima na umu da jednom kaa su brojevi izvorinog i oreinog porta izabrani, isti par portova dese koristi u zaglavljima svih atagrama koritenih u transakciji. Za poatke koji se vradaju o servera ka
klijentu, brojevi porta izvorita i oreita su obrnuti.
Pogodnosti UDP-a
Nekaa je bolje za prenos poruka koristiti UDP protokol umjesto TCP protokola. Neki o tih sluajeva su:
Prenos poataka aplikacija koje same osiguravaju pouzani prenos, ili kaa aplikacija oputamanje gubitke.
Slanje upita jenog raunara rugom raunaru, uz mogudnost ponavljanja upita ako ogovor nestigne nakon isteka oreenog vremenskog intervala.
33E. Comer, Douglas, Fifth edition 2009, Computer Networks and Internet, Prentice Hall, str. 421.
-
8/13/2019 Transportni sloj TCP/IP modela
34/34
Kaa je potrebno poslati manji blok poataka, veliine jenog paketa pa je jenostavnije i breprenositi samo podatke, bez dodatnih kontrola, a u sluaju pogrenog prijema poatke poslati
ponovno.
Neke aplikacije koriste i TCP i UDP. Npr., malo oatnih poataka omogudava DNS-u a poslui mnoge
klijentske zahtjeve vrlo brzo. Poneka ipak slanje traene informacije moe zahtjevati pouzanost TCP-a.U ovom sluaju, well-known broj porta 53 se koristi od strane oba protokola sa ovom uslugom.