You are on page 1of 7

Raunarske mree i komunikacije TCP i UDP protokoli

1

TCP i UDP protokoli
(trostruko rukovanje)
Zadaci sloja transporta su:
SAP adresovanje (taka pristupa servisu)
Segmentacija i reasembliranje poruke
Upravljanje konekcijom
Upravljanje protokom
Kontrola greaka



TCP/IP koncept




PDU i TCP/IP model


Raunarske mree i komunikacije TCP i UDP protokoli
2

SAP predstavlja identifikator (adresu) procesa u gornjem sloju (aplikacionog procesa u sluaju TCP/IP
modela ili procesa u sloju sesije u sluaju OSI modela). Izmeu sloja transporta moe postojati vie SAP-ova,
onoliko koliko se aplikacionih procesa odvija u datom raunaru.

TCP - Uspostavljanje konekcije

Sloj transporta prua dve osnovne vrste usluga:
Konekciono orijentisanu uslugu (TCP)
Beskonekcionu uslugu (UDP)

Konekciono orijentisana usluga se realizuje u tri faze: uspostavljanje konekcije, prenos podataka i
raskidanje konekcije. Upostavljanje i raskidanje konekcije se obavlja u tri koraka, a ceo postupak se naziva
trostruko rukovanje (three-way handshake).
Pre prenosa podataka dva hosta prolaze kroz sinhronizacioni proces da bi se uspostavila virtuelna konekcija za
svaku sesiju. Da bi uspostavio TCP sesiju, klijent koristi dobro poznati port servisa koji eli da kontaktira na
serveru.
1. u prvom koraku, klijent (raunar A) alje sinhronizacioni paket SYN (SYN fleg je setovan) da bi inicirao
konekciju; paket sadri broj sekvence (sequence number) za ovu sesiju, broj x (100), SYN bit je 1 to
predstavlja zahtev za uspostavom konekcije
2. odredini raunar B prima paket i odgovara sa potvrdom (ACK fleg je setovan); ACK fleg je jednobitno
polje u polju podataka TCP segmenta, a Acknowledgment Number (polje potvrde) je 32-bitno polje u
TCP segmentu i sadri broj sledee sekvence koju raunar oekuje da primi, x+1 (100+1=101); polje
potvrde x+1 (101) znai da je raunar primio sve bajtove do i ukljuujui x (100), oekujui da primi x+1
(100 +1); odredini raunar B takoe alje segment sa poljem sekvence y (300) i SYN je setovan
3. u treem koraku klijent odgovara sa poljem potvrde y+1 (300+1=301), to je polje sekvence za raunar B





Trostruko rukovanje
Raunarske mree i komunikacije TCP i UDP protokoli
3

Denial of service attacks


Kontrola toka

Kontrola toka spreava da matini raunar poiljaoc prepuni bafere u prijemnom raunaru.Vrste kontrola toka su:
baferovanje
postavljanje prozora
izbegavanje zaguenja

ta se deava kada raunar bude preplavljen datagramima toliko brzo da ne moe da stigne da ih obradi?
Smeta ih u odeljak memorije pod nazivom bafer (buffer). Ovaj mehanizam funkcionie slino semaforu,
signalizirajui ureaju poiljaocu da zaustavi prenos segmenata. Kada prijemni raunar obradi segmente koji se
nalaze u njegovoj memoriji, alje indikator da je spreman za prijem.
Kvantitet segmenata podataka (u bajtovima) koji raunar poiljalac sme da poalje bez primanja potvrde o
prijemu tih segmenata naziva se prozor. Kada konfiguriete prozor veliine 1, raunar koji alje podatke eka
potvrdu o prijemu za svaki preneti segment podataka pre nego to zapone prenos sledeeg segmenta. Ako
konfiguriete prozor veliine 3, dozvoljava se prenos 3 segmenta podataka pre nego to stigne potvrda o prijemu.




prozori




Raunarske mree i komunikacije TCP i UDP protokoli
4


Sekvenciranje



TCP header

Format zaglavlja TCP segmenta

Svaki segment poinje zaglavljem od 20 bajtova tano definisanog formata. Zaglavlje moe biti praeno opcionim
delom.Posle opcionog dela moe se poslati 65535-4 =65515 bajtova podataka. Segment bez podataka je mogu i obino se
koristi kao potvrda ili upravljanje.

Raunarske mree i komunikacije TCP i UDP protokoli
5

TCP zaglavlje ine sledea polja:

Izvorini i odredini port (veliine po 16 bita) - identifikuju krajnjetake veze. Svaki TCP korisnik moe odluiti
kako da rasporedi sopstveneportove poevi od 1024 pa navie;
Redni broj (veliine 32 bita) - predstavlja redni broj prvog bajta podatakau tom segmentu osim u sluaju da je
postavljen na jedinicu SYN bit. Tada polje redni broj oznaava inicijalni redni broj ISN (Initial Sequence Number) , a
prvi bajt podataka ima redni broj ISN+1.
Broj potvrde (veliine 32 bita) - oznaava redni broj sledeeg podatka koji TCP celina oekuje da primi;
Duina TCP zaglavlja (veliine 6 bitova) - nosi informaciju koliko rei duine 32 bita ima u zaglavlju. Ovo polje je
neophodno poto je polje opcije promenljive veliine;
Rezervisano (veliine 4 bita) - namenjeno je za buduu upotrebu i trenutno se ne koristi;
Oznaka (fleg) (veliine 8 bitova) - svaki bit u ovom polju ima neku funkciju:
CWR (Congestion Window Reduced) - postavljen na 1 ukazuje da je prozor zaguenja smanjen.
ECE (Explicit Congestion Notification - Exho) - bitovi ECE i CWR definisani su u dokumentu RFC3168.
Koriste se za obavetavanje o zaguenju.
URG (Urgent function) - postavljen na 1 oznaava da je polje koje ukazujena mesto hitnih podataka od
znaaja i u upotrebi. Funkcija kojaobezbeuje isporuku hitnih podataka slui da bi se ukazalo aplikaciji da
su stigli hitni podaci i da odmah treba da joj se isporue.
ACK postavljen na 1 - oznaava da je polje broj potvrde vaee i u upotrebi (Ack segment). Ako je ACK=0
segment ne sadri potvrdu. U tom sluaju polje potvrdni broj se ignorie
PSH postavljen na 1 od TCP celine - obavetava primaoca zahteva da isporuuje podatke aplikaciji odmah
po njihovom dolasku i da ih ne skladiti (to bi on uradio zbog efikasnosti).
RST postavljen na 1 - koristi se za resetovanje veze (Rst segment). Takoe se koristi da bi se odbacio
neoekivani segment ili odbio zahtev za otvaranje nove veze.
SYN postavljen na 1 - koristi se pri uspostavljanju veze (Syn segment). Kada se alje zahtev za uspostavu
veze polja SYN i ACK imaju vrednosti 1 i 0 respektivno. Kada se alje potvrda na zahtev za uspostavu veze
oba polja imaju vrednost 1.
FIN postavljen na 1- koristi se pri oslobaanju veze (Fin segment). Ukazuje da poiljalac nema vie
podataka za slanje
Otvor prozora (veliine 16 bitova) - koristise se za kontrolu toka. Sadri broj bajtova podataka, poev od rednog
broja koji je naveden u polju potvrdni broj koje primalac moe da prihvati. Kada je vrednost ovog polja jednaka 0
ukazuje da primalac ne moe da prihvati vie podataka.
Kontrolni zbir (veliine 16 bitova) - koristi se da bi se izbegao prijem segmenata koji su oteeni pri prenosu. Kada
poiljalac alje segment on izrauna kontrolni zbir i upie ga u ovo polje. Kadaprimalac primi segment on izrauna
kontrolni zbir i ako je vrednost koju dobije ista kao i vrednost polja kontrolnog zbira, znai da pri prenosu nije dolo
do greke i segment se prihvata.
Ukaziva hitnih podataka (veliine 16 bita). Kada se ova vrednost doda na redni broj segmenta dobija se vrednost
poslednjeg bajta u sekvenci podataka koje treba hitno isporuiti aplikaciji;
Opcije (promenljive veliine) - koristi se za dodatne usluge koje nisu ukljuene u regularno zaglavlje. J edna od
opcija je, na primer, veliina segmenta koja se koristi pri prenosu. Trebalo bi koristiti to vee segmente jer se na taj
nain prenosi vie podataka a zaglavlje od 20 bajtova se lake amortizuje. Kao i u sluaju IP datagrama u polju
opcije moe biti jedan bajt ili vie bajtova.

Potvrda o prijemu

Pouzdana isporuka garantuje da podaci nece biti duplirani ili izgubljeni. To se postie postupkom koji
nazivamo pozitivna potvrda o prijemu sa ponovnim prenosom (Positive Acknowledgment with retransmision).
Poiljalac dokumentuje svaki segment koji alje i eka potvdu o prijemu pre nego to poalje sledei paket. Kada
poalje segment, raunar poiljalac pokree tajmer i ponovo vri prenos tog segmenta kada istekne odreeno
vreme, a potvrda o prijemu nije stigla.



Raunarske mree i komunikacije TCP i UDP protokoli
6

UDP (User Datagram Protocol)

UDP je beskonekcioni protokol, funkcionie bez uspostavljanja veze tj nema usaglaavanja za
uspostavljanje konekcije. Obezbeuje nepouzdanu isporuku. Segment ukljuuje izvorni port, odredini port,
duinu, polje provere (checksum) i podatke. Kada UDP ima podatke za slanje, on kreira UDP segment i daje ga
IP-u radi isporuke. Na prijemnoj strani UDP dobija podatke od IP-a i vri proveru greke. Ako nema greaka,
UDP prosleuje podatke na vie slojeve. Ako postoji greka UDP odbacuje podatke. Ne postoji formalni
mehanizam za potvrdu greaka, niti odredbe za kontrolu toka ili sekvenciranje segmenata.


Segment UDP sastoji se od zaglavlja (veliine 8 bajtova) i polja podataka. UDP zaglavlje sastoji se od:
polja izvorinog i odredinog porta (veliine po 2 bajta) - namena izvorinog i odredinog porta ista je kao
i u TCP zaglavlju identifikacija prikljunih taaka izvorinog i odredinog raunara,
polja duine (veliine 2 bajta) - ukazuje na ukupnu duinu UDP segmenta ukljuujui i UDP zaglavlje,
polja podataka - sadri korisnike podatke,
kontrolni zbir (veliine 2 bajta) - kontolni zbir se odnosi na pseudozaglavlje koje se koristi i kod TCP
protokola. Opciono je, i ukolko se ono ne koristi njegova vrednost postavlja se na 0.



UDP

Raunarske mree i komunikacije TCP i UDP protokoli
7

Dobro poznati portovi

You might also like