You are on page 1of 44

Komunikaciono-orijentisani

slojevi ISO OSI

Transportni nivo
Mrežni nivo
Transportni i mrežni nivoi
 Nivo 4 – transportni
 Obezbeđuje logičku, ali ne i fizičku vezu
 End-to-end kontrola isporuke poruka (segmenata)
 Kontrola toka, korekcija grešaka u prenosu, QoS kontrola
 Primeri: TCP, UDP
 Nivo 3 – mrežni
 Identifikacija računara u mreži i odlučivanje o načinu
usmeravanja informacija kroz mrežu
 Rutiranje i prenos paketa između susednih čvorova
 Paketizacija i reasembliranje poruka, rukovanje greškama,
održavanje QoS na nivou potrebnom transportnom nivou
 Primeri: Internet Protocol (IP)

Komunikaciono-orijentisani slojevi OSI 2


Transportni nivo
 Namena mu je prenos informacije između objekata
komunikacije
 Protokol transportnog nivoa je protokol tipa “sa-kraja-
na-kraj”
 Kooperacija sa mrežnim nivoom, bliska

TSAP TSAP

NSAP NSAP

Komunikaciono-orijentisani slojevi OSI 3


Transportni nivo obezbeđuje:
 Uspostavu i raskid transportne veze
 Transformaciju transportne veze
 Upravljanje tokom
 Detekciju grešaka i oporovak nakon greške
 Segmentaciju, kontrolu redosleda prenosa i objedivanje
informacije.
 Kontrolu kvaliteta usluge (QoS parametara):
 propusnost, tačnost, pouzdanost, kašnjenje, prioritet, zaštita,
multipleksiranje, kontrola toka, detekcija grešaka, segmentacija
 Postoji 5 klasa QoS: KLASA 0-4

Komunikaciono-orijentisani slojevi OSI 4


Interakcija sa transportnim protokolom
(usluga – protokol)

Komunikaciono-orijentisani slojevi OSI 5


Mrežni nivo
 Povezivanje transportnih objekata može biti
 stalno ili povremeno,
 preko veze sa više pristupa (retransmisija),
 sa kontrolom “od-kraja-na-kraj”
 Osnovni zadatak mrežnog nivoa je podrška navedenim
transportnim režimima
 Obezbeđuje adresiranje krajnjih računara
 Adresiranje se zasniva na usmeravanju informacije
između krajnjih računara preko mreže
 Drugim rečima, rukuje prenosom i saobraćajem između
krajnjih računara

Komunikaciono-orijentisani slojevi OSI 6


Funkcije mrežnog nivoa:
 Komutacija paketa
 Multipleksiranje
 Segmentacija i prikupljanje informacija
 Pretvaranje mrežnih uslužnih blokova podataka u
kanalne
 Ispravljanje grešaka
 Restart i reset u slučaju grešaka
 Uspostava virtuelnih kola

Komunikaciono-orijentisani slojevi OSI 7


Primer: Internet protokoli nivoa 3 i 4
 TCP/UDP prihvataju informacije sa aplikativnog nivoa
 Transmission Control Protocol, User Datagram Protocol
 IP je zadužen za prenos i usmeravanje paketa
 Internet Protocol
 IP paketi (datagrami) se prosleđuju preko fizičkog nivoa

Komunikaciono-orijentisani slojevi OSI 8


Relacija sa OSI modelom
 Transportni nivo
 TCP, koji podrazumeva
 uspostavu veze i
 pravilnu isporuku paketa
 UDP, koji pruža
 datagram usluge
 bez kontrole isporuke
 Mrežni nivo
 IP je mrežni protokol
 internetworking –
povezivanje heterogenih
udaljenih mreža
 slanje i rutiranje datagrama

Komunikaciono-orijentisani slojevi OSI 9


TCP/UDP funkcionalnost
 TCP: Connection-oriented, reliable, error-free delivery
 TCP paketi su označeni brojem sekvence, koji se ponavlja ali u
dužem periodu
 Isporuka se organizuje po tom broju
 U slučaju greške, TCP radi retransmisiju paketa
 UDP: connectionless, unreliable datagram service
 Podrazumeva kontrolu isporuke na aplikacionom nivou
 Jednostavniji i efikasniji
 Manja kašnjenja pogoduju multimedia aplikacijama
 Npr, izgubljeni VoIP paket se ne zanavlja
 Oba protokola su FDX, klijent-server usluga

Komunikaciono-orijentisani slojevi OSI 10


IP protokol
 Rukuje slanjem paketa kroz mreže
 Koristi adresu iz zaglavlja paketa, i dodaje adresu pošiljaoca
 IP datagram je osnovna jedinica prenosa u Internetu
 Max dužina 64k, ipak 1500 zbog ograničenja kašnjenja i
opterećenja mreže (čvorova)
 best-effort service, tj. ne zanavlja izgubljene pakete

Komunikaciono-orijentisani slojevi OSI 11


TCP/UDP adresiranje
 Socket = IP adresa + broj porta (prolaza)
 Adresa (npr. 192.52.1.33) identifikuje računar
 Port je broj n[1 - 65535] dodeljen korisničkoj aplikaciji
 Prvih 1023 “portova” su rezervisani
 Poruke se pre slanja dele na pakete
 Dodaje im se TCP/UDP zaglavlje
 Na obe strane se formiraju Tx/Rx baferi
 Kontrola toka sprečava prepisivanje/prepunjavanje na prijemu

Komunikaciono-orijentisani slojevi OSI 12


Soket (socket, utičnica)
 Preko soketa procesi šalju poruke u mrežu
 Standardna API sprega (Application Programming
Interface)
 Multipleksiranje / demultipleksiranje poruka

Komunikaciono-orijentisani slojevi OSI 13


Enkapsulacija podataka

 Od transportnog do nivoa veze

Komunikaciono-orijentisani slojevi OSI 14


Usmeravanje (routing) kroz Internet
 Paketska komutacija – prenos IP paketa
 “hop-by-hop” model – ruter usmerava paketa
 Na osnovu adrese odredišta i tabele prosleđivanja, koju dinamički
održava
 Provereno, robustno i adaptivno rešenje

Network id Cost Next hop


152.1.1.1 12 c
........ ........ ........

Komunikaciono-orijentisani slojevi OSI 15


Logički i fizički tok komunikacije
(kroz transportni i mrežni nivo)

Komunikaciono-orijentisani slojevi OSI 16


User Datagram Protocol

UDP PROTOKOL

Komunikaciono-orijentisani slojevi OSI 17


UDP - User Datagram Protocol
 Protokol za razmenu korisničkih
datagrama
 Message-oriented – isporučuje poruke
 U suštini UDP proširuje IP uvođenjem
koncepta prolaza (eng. port)
 UDP = IP + adresiranje aplikacije
 Nema uspostave sesije i
 Ne garantuje isporuku paketa
 “best effort” usluga
 Pošto je UDP mnogo jednostavniji od
TCP-a, on je i brži.
 UDP server je definisan parom
 [ IP adresa, port ]
 Svaki datagram sa tim odredištem biće
prihvaćen, bez obzira ko ga šalje
Komunikaciono-orijentisani slojevi OSI 18
UDP: format i primena
 Prenos multimedijalnih
sadržaja 32 bits

 loss tolerant Dužina celog source port # dest port #


 rate sensitive UDP segmenta length checksum
 Internet UDP korisnici
 DNS
 SNMP
 Aplikacije koje koriste UDP Application
moraju same obezbediti data
kontrolu i oporavak u slučaju (message)
grešaka

Format UDP segmenta


UDP checksum
Cilj: detekcija grešaka u prenetom segmentu

Kalkulacija kontrolne sume (LRC):


 Podaci (data) iz segmenta se posmatraju kao sekvenca 16-bitnih
integera (celobrojnih vrednosti)
 Kontrolna suma se formira sabiranjem ovih članova, uz prenos
 Šalje se prvi komplement kontrolne sume

1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0
1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
prenos 1 1 0 1 1 1 0 1 1 1 0 1 1 1 0 1 1

suma 1 1 0 1 1 1 0 1 1 1 0 1 1 1 1 0 0
Checksum 1 0 1 0 0 0 1 0 0 0 1 0 0 0 0 1 1
Transport Control Protocol

TCP PROTOKOL

Komunikaciono-orijentisani slojevi OSI 21


TCP – Transport Control Protocol
 TCP je protokol pouzdanog prenosa koji se nalazi u transportnom
sloju.
 Radi na vrhu IP koji je deo mrežnog sloja.
 Kako je IP nepouzdan protokol, TCP realizuje mehanizme kontrole
toka i prenosa koji obezbeđuju pouzdan prenos informacije.
 TCP potvrđuje svaki paket koji primi, tako da pošiljaoc zna da je
paket stigao na svoje odredište.
 U slučaju da TCP sa predajne strane ne primi potvrdu, on ponovo
šalje nepotvrđeni paket (eng. retransmission).
 Na taj način aplikacija može računati da će mreža obaviti pouzdanu
isporuku informacije željenom odredištu.

Komunikaciono-orijentisani slojevi OSI 22


Komunikacija preko TCP socketa

Komunikaciono-orijentisani slojevi OSI 23


TCP logički tok
 TCP je stream-oriented, jer sve podatke u prenosu tretira prosto kao
niz okteta.
 Isporuka na odredištu jeste identična po broju i redosledu okteta, ali
ne i po porukama na ulazu u socket

24
Zahtev i izvršenje TCP prenosa

Komunikaciono-orijentisani slojevi OSI 25


TCP zaglavlje
 ukupno 20 byte
 Maximum Segment Size (MSS) je 1500 okteta
 Sekvenca paketa i potvrde su najvažniji (klizajući prozor)
 Početna vrednost se dodeljuje na slučaj
 Broji svaki preneti znak (ne paket)
 Paketi na isporuci mogu biti slepljeni (predaja brža od prenosa)

Komunikaciono-orijentisani slojevi OSI 26


Komunikaciono-orijentisani slojevi OSI 27
Format TCP segmenta
32 bit
URG: urgent data Broji oktete
(generally not used) source port # dest port #
podataka
sequence number (ne segmente!)
ACK: ACK # valid
acknowledgement number
head not
PSH: push data now len usedUA PRS F Receive window
(generally not used) RxProzor: #
checksum Urg data pnt byte
RST, SYN, FIN: Options (variable length)
za uspostavu veze

Application data
Internet checksum (variable length)
(kao UDP)
TCP sesija
 Definisana je sa dva para [IP adresa, port], za procese
na oba kraja konekcije
 Sesija za svaki par računara u TCP vezi
 Uspostava prethodi razmeni paketa

Komunikaciono-orijentisani slojevi OSI 29


TCP Dijagram stanja
CONNECT/ SYN (Step 1 of the 3-way-handshake)
unusual event
client/receiver path (Start) CLOSED
server/sender path CLOSE/-
LISTEN/-
CLOSE/-
(Step 2 of the 3-way-handshake) SYN/SYN+ACK
LISTEN

RST/- SEND/SYN
SYNRECEIVED SYNSENT
SYN/SYN+ACK (simultaneous open)

Data exchange occurs


ACK/- SYN+ACK/ACK
ESTABLISHED
(Step 3 of the 3-way-handshake)

CLOSE/ FIN
CLOSE/ FIN FIN/ACK

Active CLOSE Passive CLOSE


FIN/ACK
FIN WAIT 1 CLOSING CLOSE WAIT
FIN+ACK/ACK

ACK/- CLOSE/ FIN

FIN WAIT 2 TIME WAIT LAST ACK


FIN/ACK

Timeout

(Go back to start) CLOSED

30
Uspostava sesije
 Klijent inicira, Server prihvata konekciju
 Razmena inicijalnih (random) vrednosti brojača sekvence

Klijent Server
connect listen

Komunikaciono-orijentisani slojevi OSI 31


Prekid sesije
client server
 Obe strane mogu prekinuti
closing
sesiju, ali to obično radi
klijent
 Active / pasive close
closing
 Razmenjuju se FIN i ACK
paketi

timed wait
closed

closed

Komunikaciono-orijentisani slojevi OSI 32


Rukovanje TCP konekcijom

TCP server
lifecycle

TCP client
lifecycle
Potvrda i zanavljanje paketa
 Pri slanju segmenta se startuje timer i čeka potvrda
 Ako potvrda izostane vrši se retransmisija
 Koristi mehanizam klizajućeg prozora

Komunikaciono-orijentisani slojevi OSI 34


TCP baferi i mehanizam potvrde

LastByteAcked <= LastByteSent LastByteRead < NextByteExpected


LastByteSent <= LastByteWritten NextByteExpected <= LastByteRcvd + 1
Ako je isporuka uredna:
NextByteExpected = LastByteRcvd + 1
U suprotnom, NextByteExpected je početak
rupe u baferu koji treba popuniti

Komunikaciono-orijentisani slojevi OSI 35


TCP: scenariji zanavljanja
Host A Host B Host A Host B

Seq=92 timeout
timeout

X
loss

Sendbase
= 100

Seq=92 timeout
SendBase
= 120

SendBase
SendBase
= 100
= 120 premature timeout
time time
lost ACK scenario
TCP: scenariji zanavljanja

Host A Host B

timeout

X
loss

SendBase = 120

time
Cumulative ACK scenario
Podešavanje timout-a

 TCP se prilagođava promenljivom kašnjenju korišćenjem


adaptivnog retransmisionog algoritma
 Meri se vreme od predaje segmenta do prijema potvrde
 sample round trip time
 RTT = (a*Stari_RTT) + ((1-a) * Novi_RTT_Uzorak)
 gde je a veće ili jednako od nule, a manje od 1 (0.8-0.9)
 Timeout = b*RTT
 gde je b veće od 1 (preporučeno 1.2)

Komunikaciono-orijentisani slojevi OSI 38


Kontrola toka promenom veličine prozora
 Veličina prozora W je određena brzinom prenosa Rk kroz
komunikacioni kanal i veličinom bafera prijemnika
 Podešavanjem W se kontroliše brzina slanja TCP paketa

 Promena W u toku prenosa:


 R < Rk  kanal je slabo iskorišćen povećaj W
 R > Rk  preopterećenje kanala  smanji W
 Početna vrednost W se prilagođava uslovima prenosa
 Nije striktno propisan algoritam/način promene

Komunikaciono-orijentisani slojevi OSI 39


Internet Protocol

IP PROTOKOL

Komunikaciono-orijentisani slojevi OSI 40


Zaglavlje IP protokola

 Najvažnije su IP adrese
izvora i odredišta
 Ostalo su dodatni elementi
neophodni za prenos i
rukovanje IP paketima

Komunikaciono-orijentisani slojevi OSI 41


Format IP datagrama
Verzija IP protokola 32 bita
Ukupna dužina
Dužina zaglavlja
Za fragmentaciju
Tip usluge (QoS) i reasemblirabnje
paketa
Broj preostalih
usmeravanja (--)
IP adrese
izvora i odredišta
Protokol višeg sloja
Vremenska oznaka,
snimanje rute,
sigurnost, …
IP Fragmentacija i Prikupljanje
Fragmentacija paketa:
1 veliki  3 manja
 MTU (max. transfer unit) je
najduži okvir u prenosu
 Karakteristika svake deonice
 Menja se u toku prenosa
 Veliki IP datagrami se dele
(fragmentiraju) unutar mreže
Prikupljanje i isporuka
 Podela na manje pakete
 Prikupljanje na odredištu
 IP zaglavlje identifikuje ove
pakete i njihov redosled
 IPv6 ne dozvoljava
fragmentaciju na mrežnom nivou
IP Fragmentacija i Prikupljanje
length ID flag offset
Primer =4000 =x =0 =0
 4000 byte datagram
Jedan veliki datagram
 MTU = 1500 byte postaje nekoliko manjih

length ID flag offset


=1500 =x =1 =0
1480 byte podataka
length ID flag offset
=1500 =x =1 =185
offset = 1480/8
Po 8 byte-ova length ID flag offset
=1040 =x =0 =370

You might also like