45
RMT drugi deo 2016 ©S 1 DRUGI DEO 3.3 Prenos bez uspostavljanja veze: protokol UDP Osim poslova multipleksiranja i demultipleksiranja i najosnovnije provere grešaka, UDP protokolu IP ne dodaje ništa više. Ako programer neke aplikacije koristi UDP umesto TCP onda se ta aplikacija skoro neposredno obraća protokolu IP. UDP pre slanja segmenta nema usklađivanja za uspostavljanje veze između predajnih I prijemnih entiteta transportnog sloja i zato se kaže da je UDP protokol bez uspostavljanja veze. Aplikacije koriste UDP protokol iz razloga: 1. Bolja kontrola na nivou aplikacije toga sta se salje i kada se salje (Ako se koristi UDP čim proces aplikacije preda podatke protokolu UDP, on će spakovati te podatke u UDP segment i taj segment odmah predati mrežnom sloju; važno za aplikacije u realnom vremenu koje dozvoljavaju gubitak podataka i loše podnose kontrolu zagušenja; moguće koristiti UDP a u okviru same aplikacije omogućiti obavljanje dodatnih zadataka pored osnovne usluge isporuke segmenata koju nudi UDP) 2. Nema uspostavljanja veze (Nema kašnjenja zbog uspostavljanja veze) 3. Nema stanja veze (UDP ne održava stanje veze i ne vodi računa o baferima za primanje i slanje, parametrima za kontrolu zagušenja, rednim brojevima i brojevima potvrde prijema o čemu se vodi računa kod TCP; server namenjen određenoj aplikaciji može da podrži mnogo više aktivnih klijenata ako se aplikacija izvršava preko UDP) 4. Malo dodatno zaglavlje paketa (UDP ima samo 8 dodatnih bajtova, dok TCP ima 20) Aplikacija Protokol aplikativnog sloja Transportni protokol E-pošta SMTP TCP Pristupanje udaljenim terminalima Telnet TCP Veb HTTP TCP Transfer datoteka FTP TCP Udaljeni server podataka NFS Najčešće UDP Protok multimedijalnih zapisa Najčešće vlasnički UDP/TCP Internet telefonija Najčešće vlasnički UDP/TCP Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja RIP Najčešće UDP Prevođenje imena DNS Najčešće UDP Aplikacije za upravljanje mrežom obično moraju da se izvršavaju, kada je mreža u vanrednom stanju- upravo kada je teško postići pouzdan prenos podataka uz kontrolu zagušenja. Multimedijalne aplikacije uglavnom preko UDP, ali sve češće se koristi TCP kad je broj izgubljenih paketa mali i kad organizacije blokiraju UDO saobraćaj iz bezbednosnih razloga. Napomena, kontrola zagušenja je važna da bi se sprečilo da mreža dođe u stanje u kom se malo šta korisno može uraditi; posledica nedostatka kontrole zagušenja kod UDP može da bude veliki broj

3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 1

DRUGI DEO

3.3 Prenos bez uspostavljanja veze: protokol UDP

Osim poslova multipleksiranja i demultipleksiranja i najosnovnije provere grešaka, UDP protokolu IP ne

dodaje ništa više. Ako programer neke aplikacije koristi UDP umesto TCP onda se ta aplikacija skoro

neposredno obraća protokolu IP. UDP pre slanja segmenta nema usklađivanja za uspostavljanje veze

između predajnih I prijemnih entiteta transportnog sloja i zato se kaže da je UDP protokol bez

uspostavljanja veze.

Aplikacije koriste UDP protokol iz razloga:

1. Bolja kontrola na nivou aplikacije toga sta se salje i kada se salje (Ako se koristi UDP čim proces

aplikacije preda podatke protokolu UDP, on će spakovati te podatke u UDP segment i taj

segment odmah predati mrežnom sloju; važno za aplikacije u realnom vremenu koje

dozvoljavaju gubitak podataka i loše podnose kontrolu zagušenja; moguće koristiti UDP a u

okviru same aplikacije omogućiti obavljanje dodatnih zadataka pored osnovne usluge isporuke

segmenata koju nudi UDP)

2. Nema uspostavljanja veze (Nema kašnjenja zbog uspostavljanja veze)

3. Nema stanja veze (UDP ne održava stanje veze i ne vodi računa o baferima za primanje i slanje,

parametrima za kontrolu zagušenja, rednim brojevima i brojevima potvrde prijema o čemu se

vodi računa kod TCP; server namenjen određenoj aplikaciji može da podrži mnogo više aktivnih

klijenata ako se aplikacija izvršava preko UDP)

4. Malo dodatno zaglavlje paketa (UDP ima samo 8 dodatnih bajtova, dok TCP ima 20)

Aplikacija Protokol aplikativnog sloja Transportni protokol

E-pošta SMTP TCP Pristupanje udaljenim terminalima Telnet TCP Veb HTTP TCP Transfer datoteka FTP TCP Udaljeni server podataka NFS Najčešće UDP Protok multimedijalnih zapisa Najčešće vlasnički UDP/TCP Internet telefonija Najčešće vlasnički UDP/TCP Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja RIP Najčešće UDP Prevođenje imena DNS Najčešće UDP

Aplikacije za upravljanje mrežom obično moraju da se izvršavaju, kada je mreža u vanrednom stanju-

upravo kada je teško postići pouzdan prenos podataka uz kontrolu zagušenja.

Multimedijalne aplikacije uglavnom preko UDP, ali sve češće se koristi TCP kad je broj izgubljenih paketa

mali i kad organizacije blokiraju UDO saobraćaj iz bezbednosnih razloga.

Napomena, kontrola zagušenja je važna da bi se sprečilo da mreža dođe u stanje u kom se malo šta

korisno može uraditi; posledica nedostatka kontrole zagušenja kod UDP može da bude veliki broj

Page 2: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 2

izgubljenih paketa kao i istiskivanje uspostavljenih TCP sesija.

3.3.1 Struktura UDP segmenta

32 bita

Broj izvorišnog porta Broj odredišnog porta

Dužina Kontrolni zbir

Aplikacijski podaci (poruka)

UDP zaglavlje ima samo 4 polja od kojih svako zauzima po 2 bajta, a to su:

1. Broj izvornog porta

2. Broj odredisnog porta

(Brojevi portova omogućavaju odredišnom računaru da podatke aplikacije prosledi odgovarajućem

procesu koji se izvršava na određenom krajnjem sistemu)

3. Dužina (Broj bajtova u UDP segmentu (zaglavlje+podaci))

4. Kontrolni zbir (Služi prijemnom računaru da proveri da li je u segmentu došlo do grešaka)

3.3.2 UDP kontrolni zbir

Kontrolni zbir se koristi kako bi se utvrdilo da li su bitovi unutar UDP segmenta promenjeni prilikom

prenosa od izvora do odredista, tako sto UDP na strani posiljaoca izracunava komplement jedinice za

sumu svih 16-bitnih reči u segmentu, pri čemu se prekoračenja, do kojih dođe prilikom sabiranja, dodaju

bitu najmanje dužine. Ovaj rezultat se stavlja u polje kontrolnog zbira UDP segmenta.

PRIMER:

Imamo tri 16-bitne reči:

0110011001100000

0101010101010101

1000111100001100

Zbir prve dve 16-bitne reči je:

1011101110110101

Dodavanjem treće reči na ovaj zbir dobijamo:

0100101011000010

Komplement jedinice dobija se pretvaranjem svih 0 u 1, a svih 1 u 0. Za 0100101011000010 to je

1011010100111101.

Na prijemnom kraju, sabiraju se sve četiri 16-bitne reči, uključujući i kontrolni zbir. Ako u paketu ne

postoje greške, zbir kod primaoca 1111111111111111.

Page 3: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 3

UDP koristi ovaj sistem jer ne postoji garancija da svi linkovi od izvora do odredišta obezbedjuju proveru

grešaka i zato što mora da obezbedi otkrivanje grešaka na transportnom sloju, od jednog do drugog

kraja (princip od jednog do drugog kraja)

UDP nista ne preduzima da bi se greska ispravila. U nekim verzijama protokola UDP oštećeni segment se

jednostavno odbacuje, dok druge verzije aplikaciji prosleđuju oštećeni segment uz upozorenje.

3.4 Principi pouzdanog prenosa podataka

Zamisao pouzdanog prenosa podataka: Usluga koja se nudi na gornjem sloju je usluga pouzdanog

kanala kroz koji se mogu prenositi podaci. Bitovi podataka koji se prenose pouzdanim kanalom se ne

oštećuju (nema promena vrednosti iz 1 u 0 i obrnuto), niti se gube i svi se isporučuju redosledom po kom

su poslati. Protokol pouzdanog prenosa podataka ima zadatak da ostvari ovako zamišeljenu uslugu.

Mogući problemi:

1. Sloj ispod protokola pouzdanog prenosa možda nepouzdan (TCP protokol ostvaruje prenos

podataka preko nepouzdanog (IP) mreznog sloja)

2. Sloj ispod dve krajnje tačke koje pouzdano komuniciraju se sastoji od jednog fizičkog linka ili više

međusobno povezanih mreža

Predajna strana protokola pokreće se odozgo, pozivom rdt_send() ( rdt – reliable data transfer, _send –

znači da se poziva predajna strana protokola rdt). Kada paket pritigne iz prijemne strane kanala, na

prijemnoj strani se poziva rdt_rcv(). Kada protokol rdt želi da isporuči primljene podatke gornjem sloju,

to radi pozivom deliver_data(). (Slika 3.8 strana 205)

3.4.1 Pouzdan prenos podataka preko savrseno pouzdanog kanala

Pouzdan prenos podataka preko savršeno pouzdanog kanala: PROTOKOL rdt1.0

Kanal koji se nalazi na sloju ispod potpuno pouzdan. FSM (mašine konacnog stanja) za primaoca i

pošiljaoca zasebne, imaju samo po jedno stanje. Strelice u opisu označavaju prelazak iz jednog stanja u

drugo (u ovom slučaju povratak u isto stanje). Početno stanje FSM obeležava se isprekidanom strelicom.

Predajna strana protokola rdt, prihvata podatke iz gornjeg sloja dogadjajem rdt_send(data), pravi paket

koji sadrži te podatke (postupkom make_pkt(data) ) i šalje paket u kanal. U praksi, dogadjaj

rdt_send(data) nastaje tako što aplikacija iz gornjeg sloja poziva neku proceduru (recimo, proceduru

rdt_send() ). (Slika 3.9 a strana 206)

Na prijemnoj strani, rdt prima paket iz kanala ispod sebe dogadjajem rdt_rcv(data), izvlači podatke iz

paketa(postupkom extract(packet,data)) i prenosi podatke gornjem sloju (postupkom deliver_data(data)

). U praksi, dogadjaj rdt_rcv(paket) nastaje tako što protokol nižeg sloja poziva odgovarajuću proceduru (

recimo,proceduru rdt_rcv() ). (Slika 3.9 b strana 206)

Pouzdan prenos podataka preko kanala sa bitskim greskama: PROTOKOL rdt2.0

Ovaj protokol se sastoji od pozitivnih potvrda(ACK) i negativnih potvrda(NAK), kojima se saopštava šta

Page 4: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 4

je primljeno pravilno, a šta treba poslati ponovo. U računarskim mrežama, protokoli za transfer

podataka koji se zasnivaju na ponovnom slanju, poznati su kao ARQ(Automatic Repeat reQuest)

protokoli.

Da bi se izborili sa bitskim greskama, potrebno je ARQ protokole dopuniti sa jos tri dodatne mogućnosti:

1. Otkrivanje gresaka (mehanizam koji će dozvoliti primaocu da otkrije kada se greške na bitovima

pojave: potrebno je da pošiljalac pošalje primaocu dodatne bitove koji se smeštaju u polje

kontrolnog zbira paketa podataka protokola rdt2.0)

2. Povratna informacija od primaoca posiljaocu (pozitivne (ACK) i negativne (NAK) potvrde;

protokol vraća slične ACK i NAK pakete od primaoca ka pošiljaocu koji sadrže samo jedan bit, 1-

ACK, 0-NAK)

3. Ponovno slanje (paketa s greškom)

Predajna strana protokola rdt2.0 ima dva stanja. U jednom stanju čeka podatke iz gornjeg sloja; u

drugom čeka da od primaoca primi ACK ili NAK paket.

Ako stigne ACK paket, pošiljalac zna da je poslednji preneti paket ispravno primljen i stoga se

protokol vraća u stanje čekanja podataka iz gornjeg sloja.

Ako primi NAK, protokol ponovo šalje poslednji paket i čeka da primalac vrati ACK ili NAk

Pošiljalac u stanju čekanja na ACK ili NAK paket, ne može da preuzima druge podatke sa gornjeg sloja i

da ih šalje. Zbog toga se naziva – protokol STANI I ČEKAJ.

FSM prijemne strane protokola rdt2.0 i dalje ima jedno stanje. Pošto paket pristigne, primalac odgovara

sa ACK ili NAK.

Pri korišćenju ACK i NAK paketa, moze doći i do njihovog oštećenja.

Mogućnosti za postupanje sa neispravnim ACK i NAK paketima:

Kontrolni zbir dopuniti bitovima, tako da pošiljalac može ne samo da otkrije, već se i oporavi od

grešaka na bitovima

Pošiljalac jednostavno ponovo pošalje paket podataka, pri čemu može doći do dupliranja paketa

Ovaj problem se rešava dodavanjem rednog broja za svaki paket, tako da primalac samo treba da

proveri da li primljeni paket predstavlja ponavljanje.

Poboljšana verzija protokola rdt2.0 je protokol rdt2.1, koji ima dva puta više stanja nego ranije. Protokol

rdt2.1 koristi i negativne i pozitivne potvrde od primaoca ka pošiljaocu.

Protokol rdt2.2 koristi samo pozitivne potvrde. Umesto negativne potvrde, dovoljno je poslati dve ACK

potvrde i pošiljalac će znati da primalac nije ispravno primio paket koji sledi iza paketa za koji su poslate

dve ACK potvrde. Za ovaj protokol, primalac takodje mora da dodeli redni broj paketa čiji prijem

potvrđuje ACK porukom (to se postiže dodavanjem vrednosti ACK – 0 ili ACK – 1 u make_pkt() u FSM

primaoca), a pošiljalac mora da proveri redni broj paketa čiji je prijem potvrđen primljenom ACK

porukom.

Page 5: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 5

Pouzdan prenos podataka preko kanala sa bitskim greskama i gubicima paketa: PROTOKOL

rdt3.0

Pored oštećivanja bitova, kanal može i da gubi pakete:

Kako otkriti gubitke paketa?

Šta uraditi u slučaju gubitka?

Za otkrivanje i resavanje problema izgubljenih paketa zadužuje se pošiljalac. Bilo da se izgubi paket ili

ACK za taj paket, pošiljalac neće dobiti nikakav odgovor, pa je potrebno je poslati ga ponovo. Pošiljalac

treba da izabere neko razumno vreme u kom je najverovatnije došlo do gubitka paketa. Za primenu

mehanizma ponovnog slanja na osnovu vremena, potreban je tajmer koji može da pošalje prekid

pošiljaocu po isteku zadatog vremena. Pošiljalac će morati da bude u stanju da:

pokrene tajmer uvek kada pošalje paket

da odgovori na prekid od strane tajmera

da zaustavi tajmer

Pošto redni brojevi paketa naizmenično menjaju vrednost izmedju 0 i 1, protokol rdt3.0 se naziva i

protokol naizmeničnih bitova.

Elementi neophodni za rad protokola su kontrolni zbirovi, redni brojevi, tajmeri i pozitivne i negativne

potvrde prijema paketa.

3.4.2 Pouzdani cevovodni protokol za prenos podataka

Ključ problema performansi protokola rdt3.0 je što je to protokol stani čekaj.

Rešenje je jednostavno: umesto da radi tako što stoji i čeka, pošiljaocu se dozvoljava da šalje više paketa

ne čekajuci potvrde prijema. Pošto prolazak više paketa izmedju pošiljaoca i primaoca može da se zamisli

kao punjenje cevovoda, ova tehnika se naziva cevovodnom obradom.

Cevovodna obrada ima i odredjene posledice na protokole za pouzdan prenos podataka:

Mora se povećati raspon rednih brojeva zato što svi paketi u prolazu moraju da imaju jedinstven

redni broj

Predajna i prijemna strana moraju da imaju memoriju za privremeno čuvanje više paketa –

bafer.

Potreban raspon rednih brojeva i veličine privremene memorije zavisiće od toga kako protokol

za prenos podataka postupa u slučaju izgubljenih i oštećenih paketa. Dva osnovna pristupa za

oporavak od grešaka cevovodne obrade: Vrati-za-N (Go-Back-N ) tj GBN i selektivno ponavljanje

Page 6: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 6

3.4.3 Protokol GBN

Protokol GBN dozvoljava pošiljaocu da pošalje više paketa bez čekanja na potvrdu, ali ograničava najveći

dozvoljeni broj N nepotvrdjenih paketa u cevovodu.

send_base – redni broj najstarijeg nepotvrdjenog paketa

nextseqnum – najmanji neupotrebljeni redni broj tj redni broj sledećeg paketa koji treba poslati

Redni brojevi u intervalu:

[0, send_base-1] odgovaraju paketima koji su već preneti i čiji je prijem potvrdjen

[send_base, nextseqnum-1] odgovaraju paketima koji su poslati, ali čiji prijem još nije potvrdjen

[nextseqnum, send_base+N-1] odgovaraju paketima koji mogu da se pošalju odmah čim podaci

stignu iz gornjeg sloja

redni brojevi veći ili jednaki od send_base+N ne mogu se koristiti sve dok ne stigne potvrda

prijema za nepotvrdjeni paket koji se trenutno nalazi u cevovodu

Raspon dozvoljenih rednih brojeva za poslate, ali još nepotvrđene pakete, može se posmatrati kao

prozor veličine N u rasponu rednih brojeva. Za N se kaze da je veličina prozora. Ovaj prozor tokom rada

GBN klizi unapred, duž raspoloživih rednih brojeva. GBN zato zovemo protokol sa kliznim prozorom.

GBN pošiljalac mora da odgovori na 3 vrste dogadjaja:

1. Poziv odozgo (kada se odozgo pozove rdt_send(), pošiljalac proverava da li je prozor pun, tj da li

postoji N nepotvrdjenih paketa; ako prozor nije pun, paket se šalje, ako jeste, paket se vraća

gornjem sloju ili čuva te podatke u privremenoj memoriji)

2. Prijem ACK poruke (u ovom protokolu, potvrda prijema za paket sa rednim brojem n, smatra se

kumulativnom potvrdom prijema, koja označava da je primalac pravilno primio sve pakete sa

rednim brojevima koji su manji i jednaki n)

3. Istek vremena tajmera (posle isteka odredjenog vremena, pošiljalac ponovo šalje sve pakete

koji su prethodno poslati, a čiji prijem nije još uvek potvrdjen)

Sa strane primaoca: ako paket sa rednim brojem n primi ispravno i po redu, primalac šalje ACK poruku za

paket n i predaje deo podataka gornjem sloju; u svim ostalim slučajevima odbacuje paket i šalje ACK za

poslednji primljeni. Odbacuje one koji ne stižu po redu!

Realizacija GBN u obliku raznih procedura. U ovakvom programiranju zasnovanom na dogadjajima,

različite procedure se pozivaju bilo iz drugih procedura u skupu protokola ili kao rezultat prekida.

Page 7: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 7

3.4.4 Selektivno ponavljanje

Protokoli sa selektivnim ponavljanjem (selective repeat) izbegavaju nepotrebna ponovna slanja tako što

pošiljalac ponovo šalje samo one pakete za koje sumnja da ih je primalac pogrešno primio.

Ovakvo pojedinačno ponovno slanje prema potrebi zahteva da primalac zasebno potvrdjuje ispravno

primljene pakete.

Veličina prozora N i ovde se koristi da bi se ograničio broj zaostalih, nepotvrđenih paketa u cevovodu.

Međutim, pošiljalac je već dobio ACK potvrde za neke pakete u prozoru.

SR primalac će potvrditi ispravno primljeni paket bez obzira na to da li je stigao po redu. Paketi izvan

redosleda čuvaju se u privremenoj memoriji dok ne stignu nedostajući paketi, a tada se gornjem sloju

redom isporučuje grupa paketa.

Za protokol SR vazi da se prozori pošiljaoca i primaoca ne poklapaju uvek.

Primalac ne razlikuje ponovno slanje nekog paketa od prvog slanja nekog drugog paketa. Takođe, mora

se obezbediti da se redni broj ne koristi ponovo sve dok pošiljalac ne bude siguranda u mreži više nema

nijednog ranije poslatog paketa sa tim rednim brojem.

(kod TCP životni vek paketa približno 3 minuta)

Page 8: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 8

3.5 Transport sa uspostavljanjem veze: protokol TCP

3.5.1 TCP veza

Za protkol TCP se kaže da je sa uspostavljanjem veze zato što pre početka slanja podataka, dva procesa

moraju prvo „da se rukuju” tj moraju jedan drugom da pošalju neke uvodne segmente. Protokol TCP se

izvrsava samo na krajnjim sistemima, a ne na usputnim elementima mreže, oni ne održavaju stanje TCP

veze, cak nisu uopšte svesni postojanja TCP veze.

TCP veza obezbedjuje punu dupleksnu uslugu (A ka B i B ka A), i to je veza od tačke do tačke (tačno

izmedju jednog pošiljaoca i jednog primaoca). Nije moguć prenos podataka od jednog pošiljaoca ka više

primalaca u istoj operaciji slanja. Za TCP dva računara su dovoljna – treći je višak!

Uspostavljanje konekcije se odvija tako što klijent prvo šalje poseban TCP segment; server odgovara

drugim posebnim TCP segmentom; i na kraju klijent ponovo odgovara trećim posebnim segmentom.

Prva dva segmenta ne sadrže nikakve korisne podatke, treći može da sadrži. Pošto se medju računarima,

pri usaglašavanju, razmenjuju tri segmenta, ovaj postupak se često naziva trostruko usaglašavanje.

Klijentski proces propušta niz podataka kroz soket. TCP usmerava ove podatke u predajnu privremenu

memoriju te veze – predajni bafer. S vremena na vreme, TCP zahvata delove podataka iz predajne

privremene memorije.

Najveća količina podataka koja može da se zahvati i stavi u jedan segment, ograničena je najvećom

veličinom segmenta (Maximum Segment Size) tj MSS. To je maksimalna količina podataka aplikativnog

sloja u segmentu. MSS se obično postavlja tako što se prvo odredi dužina najvećeg okvira sloja veze koji

može da pošalje lokalni računar pošiljalac, takozvani MTU (Maximum Transmision Unit) – najveća

jedinica prenosa, i zatim postavljanjem vrednosti MSS tako da se osigura da TCP segment može da stane

u jedan okvir sloja veze. Uobičajene MTU vrednosti su 1460 bajtova, 536 bajtova i 512 bajtova. Ethernet

i PPP imaju MSS u vrednosti 1.500 bajtova.

TCP dopunava svaku celinu podataka klijenta TCP zaglavljem i tako pravi TCP segmente. TCP veza se

sastoji od privremene memorije, promenljivih i soketa veze sa procesom na jednom računara, i još

jednog skupa od privremene memorije, promenljivih i soketa veze sa procesom na drugom računaru.

3.5.2 Struktura TCP segmenta

Napomenimo, polje podataka sadrži komad podataka aplikacije. MSS ograničava maksimalnu veličinu

polja podataka u segmentu. Kad TCP šalje veliku datoteku, MSS deli tu datoteku na komade veličine MSS

(osim poslednjeg dela, koji je uglavnom manji).

Struktura zaglavlja:

1. broj izvornog i odredišnog porta ( multipleksiranje i demultipleksiranje)

2. polje kontrolnog zbira (32-bitno)

3. polje broja potvrde (32-bitno)

Page 9: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 9

4. 16-bitno polje prijemnog prozora (koristi se za kontrolu toka)

5. 4-bitno polje dužine zaglavlja (može biti promenljive dužine zbog polja TCP opcije, ali je

uglavnom to polje prazno pa je uobičajena dužina 20 bajtova)

6. neobavezno polje opcija promenljive dužine (koristi se kada pošiljalac i primalac pregovaraju o

maksimalnoj dužini segmenta MSS)

7. polje oznaka sadrži 6 bitova:

ACK (da li segment sadrži potvrdu prijema za segment koji se uspešno primljen)

RST, SYN i FIN (koriste se prilikom uspostavljanja i prekidanja veze)

PSH (znači da primalac treba odmah da prosledi podatke gornjem sloju)

URG (koristi se da bi označio „hitne” segmente)

8. pokazivač hitnih podataka (16 bita; TCP mora da obavesti entitet gornjeg sloja na prijemnoj

strani da postoje hitni podaci i da mu se preda pokazivač na kraj tih hitnih podataka)

32 bita

Broj izvornog porta Broj odredišnog porta

Redni broj

Broj potvrde

Dužina zaglavlja

Ne koristi se U

RG

PSH

RST

SYN

FIN

Prijemni prozor

Internetov kontrolni zbir Pokazivač hitnih podataka

Opcije

Podaci

Redni brojevi i brojevi potvrde

Redni brojevi odnose se na neprekidni tok prenetih bajtova, a ne na niz prenetih segmenata.

Redni broj za segment je redni broj prvog bajta u segmentu unutar neprekidnog toka bajtova.

PRIMER: A šalje podatke B preko TCP veze. Taj tok podataka se sastoji od datoteke od 500 000 bajtova, MSS je 1

000, a redni broj prvog bajta podataka je 0. TCP od tog toka podataka pravi 500 segmenata sa rednim brojevima: 0,

1 000, 2 000 itd.

Broj potvrde koji računar A stavlja u svoj segment je redni broj sledećeg bajta koji računar A

očekuje od računara B.

PRIMER: Neka je A primio od B jedan segment koji sadrži bajtove od 0 do 535 i drugi koji sadrži bajtove od 900 do 1

000. A još uvek nije primio bajtove od 536 do 899. A čeka bajt 536 i sledeći segment koji računar A šalje računaru B

imaće u polju za broj potvrde 536.

Page 10: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 10

TCP ima kumulativne potvde prijema tj potvrđuje samo bajtove do prvog nedostajućeg bajta u toku.

Takođe, obe strane biraju nasumično početni redni broj da bi se smanjila verovatnoća da se segment,

koji još postoji u mreži od ranije ne zameni sa važećim segmentom u kasnije uspostavljenoj vezi između

ta ista dva računara.

3.5.3 Procena vremena povratnog puta i isteka vremena tajmera

Procena vremena povratnog puta

Uzorak vremena povratnog puta RTT za neki segment, koji se naziva SampleRTT, jeste vreme od

trenutka slanja segmenta, do prijema potvrde tog segmenta. U vecini TCP protokola, meri se samo jedan

uzorak SampleRTT, tj meri se za samo jedan preneti, ali jos uvek nepotvrdjeni segment. Pri tome, TCP ne

izračunava SampleRTT za segment koji se šalje ponovo, već samo za segmente koji su poslati jednom.

Da bi se procenio tipični RTT, TCP stalno izračunava prosek izmerenih vrednosti SampleRTT, nazvan

EstimatedRTT, prema obrascu:

EstimatedRTT =(1- α)*EstimatedRTT + α *SampleRTT (α=0.125)

EstimatedRTT je ponderisani prosek vrednosti SampleRTT. Ovakav prosek se naziva eksponencijalno

ponderisani klizni prosek, zato što značaj (ponder) date vrednosti SampleRTT eksponencijalno opada sa

svakim sledećim ažuriranjem.

Varijacija vremena povratnog puta – DevRTT, predstavlja procenu standardne devijacije SampleRTT od

EstimatedRTT:

DevRTT = (1 - β)*DevRTT + β*(SampleRTT - EstimatedRTT) (β = 0.25)

Postavljanje i upravljanje vremenom tajmera pre ponovnog slanja

Vreme koje bi trebalo da protekne pre ponovnog slanja bi trebalo da bude jednako EstimatedRTT uz

neku rezervu. To vreme se odredjuje na sledeći nacin:

TimeoutInterval = EstimatedRTT + 4*DevRTT

Početna vrednost TimeoutInterval se stavlja uglavnom na 1 sekundu. Kada se pojavi istek vremena, ova

vrednost će biti duplirana, kako bi se izbegla pojava isteka vremena za naredni segment, koji će uskoro

biti potvrđen. Međutim, čim se segment preuzme, a vrednost EstimatedRTT ažurira, TimeoutInterval se

ponovo računa.

3.5.4 Pouzdan prenos podataka

TCP obezbeđuje da tok podataka koji proces čita iz svog prijemnog bafera protokola TCP bude

neoštećen, bez praznina, bez duplikata i u pravilnom redosledu. TCP je protokol sa samo jednim

tajmerom iako ima više poslatih a još nepotvrđenih segmenata.

Page 11: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 11

Tri glavna događaja TCP pošiljaoca:

1. Primanje podataka od aplikacije iznad (kad se to desi, enkapsulira podatke u segment i predaje

taj segment IP protokolu; TCP pokreće tajmer kada preda segment IP ako tajmer već nije

uključen)

2. Istek vremena tajmera (Kad god nastupi dogadjaj isteka vremena, TCP ponovo šalje segment,

koji je izazvao ovaj događaj i ponovo pokreće tajmer)

3. Prijem ACK potvrde (Kada nastupi ovaj događaj, TCP poredi ACK vrednost sa svojom

promenljivom SendBase (redni broj najstarijeg nepotvrđenog bajta); ažurira se SendBase i

ponovo pokreće tajmer ako ima još nekih nepotvrđenih segmenata)

(Primeri strane 244, 245, 246)

Udvostručavanje vremena trajanja tajmera

Kad god nastupi dogadjaj isteka vremena, TCP ponovo šalje nepotvrdjeni segment sa najmanjim rednim

brojem. Ali, svaki put kada TCP ponovo šalje neki segment, on udvostručava vreme trajanja tajmera u

odnosu na prethodnu vrednost umesto da ga ponovo izračuna. Medjutim, ako se tajmer ponovo

pokreće pošto se, ili prime podaci iz aplikacije odozgo, ili se primi ACK potvrda, vrednost TimeoutInterval

se izračunava od najnovijih vrednosti EstimatedRTT i DevRTT, čime se postiže kontrola zagušenja u

ograničenoj meri.

Brzo ponovno slanje

Pošiljalac često može da otkrije gubljenje paketa mnogo pre isteka ovog vremena kada primi takozvane ponovljene ACK potvrde. Ponovljeni ACK je ACK kojim se ponovo potvrdjuje prijem segmenta za koji je pošiljalac već ranije primio takvu potvrdu.Kada TCP primalac primi segment sa rednim brojem većim od sledećeg očekivanog rednog broja, on primećuje prazninu u toku podataka, tj primećuje da neki segment nedostaje. Posto TCP ne koristi negativne potvrde prijema, on jednostavno ponovo potvrdjuje tj pravi još jednu ACK potvrdu.U slucaju kada primi tri ponovljene ACK potvrde, TCP pošiljalac preduzima brzo ponovno slanje, ponovo šaljući nedostajući segment pre isteka vremena tajmera.

GBN ili selektivno ponavljanje?

Mehanizam za oporavak od grešaka protokola TCP je mešavina GBN i protokola sa selektivnim

ponavljanjem.

3.5.5 Kontrola toka

Kada TCP veza primi bajtove koji su ispravni i u pravilnom redosledu, ona ih stavlja u prijemnu privremenu memoriju. Odgovarajući proces aplikacije čita podatke iz ove privremene memorije, ali ne obavezno čim ti podaci stignu. Ako aplikacija relativno sporo učitava podatke, pošiljalac može vrlo lako da preplavi prijemnu privremenu memoriju. TCP nudi uslugu kontrole toka, kojom se uskladjuje brzina kojom pošiljalac šalje podatke, sa brzinom kojom prijemna aplikacija učitava

Page 12: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 12

podatke.TCP obezbedjuje kontrolu toka tako sto pošiljalac održava promenljivu nazvanu prijemni prozor, kako bi mogao da nasluti koliko ima mesta u privremenoj memoriji primaoca. Posto TCP radi u punom dupleksu, pošiljaoci na obe strane veze održavaju zaseban prijemni prozor.

RcvBuffer RcvWindow

Pretpostavimo da računar A preko TCP veze šalje rečunaru B veliku datoteku. Računar B dodeljuje toj vezi prijemni bafer RcvBuffer. S vremena na vreme, proces aplikacije na računaru B učitava podatke iz ovog bafera.

LastByteRead: broj poslednjeg bajta u toku podataka koji je proces aplikacije u računaru B pročitao iz privremene memorije

LastByteRcvd: broj poslednjeg bajta u toku podataka koji je stigao sa mreže i smešten u

prijemnu privremenu memoriju računara B Pošto TCP ne sme da prepuni dodeljenu privremenu memoriju, uvek mora da bude:

LastByteRcvd – LastByteRead ≤ RcvBuffer Prijemni prozor, oznacen sa RcvWindow, postavljen je na velicinu slobodnog prostora u privremenoj memoriji:

RcvWindow = RcbBuffer – [LastByteRcvd - LastByteRead]RcvWindow nema stalnu vrednost, dinamička promenljiva Računar B obaveštava računar A o tome koliko slobodnog prostora ima u baferu veze, tako što trenutnu vrednost RcvWindow stavlja u polje prijemnog prozora svih segmenata koje šalje računaru A. Na početku je RcvWindow=RcvBuffer. Računar A, tokom čitavog trajanja veze obezbedjuje da je:

LastByteSent – LastByteAcked ≤ RcvWindow Ukoliko se računaru A, objavi da je RcvWindow = 0, TCP zahteva da računar A nastavi da šalje segmente sa po jednim bajtom podataka kada veličina prijemnog prozora računara B bude jednaka nuli da bi računar A znao da li se oslobodio prostor u prijemnom baferu računara B. U jednom trenutku, privremena memorija počinje da se prazni i potvrde prijema prenose računaru A vrednost RcvWindow različitu od nule.

3.5.6 Upravljanje TCP vezom

Korak 1: Klijentska strana protokola TCP prvo šalje poseban TCP segment serverskoj strani protokola

Page 13: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 13

TCP. Ovaj poseban segment ne sadrži podatke aplikativnog sloja. Medjutim, jedan od bitova oznaka u

zaglavlju segmenata, bit SYN ima vrednost 1, pa se ovaj segment naziva SYN segmentom. Osim toga,

klijent bira nasumice početni redni broj i stavlja taj broj u polje rednog broja početnog TCP SYN

segmenta. Ovaj segment se enkapsulira u IP datagram i šalje serveru.

Korak 2: Kada IP datagram koji sadrži TCP SYN segment, stigne do računara servera, server izvlači TCP

SYN segment iz datagrama, toj vezi dodeljuje TCP bafer i promenljive veze i klijentu šalje segment kojim

odobrava uspostavljanje veze. Ovaj segment takođe ne sadrži podatke aplikativnog sloja. Ipak, sadrži tri

bitne informacije:

1. Bit SYN postavljen na 1

2. Polje potvrde u zaglavlju TCP segmenta postavljeno je na vrednost client_isn+1

3. Server bira vlastiti početni redni broj i stavlja tu vrednost u polje rednog broja u zaglavlju TCP

segmenta.

Ovaj segment naziva se SYNACK segment.

Korak 3: Pošto primi SYNACK segment, klijent takođe ovoj vezi dodeljuje privremene bafere promenljive.

Klijentski računar zatim šalje serveru još jedan segment; ovaj segment potvrđuje prijem serverovog

segmenta odobrenja veze. SYN je postavljen na 0, pošto je veza uspostavljena. U telu ovog segmenta

mogu da se nađu podaci.

Nakon ova tri koraka veza je uspostavljena i sada mogu da šalju segmente jedan drugom. U svakom od

ovih sledećih segmenata, bit SYN je 0.

Bilo koji od ova dva procesa koji učestvuju u TCP vezi može da je prekine. Kada se veza okonča, resursi u

računarima se oslobađaju. Ako klijent npr. želi da prekine vezu on šalje serverskom procesu poseban TCP

segment u čijem zaglavlju je bit FIN postavljen na 1. Tokom trajanja TCP veze, protokol TCP na oba

računara prelazi kroz različita TCP stanja.

Alat za skeniranje portova nmap šalje TCP segment SYN sa odredišnim portom npr 6789 kako bi istražio

port 6789 na ciljanom računaru. Moguće je da se dogodi:

Izvorni računar dobija TCP segment SYNACK od ciljanog računara (nmap vraća odgovor da je

otvoren port)

Izvorni računar dobija TCP segment RST od ciljanog računara (SYN stigao do ciljanog računara

ali na tom računaru se ne izvršava aplikacija sa TCP portom 6789)

Izvorni računar ne dobija ništa (SYN segment verovatno zaustavljen nekom zaštitnom barijerom

i nikada nije stigao do ciljanog računara)

Page 14: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 14

3.6 Principi kontrole zagušenja

3.6.1 Uzroci i posledice zagušenja

Posledice:

1. Veliko kašnjenje u redovima za čekanje koje nastaje kada se brzina pristizanja paketa približava

kapacitetu linka (Strana 259-261)

2. Pošiljalac mora ponovo da šalje podatke, da bi nadoknadio pakete koji su odbačeni (izgubljeni)

zbog prepunog bafera

3. Nepotrebno ponovno slanje izazvano velikim kašnjenjem dovodi do toga da ruter troši propusni

opseg linka za prosledjivanje nepotrebnih kopija paketa. (Strana 261-263)

4. Kada se paket odbaci negde na putanji, to znači da je prenosni kapacitet svih linkova

upotrebljenih za prosledjivanje paketa do trenutka odbacivanja paketa uzaludno utrošen.

(Strana 263-265)

Brzina kojom transportni sloj šalje segmente koji sadrže prvobitne podatke kao i podatke koji se ponovo šalju, ponekad se naziva ponudjeno opterećenje mreže.

3.6.2 Rešenja koja se koriste za kontrolu zagušenja

1. Kontrola zagušenja s kraja na kraj (mrežni sloj ni na koji način ne pomaže transportnom sloju

što se tiče kontrole zagušenja; čak i samo prisustvo zagušenja u mreži, krajnji sistemi mogu da

utvrde jedino na osnovu ponašanja posmatrane mreže; TCPm mora da prihvati ovu kontrolu

zagušenja, jer IP sloj ne obezbeđuje krajnjjim sistemima nikakvu povratnu informaciju o

zagušenju mreže)

2. Kontrola zagušenja uz pomoć mreže(komponente mreže tj ruteri daju pošiljaocu jasne povratne

informacije o stanju zagušenja u mreži; ovu povratnu informaciju može da sačinjava samo jedan

bit koji ukazuje na zagušenje linka)

Page 15: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 15

Kod kontrole zagušenja uz pomoć mreže, informacija o zagušenju se prosledjuje od mreže ka pošiljaocu

na jedan od dva načina:

Neposredna povratna informacija se sa mrežnog rutera šalje pošiljaocu. Ova vrsta obaveštenja je

obično u obliku paketa zagušenja

Ruter označava odgovarajuće polje u paketu koji putuje od pošiljaoca ka primaocu kako bi

ukazao na zagušenje. Kada primi tako označeni paket, primalac obaveštava pošiljaoca da je

dobio upozorenje o zagušenju

3.6.3 Primer kontrole zagušenja uz pomoć mreže: ABR kontrola zagušenja ATM mreža

ABR je algoritam za kontrolu zagušenja u ATM mrežama (mreže koje za komutiranje paketa koriste

virtuelna kola(VC), što znači da svaki komutator na putanji od izvora do odredišta vodi računa o stanju

odredjenog virtuelnog kola od izvora do odredišta).

Kada je mreža manje opterećena, ABR usluga može slobodno da koristi dostupan višak propusnog

opsega. Kada je mreža zagušena, ABR usluga bi trebalo da priguši brzinu prenosa na neku unapred

postavljenu najmanju brzinu.

U ABR usluzi, ćelije podataka prenose se od izvora do odredišta kroz niz usputnih komutatora. Izmedju

ćelija podataka umetnute su ćelije za upravljanje resursima, ćelije RM. Ove RM ćelije mogu se upotrebiti

za razmenjivanje informacija o zagušenju medju računarima i komutatorima. Komutator može i sam da

napravi RM ćeliju i pošalje je izvoru.

ABR kontrola zagušenja u ATM mreži koristi pristup koji se zasniva na brzini, tj. pošiljalac tačno

izračunava najveću brzinu kojom može da šalje i njoj se prilagođava. ABR predvidja 3 mehanizma kojima

komutatori upozoravaju primaoce o zagušenju u mreži:

1. EFCI bit: Svaka ćelija podataka sadrži bit za nedvosmisleno upozorenje o zagušenju unapred tj bit

EFCI. Zagušeni mrežni komutator može da postavi EFCI bit u ćeliji podataka na 1 i tako upozori

odredišni računar na zagušenje. Odredišni računar mora da proverava EFCI bit u svim primljenim

ćelijama podataka. Kada RM ćelija stigne na odredište, a u prethodno primljenoj ćeliji podataka

EFCI bit je stavljen na 1, tada odredišni računar postavlja bit za upozorenje o zagušenju, bit CI u

RM ćeliji na 1, i RM ćeliju šalje nazad pošiljaocu.

2. Bitovi CI i NI: Broj umetnutih RM ćelija može da se podešava parametrom čija je

podrazumevana vrednost jedna RM ćelija na svakih 32 ćelije podataka. Te RM celije sadrže bit za

upozorenje o zagusenju (CI bit) i bit „ne povecavaj”, bit NI (no increase), koje postavlja

komutator zagušene mreže. Komutator može da unutar RM ćelije koja prolazi kroz njega u

slučaju blagog zagušenja da postavi bit NI na 1, a u slučaju velikog zagušenja bit CI na 1. Kada

odredišni računar primi RM ćeliju, on je vraća pošiljaocu ne dirajući CI i NI bitove.

3. Postavljanje vrednosti ER: Svaka RM ćelija takodje sadrži dvobajtno polje eksplicitno zadate

brzine, polje ER. Zagušeni komutator može da smanji vrednost u polju ER unutar RM ćelije koja

prolazi kroz njega.

Page 16: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 16

3.7 TCP kontrola zagušenja

Kako pošiljalac ograničava brzinu kojom šalje saobraćaj u svoju vezu: TCP mehanizam za

kontrolu zagušenja zahteva da se sa obe strane veze održava još jedna promenljiva, prozor

zagušenja, označen sa cwnd (congestion window), koji nameće ograničenje brzine kojom

pošiljalac može da šalje saobraćaj u mrežu. Količina nepotvrdjenih podataka kod pošiljaoca ne

sme da predje manju od vrednosti cwnd i rwnd:

LastByteSent – LastByteAcked ≤ min{cwnd, rwnd}

Navedeno ograničenje određuje količinu nepotvrđenih podataka kod pošiljaoca i tako posredno

ograničava njegovu brzinu slanja. Brzina slanja pošiljaoca iznosi približno cwnd/RTT bajtova u sekundi.

Prema tome, pošiljalac može da podesi brzinu slanja podataka kroz vezu podešavanjem vrednosti cwnd.

Kako TCP pošiljalac opaža da li postoji zagušenje na putanji između njega i odredišta: Kada

postoji izuzetno zagušenje, dolazi do prepunjavanja jednog ili više bafera u ruterima duž

putanje, što dovodi do odbacivanja datagrama. Odbačeni datagram predstavlja nastanak

događaja gubitka kod pošiljaoca – bilo da dođe do isteka vremena, ili stignu trostruke ACK

potvrde – što pošiljalac uzima kao znak da postoji zagušenje na putanji od njega do primaoca.

U slučaju kad nema zagušenja TCP pošiljalac prima potvrde za prethodno nepotvrđene segmente. TCP

uzima ove potvrde kao znak da je sve u redu, pa će to iskoristiti da poveća svoj prozor zagušenja (samim

tim i brzinu slanja). Ako potvrde stižu relativno sporo, tada se prozor zagušenja relativno sporo

povećava. Ako potvrde stižu brzo, prozor zagušenja se povećava mnogo brže. Pošto TCP koristi potvrde

prijema kako bi pokrenuo postupak povećanja prozora zagušenja, za TCP protokol se kaže da ima vlastiti

ritam.

Vodeći principi protokola TCP:

Izgubljeni segment ukazuje na zagušenje, pa bi iz tog razloga brzina pošiljaoca trebalo da se

smanji, kada se segment izgubi

Potvrđeni segment ukazuje da mreža isporučuje segmente pošiljaoca primaocu, pa brzina

pošiljaoca može da se poveća, kada stigne ACK potvrda za nepotvrđeni segment

Isprobavanje propusnog opsega (povećanje brzine kao odgovor na pristigle ACK potvrde, sve dok

se ne pojavi događaj gubitka, kada bi brzina prenosa trebalo da se smanji)

TCP algoritam za kontrolu zagušenja ima tri glavne komponente:

1. Spori start

2. Izbegavanje zagušenja

3. Brzi oporavak (nije obavezan)

Spori start

Na početku TCP veze, vrednost cwnd obično se postavlja na jedan MSS, što daje početnu brzinu slanja

približno MSS/RTT. Pošto propusni opseg može da bude mnogo veći od MSS/RTT, pošiljalac bi želeo brzo

da pronađe raspoloživi propusni opseg. U stanju spori start vrednost cwnd počinje sa 1 MSS i povećava

Page 17: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 17

se za 1 MSS svaki put kada se preneseni segment prvi put potvrdi. (2 segmenta potvrđena, po 1 MSS,

postaju 4 MSS).

Kako se izlazi iz stanja sporog starta:

1. Ukoliko postoji događaj gubitka, TCP pošiljalac podešava vrednost cwnd na 1 MSS i počinje

iznova proces sporog starta.

2. On takodje podešava drugu promenljivu ssthresh (prag algoritma sporog starta) na cwnd/2

(polovina od vrednosti prozora zagušenja, kad se pojavi zagušenje). Drugi način na koji se spori

start može okončati je direktno povezan sa ssthresh. Kada se vrednost cwnd izjednači sa

ssthresh, spori start se završava, a TCP prelazi u režim rada izbegavanja zagušenja.

3. Poslednji način na koji spori start može da se završi je ako se otkriju tri kopije ACK potvrda, i tada

protokol TCP izvršava brzo ponovno slanje i ulazi u stanje brzog oporavka.

Izbegavanje zagušenja

Prilikom ulaza u stanje izbegavanja zagušenja, cwnd je približno pola svoje vrednosti, u odnosu na

trenutak kada se zagušenje poslednji put pojavilo. Umesto da se duplira vrednost cwnd za svaki RTT, TCP

povećava vrednost cwnd jednim MSS za svaki RTT. Uobičajeni pristup je da TCP pošiljalac poveća

vrednost cwnd za MSS bajtova (MSS/cwnd) svaki put kad pristigne nova potvrda prijema (10 segmenata

unutar jednog RTT, cwnd se povećava za 1/10 MSS za svaku potvrdu prijema koja stigne).

Vrednost cwnd se podešava na 1 MSS, a vrednost ssthresh se ažurira na polovinu vrednosti cwnd, kada

se pojavi događaj gubitka. U slučaju trostrukih kopija ACK potvrda mreža nastavlja da isporučuje

segmente od pošiljaoca do primaoca. TCP deli na pola vrednost cwnd i postavlja vrednost ssthresh da

bude polovina vrednosti cwnd, kada se primi trostruka kopija ACK potvrde. Tada nastupa stanje brzog

oporavka.

Brzi oporavak

U brzom oporavku, vrednost cwnd se povećava za 1 MSS za svaku kopiju ACK potvrde koja je primljena

za segment koji nedostaje, koji je prouzrokovao da protokol TCP udje u stanje brzog oporavka. Kad

stigne ACK potvrda za segment koji nedostaje, protokol TCP ulazi u stanje izbegavanja zagušenja, nakon

što se cwnd smanji. Ako se pojavi događaj isteka vremena, brzi oporavak prelazi u stanje sporog starta:

vrednost cwnd se podešava na 1 MSS, a vrednost ssthresh se podešava na polovinu vrednosti cwnd kad

se pojavi događaj gubitka.

Kontrola zagušenja protokola TCP: osvrt

TCP kontrola zagušenja se često naziva aditivno povećanje/multiplikativno smanjenje (AIMD). AIMD

kontrola zagušenja izaziva testerasto ponašanje.

Page 18: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 18

Osnovna ideja algoritma Vegas protokola TCP :

1. Otkrije zagušenje u ruterima između izvora i odredišta, pre gubitka paketa

2. Snizi brzinu linearno, kada se otkrije predstojeći gubitak paketa (otkrivanje posmatranjem RTT

vremena, duže RTT vreme, veće zagušenje na ruterima)

Makroskopski opis propusne moći protokola TCP

Tokom određenog intervala povratnog puta, brzina pri kojoj protokol TCP šalje podatke je funkcija

prozora zagušenja i trenutnog RTT. Kada je veličina prozora w bajtova, a trenutno vreme povratnog puta

RTT sekundi, tada je brzina prenosa protokola otprilike w/RTT. Protokol tada isprobava dodatni opseg,

povećavanjem w za 1 MSS za svaki RTT, sve dok se ne pojavi događaj gubitka. W neka bude vrednost w

kad se pojavi događaj gubitka. Ako pretpostavimo da su RTT i W približno konstantni tokom trajanja

veze, onda se brzina prenosa protokola TCP kreće od w/(2*RTT) do W/RTT

S obzirom da se propusna moć protokola TCP linearno povećava između dve ekstremne vrednosti,

imamo:

Prosečna propusna moć veze=0,75*W/RTT

Protokol TCP preko putanja velikog propusnog opsega

Prosečna propusna moć veze= 1,22*MSS/(RTT*√L)

U ovom slučaju propusna moć TCP veze je funkcija verovatnoće gubitka (L), vremena povratnog puta

(RTT) i maksimalne veličine segmenata (MSS). Koristeći ovo formulu, algoritam kontrole zagušenja

današnjeg protokola TCP može samo da toleriše veoma malu verovatnoću gubitka.

Page 19: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S 19

3.7.1 Fer ponašanje

U idealizovanom scenariju, propusni opseg koji su dve veze ostvarile kroz link uskog grla može da

fluktuira duž linije jednakog deljenja propusnog opsega. Takođe, te dve veze će konvergirati ka ovom

ponašanju, bez obzira na mesto u dvodimenzionalnom prostoru. Pri neidealnim uslovima, aplikacije

mogu da dobiju veoma nejednake delove propusnog opsega linka.

Fer ponašanje i UDP

Sa stanovišta TCP aplikacije koje se izvršavaju preko protokola UDP nisu fer – ne sarađuju sa drugim

vezama, niti podešavaju svoju brzinu prenosa na odgovarajući način. Pošto kontrola zagušenja protokola

TCP smanjuje brzinu prenosa kada se suoči sa povećanim zagušenjem, a UDP to radi, moguće je da UDP

sadržaj nadvlada TCP saobraćaj.

Fer ponašanje i paralelne TCP veze

Kada jedna aplikacija koristi više paralelnih veza, ona na zagušenom linku dobija veći deo propusnog

opsega.

PRIMER: Link brzine R, koji podržava devet pokrenutih klijentsko-serverskih aplikacija, tako da svaka aplikacija

koristi jednu TCP vezu. Ako se priključi jedna nova aplikacija i takođe koristi jednu TCP vezu, svaka aplikacija dobija

brzinu prenosa R/10. Ali, ako ova nova aplikacija koristi 11 paralelnih TCP veza, njoj će biti dodeljeno više od R/2.

Page 20: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

20

4. Mrežni sloj

Ostvaruje uslugu komunikacije od računara do računara.

4.1 Uvod

Mrežni sloj računara H1 preuzima segmente od transportnog sloja računara H1, enkapsulira svaki

segment u datagram i zatim šalje te datagrame na najbliži ruter R1. U prijemnom računaru, H2, mrežni

sloj prima datagrame od najbližeg rutera R2, izdvaja segmente transportnog sloja i isporučuje ih naviše.

Primarna uloga rutera je prosleđivanje datagrama od ulaznih do izlaznih linkova.

4.1.1 Prosleđivanje i rutiranje

Prosleđivanje: Prenos paketa od ulaznog do izlaznog linka unutar istog rutera; delatnost unutar

rutera prilikom prenosa paketa sa interfejsa ulaznog linka na interfejs izlaznog linka.

Page 21: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

21

Rutiranje: Obuhvata sve mrežne rutere, čijom se saradnjom pomoću protokola rutiranja

određuju putanje kojima paketi putuju od izvornog do odredišnog čvora. Algoritme koji

izračunavaju putanje nazivamo algoritmima rutiranja.

Svaki ruter ima tabelu prosleđivanja. Ruter prosleđuje paket tako što ispituje vrednost određenog polja

u zaglavlju pristiglog paketa, a zatim, koristeći tu vrednost pretražuje tabelu prosleđivanja rutera.

Rezultat dobijen iz tabele ukazuje na to na koji bi izlazni interfejs linka rutera trebalo proslediti taj paket.

Tabele prosleđivanja se konfigurišu algoritmima rutiranja koji mogu biti:

Centralizovani (algoritam se izvršava na jednom mestu, a pojedini ruteri preuzimaju

informacije za rutiranje)

Decentralizovan (na svakom ruteru se izvršava deo distributivnog algoritma rutiranja)

U oba slučaja, ruter prima poruke protokola rutiranja, koje se koriste za konfigurisanje njegove tabele

prosleđivanja.

Izraz komutator paketa koristićemo sa značenjem opšti uređaj za komutiranje paketa, koji prenosi paket

iz interfejsa ulaznog linka u interfejs izlaznog linka, u zavisnosti od vrednosti u polju zaglavlja paketa.

Neki komutatori paketa, koje zovemo komutatori sloja veze (sloj veze, fizički sloj) svoju odluku o

prosleđivanju zasnivaju na vrednosti u polju sloja veze. Drugi komutatori paketa, koje nazivamo

ruterima(mrežni sloj, sloj veze, fizički sloj), svoju odluku o prosleđivanju zasnivaju na vrednosti u polju

zaglavlja mrežnog sloja.

Uspostavljanje veze

U nekim računarskim mrežama i treća funkcija mrežnog sloja, a to je uspostavljanje veze; neke

arhitekture mrežnog sloja npr. ATM, frame-replay i MPLS od rutera duž izabrane putanje, od izvora do

odredišta, zahtevaju usaglašavanje da bi se postavilo stanje pre nego što paketi podataka mrežnog sloja

unutar date veze od izvora do odredišta počnu da teku.

4.1.2 Modeli usluga mrežnog sloja

Model usluge mreže definiše karakteristike prenosa podataka od kraja do kraja, to jest, između

predajnog i prijemnog krajnjeg sistema.

Specifične usluge koje bi mrežni sloj mogao ponuditi:

Garantovana isporuka (da će paket pre ili kasnije stići na odredište)

Garantovana isporuka sa ograničenim kašnjenjem (garantuje isporuku od računara do računara

u određenom roku)

Usluge koje bi se mogle ponuditi toku paketa:

Isporuka u ispravnom redosledu

Garantovani minimalni propusni opseg (oponašanje ponašanja prenosnog linka određene

Page 22: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

22

brzine)

Garantovana maksimalna promenljivost kašnjenja (vreme koje protekne između slanja dva

uzastopna paketa kod pošiljaoca biti jednako vremenu koje protekne između njihovog prijema

na odredištu)

Bezbednosne usluge (npr. tajni ključ)

Mrežni sloj obezbeđuje jedinstvenu uslugu najboljeg pokušaja, u kojoj se ne garantuje

pravovremena isporuka paketa, ni da će paketi biti primljeni redosledom kojim su poslati, niti se

uopšte garantuje isporuka poslatih paketa.

ATM mreže prevazilaze uslugu najboljeg pokušaja. Dva najvažnija modela usluge ovih mreža su:

Usluga stalne bitske brzine (CBR; cilj ove usluge je obezbediti protok paketa virtuelnim

cevovodom koji se ponaša kao da između predajnog i prijemnog računara postoji link

fiksnog propusnog opsega; garancija da će kašnjenje ćelija s kraja na kraj, promenljivost

kašnjenja ćelija s kraja na kraj i udeo ćelija koje se izgube ili prekasno isporuče, biti manji od

utvrđene vrednosti)

Usluga raspoložive bitske brzine (ABR; usluga neznatno bolja od najboljeg pokušaja, ćelije

mogu da se izgube, ali ne mogu promeniti redosled; vezi koja koristi ABR uslugu garantuje se

minimalna brzina prenosa ćelija (MCR); ova usluga ATM mreže može pošiljaocu da obezbedi

povratne informacije koje regulišu kako pošiljalac prilagođava svoju brzinu između MCR i

dozvoljene maksimalne brzine ćelija)

4.2 Mreže sa virtuelnim kolima i mreže sa datagramima

Mrežni sloj, kao i transportni, može da ponudi usluge sa uspostavljanjem veze i bez uspostavljanja

veze.

Razlike u odnosu na transportni sloj:

Na mrežnom sloju usluge od računara do računara; na transportnom od procesa do procesa

Mrežni sloj nudi ili uslugu sa uspostavljanjem veze (mreže sa virtuelnim kolima) ili bez

uspostavljanja veze (mreže sa datagramima), ne obe

Usluga sa uspostavljanjem veze na transportnom sloju se ostvaruje na obodu mreže u krajnjim

sistemima, a na mrežnom sloju u ruterima u jezgru mreže, a isto tako i u krajnjim sistemima

4.2.1 Mreže sa virtuelnim kolima

ATM i frame relay mreže spadaju u mreže sa virtuelnim kolima i koriste veze mrežnog sloja. Ove veze

mrežnog sloja nazivaju se virtuelna kola.

Page 23: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

23

Virtuelno kolo sastoji se od:

Putanje izmedju izvornog i odredišnog računara

Brojeva virtuelnog kola

Stavki u tabeli prosleđivanja u svakom ruteru duž putanje

Paket koji pripada virtuelnom kolu u svom zaglavlju nosi VC broj. Pošto VC može da ima različiti VC broj

na pojedinim linkovima, svaki posredni ruter mora da zameni stari VC broj u paketima koji kroz njega

prolaze novim VC brojem. Novi VC broj dobija se iz tabele prosleđivanja.

Kad god se kroz ruter uspostavi novo virtuelno kolo, dodaje se nova stavka u tabelu prosleđivanja; kad

se neko VC prekine, uklanjaju se odgovarajuće stavke iz svih tabela duž njegove putanje.

Zašto paket ne zadrži isti VC broj na svim linkovima duž svoje putanje?

1. Zamenom broja od linka do linka smanjuje se potrebna dužina VC polja u zaglavlju paketa

2. Uspostavljanje VC kola značajno se pojednostavljuje time što su dozvoljeni različiti VC brojevi na

linkovima duž putanje VC kola; kada se koristi više VC brojeva svaki link na putanji može da bira

VC broj bez obzira na VC brojeve koje su izabrali drugi linkovi te putanje; kada bi se zahtevao

zajednički VC broj bio bi potreban priličan broj poruka koje bi se razmenile i obrađivale

U mreži sa virtuelnim kolima, mrežni ruteri moraju da održavaju informacije o stanju veze za

uspostavljene veze (dodavanje i izbacivanje iz tabele prosleđivanja).

Faze u virtuelnom kolu:

1. Uspostavljanje virtuelnog kola (transportni sloj pošiljaoca stupa u vezu sa mrežnim slojem,

navodi adresu primaoca i čeka da mreža uspostavi virtuelno kolo; mrežni sloj utvrđuje putanju

između pošiljaoca i primaoca, kao i VC brojeve za sve linkove duž te putanje; na kraju, mrežni

sloj dodaje odgovarajuću stavku u tabelu prosleđivanja svih rutera duž putanje)

2. Prenos podataka

3. Raskidanje virtuelnog kola (kada pošiljalac/primalac obavesti mrežni sloj o svojoj želji da

prekine virtuelno kolo; mrežni sloj tada obično obaveštava krajnji sistem na drugoj strani mreže

o prekidanju poziva i ažuriranju tabele prosleđivanja u svim ruterima paketa na putanji)

Uspostavljanje veze na transportnom sloju tiče se samo dva krajnja sistema; krajnji sistemi svesni veze

transportnog sloja, ruteri unutar mreže nemaju pojma o njoj. Na mrežnom sloju VC, ruteri duž putanje

uključeni su u uspostavljanje VC i svaki ruter je sasvim svestan svih VC koja prolaze kroz njega.

Signalizacione poruke su poruke koje krajnji sistemi šalju za otpočinjanje ili raskidanje VC i poruke koje

ruteri razmenjuju za uspostavljanje VC. Protokoli koji se koriste za razmenu tih poruka nazivaju se

protokoli signalizacije.

Page 24: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

24

4.2.2 Mreže sa datagramima

U ovim mrežama, kad god krajnji sistem hoće da pošalje neki paket, on taj paket obeleži adresom

krajnjeg odredišnog sistema i zatim taj paket ubaci u mrežu. Ruteri u ovoj mreži ne održavaju nikakve

informacije o stanju VC, jer nema VC.

Tokom prenosa od izvora do odredišta paket prolazi kroz niz rutera. Svi ovi ruteri koriste adresu

odredišta u paketu za njegovo prosleđivanje; kada paket stigne na određeni ruter, taj ruter koristi

adresu odredišta paketa da bi u tabeli prosleđivanja pronašao odgovarajući interfejs izlaznog linka i

zatim ga prosledio na taj interfejs.

Ruter upoređuje prefiks adrese odredišta paketa sa stavkama u tabeli prosleđivanja; ako postoji

jednakost, ruter prosleđuje paket na link pridružen toj vrednosti. Ako prefiks nije jednak nijednoj stavki,

ruter prosleđuje paket na interfejs ostalo. Kada postoji više podudarnosti, ruter primenjuje pravilo

podudaranja najdužeg prefiksa (najduža podudarna stavka).

Iako ruteri u mrežama sa datagramima ne održavaju nikakve informacije o stanju veze, oni ipak u svojim

tabelama prosleđivanja održavaju informacije o stanju prosleđivanja (menjaju se relativno sporo, minut

do pet minuta). Pošto se tabele prosleđivanja u mrežama sa datagramima mogu menjati u bilo kom

trenutku, niz paketa koji se pošalje od jednog do drugog krajnjeg sistema može da prođe različitim

putanjama kroz mrežu i može da stigne bez reda.

4.3 Šta se nalazi unutar rutera?

Komponente rutera:

1. Ulazni portovi (obavlja funkcije fizičkog sloja, funkcije sloja veze podataka (koje su potrebne za

saradnju sa funkcijama sloja veze podataka na udaljenoj strani dolaznog linka), funkcije

pretraživanja (koristi se tabela prosleđivanja kako bi se utvrdio izlazni port rutera na koji će

paket koji dolazi biti prosleđen putem komutatorske mreže)

2. Komutatorska mreža (povezuje ulazne portove rutera sa njegovim izlaznim portovima)

3. Izlazni portovi (skladi pakete koji su mu prosleđeni kroz komutatorsku mrežu, a zatim ih predaje

na izlazni link izvršavanjem neophodnih funkcija sloja veze i fizičkog sloja. Ako je link dvosmeran,

izlazni port tog linka obično se uparuje sa ulaznim portom tog linka na istoj linijskoj kartici)

4. Procesor rutiranja (izvršava protokole rutiranja, održava tabele rutiranja i informacije o stanju

pridruženih linkova i izračunava tabele prosleđivanja za ruter; takođe izvršava funkcionalnosti

upravljanja mrežom)

(Portovi – fizički interfejsi rutera)

Ulazni, izlazni portovi i komutatorska mreža zajedno ostvaruju funkciju prosleđivanja i skoro uvek su

implementirani u hardveru. Funkcije prosleđivanja se zajedno nekada nazivaju ravan za prosleđivanje

rutera.

Page 25: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

25

Dok ravan za prosleđivanje funkcioniše u skali vremena koja se meri nanosekundama, kontrolne funkcije

rutera, koje izvršavaju protokole rutiranja, odgovaraju na uključenja i isključenja pridruženih linkova, i

izvršavaju upravljačke funkcije, funkcionišu u vremenskom okviru milisekundi ili sekundi. Ove funkcije

kontrolne ravni rutera su obično implementirane softverski i izvršavaju se na procesoru za rutiranje.

4.3.1 Način rada ulaznog porta

Funkcija završetka linije ulaznog porta i obrada sloja veze primenjuju fizičke i slojeve veze za taj

pojedinačni ulazni link. Modul pretraživanja u ulaznom portu ključan za rad rutera – ovde ruter koristi

tabelu prosleđivanja, kako bi potražio izlazni port na koji će paket biti prosleđen. Kopije tabele

prosleđivanja obično se čuvaju u svakom ulaznom portu. Tabela prosleđivanja se kopira iz procesora

rutiranja na linijske kartice preko izdvojene magistrale (PCI magistrale). Pomoću kopije, odluka vezana za

prosleđivanje može da se donese lokalno, na svakom ulaznom portu, bez poziva centalizovanog

procesora rutiranja za svaki paket, pa se time izbegava usko grlo centralizovane obrade. Ne samo da bi

pretragu trebalo da izvrši hardverski, već su potrebne i tehnike koje prevazilaze jednostavnu linearnu

pretragu kroz veliku tabelu

Ukoliko paketi iz drugih ulaznih portova trenutno koriste komutatorsku mrežu, može trenutno da bude

blokiran ulazak paketa u komutatorsku mrežu. Blokirani paket čekaće u redu na ulaznom portu.

Page 26: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

26

4.3.2 Komutiranje

Načini komutiranja:

Komutiranje preko memorije (Mnogi savremeni ruteri, kao i prvobitni ruteri, takođe komutiraju

preko memorije; medjutim, glavna razlika u odnosu na prvobitne je što traženje adrese

odredišta i skladištenje paketa na odgovarajuće mesto u memoriji izvršavaju procesori na

ulaznim linijskim karticama; dva paketa ne mogu da se rutiraju u isto vreme. Ova vrsta rutera

veoma liči na multiprocesore sa deljenom memorijom, gde procesiranje na linijskoj kartici

komutira pakete u memoriju odgovarajućeg izlaznog porta)

Komutiranje preko magistrale (Ovde ulazni portovi prenose paket neposredno u izlazni port

preko zajedničke magistrale, bez posredovanja procesora rutiranja. Ovo se najčešće vrši tako što

ulazni port doda internu oznaku komutatora paketu koja ukazuje na lokalni izlazni port na koji je

ovaj paket prosleđen i prosleđuje paket na magistralu. Paket primaju svi izlazni portovi, ali samo

jedan od njih koji se podudara s oznakom će zadržati paket. Oznaka se tada uklanja na izlaznom

portu. Ako više paketa stigne u ruter u isto vreme, svaki na različiti ulazni port, svi sem jednog

moraju da čekaju. Brzina komutiranja paketa je ograničena brzinom magistrale)

Komutiranje preko višestruko povezane mreže (Korišćenje složenije, višestruko povezane

mreže. Komutator sa unakrsno povezanim linijama je višestruko povezana mreža koja se sastoji

od 2N magistrala koje povezuju N ulaznih portova sa N izlaznih portova. Svaka horizontalna

magistrala seče sa svakom vertikalnom magistralom u tački preseka, koju može da otvori ili

zatvori u bilo koje vreme kontroler komutatorske mreže. Ove mreže sposobne za prosleđivanje

više paketa u isto vreme. Međutim, ako su dva paketa iz dva različita ulazna porta upućena na

isti izlazni port, tada će jedan od njih morati da čeka jer preko magistrale u dato vreme može da

se pošalje samo jedan paket)

Page 27: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

27

4.3.3 Procesiranje izlaznog porta

Obuhvata uzimanje paketa koji se čuvaju u memoriji izlaznog porta i prenošenje preko odlaznog linka.

Ovo uključuje biranje i izlazak paketa iz redovaza prenos, kao i izvršavanje potrebnih funkcija prenosa

sloja veze i fizičkog sloja.

4.3.4 Gde dolazi do čekanja u redu?

Redovi paketa mogu se stvoriti kako na ulaznim tako i na izlaznim portovima. Lokacija i dužina čekanja u

redu zavise od opterećenosti saobraćaja, prosečne brzine komutatorske mreže i brzine linije. Kad ne

bude dovoljno memorije za skladištenje pristiglih paketa, doći će do gubitka paketa.

Bafer rutera neophodan da bi se ublažila neravnomernost opterećenosti saobraćaja, prirodno se

nameće pitanje koliko je privremene memorije potrebno. Godinama je važilo da bi veličina bafera (B)

trebalo da bude jednaka prosečnoj veličini povratnog puta RTT pomnoženoj sa kapacitetom linka (C).

Skorašnja istraživanja pokazuju da je u sličaju kada kroz neki link prolazi veliki broj TCP tokova (N),

neophodna veličina bafera od:

B=RTT*C/√N

Posledica čekanja u redu izlaznog porta je da raspoređivač paketa na izlaznom portu mora da izabere

jedan paket između onih koji čekaju u redu za prenos. Odabir može da se dobija po redosledu pristizanja

(FCFS) ili po težinskom ravnopravnom čekanju (WFQ) u kome izlazni link ravnopravno deli između

različitih veza sa kraja na kraj čiji paketi čekaju na prenos. Raspoređivanje paketa je važno da bi se

obezbedio garantovan kvalitet usluge.

Takođe, ako nemam memorije da se ulazni paket smesti u bafer, potrebno je odlučiti da li da se on

odbaci ili jedan ili više paketa iz reda za čekanje. Algoritmi koji se bave ovim problemima nazivaju se

algoritmi za aktivno upravljanje redovima čekanja, a jedan od njih je RED (nasumično rano otkrivanje).

Page 28: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

28

Ako komutatorska mreža nije dovoljno brza za prenošenje svih pristiglih paketa bez kašnjenja kroz

komutatorsku vezu, tada redovi za čekanje nastaju i na ulaznim portovima.

Blokiranje spreda (HOL) u ulaznom redu za čekanje komutatora nastaje kad paket koji čeka u ulaznom

redu mora da sačeka prenošenje kroz komutatorsku mrežu (mada je njegov izlazni port slobodan) jer je

sprečen drugim paketom koji se nalazi ispred njega.

4.3.5 Ravan kontrole rutiranja

Ravan kontrole rutiranja je širom mreže pa je, prema tome, decentralizovana sa različitim delovima koji

se izvršavaju na različitim ruterima i međusobno komuniciraju slanjem kontrolnih poruka jedni drugima.

Pri tome, proizvođači rutera i komutatora kompletiraju svoje hardverske ravni podataka sa softverskom

kontrolnom ravni u zatvorene platforme u vertikalno integrisan proizvod.

4.4 Internet protokol (IP): prosleđivanje i adresiranje na internetu

Mrežni sloj interneta sastoji se od tri glavne komponente:

1. Protokol IP

2. Komponenta za rutiranje koja utvrđuje putanju kojom datagram putuje od izvora do odredišta

3. Slanje obaveštenja o greškama u datagramima i pružanje izvesnih informacija o mrežnom sloju

4.4.1 Format datagrama

Paket mrežnog sloja naziva se datagram.

32 bita

Verzija Dužina

zaglavlja Vrsta usluge Dužina datagrama (bajtova)

16-bitni identifikator Oznake 13-bitni ofset fragmentacija

Vreme važenja Protokol gornjeg sloja Kontrolni zbir zaglavlja

32-bitna IP adresa izvora

32-bitna IP adresa odredišta

Opcije (ako postoje)

Podaci

Polja datagrama protokola IPv4:

Broj verzije (verzija protokola IP određenog datagrama)

Dužina zaglavlja (zbog opcija može biti promenljiva dužina, ali pošto većina datagrama nema

opcije, uobičajeni IP datagram ima zaglavlje od 20 bajtova)

Vrsta usluge (TOS; da bi se omogućilo raspoznavanje različitih vrsta IP datagrama)

Dužina datagrama (zaglavlje+podaci; polje dužine 16 bitova, pa maksimalna veličina IP

Page 29: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

29

datagrama 65.535 bajtova ali retko kad su datagrami duži od 1.500 bajtova)

Indikator, oznake i pomeraj framentacije

Vreme života (TTL; da bi se sprečilo večno kruženje datagrama u mreži; vrednost ovog polja

smanjuje se za jedan na svakom ruteru gde se datagram obrađuje. Ako polje dostigne vrednost

0, datagram mora da se odbaci)

Protokol (ovo polje se koristi samo kad IP datagram stigne do svog krajnjeg odredišta- ukazuje

na to kom protokolu transportnog sloja bi trebalo predati podatke iz IP datagrama)

Kontrolni zbir zaglavlja (pomaže ruteru da otkrije greške u bitovima unutar IP datagrama;

izračunava se tako što se svaka dva bajta u zaglavlju posmatraju kao broj, potom se ti brojevi

sabiraju i izračunava se prvi komplement dobijenog zbira; ruteri obično odbacuju datagrame u

kojima otkriju grešku; na svakom ruteru se mora ponovo računati kontolni zbir zbog TTL; na sloju

IP kontrolni zbir samo za zaglavlje IP datagrama)

IP adrese izvora i odredišta

Opcije (omogućuju proširivanje IP zaglavlja; koriste se retko)

Ako datagram prenosi TCP segment, tada svaki datagram u svom zaglavlju prenosi ukupno 40

bajtova (20+20) pored poruke aplikativnog sloja.

Fragmentacija IP datagrama

Maksimalna količina podataka koju može da prenese okvir sloja veze naziva se maksimalna jedinica

prenosa (MTU). S obzirom da se za prenos od jednog do drugog rutera svaki IP datagram enkapsulira

unutar okvira sloja veze, MTU protokola sloja veze predstavlja strogo ograničenje za dužinu IP

datagrama. Problem nastaje jer linkovi duž putanje mogu da koriste različite protokole sloja veze i

samim tim imaju drugačiji MTU.

Rešenje je da se podaci IP datagrama podele na dva ili više manjih IP datagrama, enkapsuliraju u različite

okvire sloja veze i ti okviri pošalju preko izlaznog linka. Ovi manji datagrami su fragmenti. Projektanti

protokola IPv4 ostavili su sastavljanje datagrama krajnjim sistemima, a ne mrežnim ruterima. Za ovo

služe polja za identifikaciju, oznake i pomeraj fragmentacije. Prilikom kreiranja datagrama, predajni

računar mu dodeljuje identifikacioni broj. Kada ruter vrši fragmentaciju datagrama, svi tako nastali

fragmenti se označavaju adresom izvora, adresom odredišta i identifikacionim brojem prvobitnog

datagrama. Kada prijemni računar primi niz datagrama od istog predajnog računara, on utvrđuje da li su

oni fragmenti jednog većeg datagrama. IP je nepouzdan, pa je zato bit oznake u poslednjem fragmentu

0, a u ostalima 1. Osim toga, da bi utvrdio da li neki fragment nedostaje, koristi polje pomeraja, kako bi

se odredilo gde se odgovarajući fragment nalazi unutar prvobitnog datagrama.

Ako jedan ili više fragmenata ne stigne do odredišta, ostali se odbacuju i ne prosleđuju transportnom

sloju.

Nedostaci korišćenja fragmenata:

Složeniji ruteri i krajnji sistemi

Napadi

Page 30: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

30

4.4.2. IPv4 adresiranje

Granica između računara i fizičkog linka zove se interfejs. Ruter najmanje povezan sa dva linka. Granica

između rutera i bilo kog njegovog linka se takođe naziva interfejs. IP zahteva da svi interfejsi računara i

rutera imaju svoju IP adresu (dugačka 32 bita; 232 IP adresa) koje se pišu u decimalnoj notaciji sa

tačkama iza svakog bajta. Svaki interfejs na svakom računaru i na ruteru na globalnom internetu mora

da ima IP adresu koja je globalno jedinstvena. Deo IP adrese određuje podmreža s kojom je povezan.

U IP žargonu, mreža koja povezuje interfejse tri računara i interfejs rutera predstavlja podmrežu (IP

mreža/mreža) (npr. 223.1.1.x). IP adresiranje pridružuje adresu ovoj podmreži 223.1.1.0/24 gde oznaka

/24 koja se ponekad naziva maska podmreže, znači da 24 krajnje leva bita 32-bitne vrednosti

predstavljaju adresu podmreže.

Da biste odredili podmreže, razdvojite interfese od njihovih računara ili rutera, praveći ostrva

zajedničkih mreža, sa interfejskima koji se nalaze na krajevima tih zasebnih mreža. Sve te zasebne

mreže se nazivaju podmreže.

Za primer sa slike dobijamo 6 ostrva ili podmreža.

Strategija dodeljivanja adresa na internetu poznata je

kao besklasno rutiranje između domena (CIDR).

a.b.c.d/x gde je x broj bitova u prvom delu adrese.

Najznačajnijih x bitova sačinjava mrežni do IP adrese i

naziva se prefiks adrese.

Kada ruter izvan organizacije prosleđuje datagram čija je

odredišna adresa u organizacijia, dovoljno je da u obzir

uzme samo vodećih x bitova. Namena preostala 32-x bita

adrese je da se razlikuju uređaji unutar organizacije.

Page 31: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

31

Dok nije uvedena CIDR šema, mrežni deo IP adrese morao je da bude dužine 8,16 ili 24 bita u šemi

poznatoj kao klasno adresiranje. Ovaj sistem je bio nedovoljan da bi podržao sve veći broj organizacija

sa malim i srednjim podmrežama i došlo je do loše iskorišćenosti dodeljenog adresnog prostora.

Adresa 255.255.255.255 je adresa za difuzno emitovanje. Kada računar pošalje datagram sa ovom

adresom odredišta, poruka se isporučuje svim računarima u istoj podmreži.

Dobijanje bloka adresa

Od posrednika za internet usluge ili ICANN.

Dobijanje adrese računara: protokol za dinamičko konfigurisanje računara

Adrese računara mogu da se konfigurišu ručno, ali se to mnogo češće obavlja korišćenjem protokola za

dinamičko konfigurisanje računara (DHCP). Mrežni administrator može da konfiguriše DHCP tako da

dati računar uvek dobija istu IP adresu ili da se računaru dodeljuje privremena IP adresa. DHCP pored

dodeljivanja IP adresa, omogućava računaru da sazna dodatne informacije kao što su maska podmreže,

adresa rutera koji mu je prvi na putu i adresa njegovog lokalnog DNS servera.

Ovaj protokol se često naziva plug-and-play jer može da automatizuje postupke koji se tiču povezivanja

računara u mrežu. Kako računari dolaze i odlaze, DHCP mora da ažurira listu svojih dostupnih IP adresa.

DHCP je klijentsko-serverski protokol.

Za novopristigli računar, DHCP se odvija u četiri koraka:

Pronalaženje DHCP servera (to se obavlja DHCP porukom za pronalaženje, koju klijent šalje

unutar UDP paketa na port 67. Zatim DHCP klijent pravi IP datagram sa adresom odredišta

255.255.255.255 i izvornom IP adresomo ovog računara 0.0.0.0. DHCP klijen prenosi ovaj IP

datagram do sloja veze, koji potom taj okvir difuzno dostavlja svim čvorovima povezanim u

podmrežu)

Ponuda DHCP servera (odgovara DHCP porukom sa ponudom koju difuzno dostavlja svim

čvorovima u mreži (šalje na 255.255.255.255). Poruke sa ponudom svih servera sadrže

transakcioni ID primljene poruke za pronalaženje, predloženu IP adresum mrežnu masku i vreme

iznajmljivanja IP adrese)

DHCP zahtev (klijent bira ponudu jednog ili više servera i odgovara na izabranu ponudu DHCP

porukom sa zahtevom vraćajući serveru neizmenjene parametre konfiguracije)

DHCP potvrda prijema

Prevođenje mrežnih adresa (NAT)

NAT ruter za spoljni svet ne izgleda kao ruter, već se prema spoljnom svetu ponaša kao jedan uređaj sa

jednom IP adresom. U suštini, NAT ruter krije pojedinosti kućne preže od spoljnog sveta. Svi datagrami

koji do NAT rutera stižu iz širokopojasne mreže imaju istu IP adresu odredišta. NAT ruter zna kom

Page 32: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

32

računaru unutar mreže bi trebalo da prosledi dati datagram korišćenjem NAT tabele prevođenja i

dodeljivanjem u stavke tabele sem IP adresa i brojevi portova. Prilikom izbora novog broja izvornog

porta, NAT ruter može da izabere bilo koji broj koji se trenutno ne nalazi u tabeli prevođenja.

Problemi sa NAT:

Brojevi portova namenjeni za adresiranje procesa, ne računara

Ruteri bi trebalo da obrađuju pakete samo sloja tri

NAT krši argument od kraja do kraja

Za rešenje nedostatka IP adresa trebalo bi upotrebiti IPv6

Ometa P2P aplikacije

Za zaobilaženje NAT rutera (u npr. P2P aplikacijama) koristi se preokretanje veze.

UPnP

Zaobilaženje NAT rutera uglavnom se sprovodi protokolom UpnP, koji omogućava računaru da pronađe i

konfiguriše susedni NAT ruter. UPnP zahteva da i računar i NAT ruter podržavaju UPnP. UPnP se koristi

tako što aplikacija koja se izvršava na nekom računaru zahteva NAT preslikavanje njenih vrednosti za

neki zahtevani javni broj porta. UPnP obaveštava aplikaciju o vrednostima tako da ta aplikacija može o

njima da obavesti spoljni svet.

4.4.3 Protokol ICMP

ICMP koriste računari i ruteri za međusobnu razmenu informacija mrežnog sloja, najčešće za

izveštavanje o greškama, ali ne uvek.

Za ICMP se obično smatra da je deo protokola IP, mada se u arhitekturi interneta nalazi neposredno

iznad protokola IP, pošto se ICMP poruke prenose unutar IP datagrama. ICMP poruke imaju polja za tip i

kod poruke, a sadrže zaglavlje i prvih 8 bajtova IP datagrama zbog kojih je ICMP poruka uopšte i nastala.

Primer poruka ICMP: ping, poruka za suzbijanje izvora (prvobitna namena da se kontroliše zagušenje)...

4.4.4 IPv6

Format datagrama IPv6

128 bita

Verzija Klasa saobraćaja Oznaka toka

Dužina korisnih podataka Sledeće zaglavlje Granica za broj skokova

Adresa izvora (128 bitova)

Adresa odredišta (128 bitova)

Podaci

Page 33: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

33

Promene koje donosi IPv6:

Proširene mogućnosti adresiranja (128 bita; osim jednoznačajnih i više značajnih IP adresa,

uveo proizvoljnu adresu – omogućava isporuku datagrama bilo kom računaru iz neke grupe)

Jednostavnije 40-bajtno zaglavlje

Označavanje i prioriteti toka (označavanje paketa da pripadaju određenim tokovima za koje

pošiljalac zahteva poseban postupak, kao što su kvalitet usluge viši od podrazumevanog ili

usluga u realnom vremenu; polje za klasu saobraćaja može se upotrebiti za davanje prednosti

određenim datagramima unutar toka ili za davanje prednosti datagramima iz određenih

aplikacija)

Polja IPv6 protokola:

Verzija

Klasa saobraćaja (Slično TOS)

Oznaka toka

Dužina korisnih podataka (broj bajtova u IPv6 datagramu koji slede iza 40-bajtnog zaglavlja

stalne dužine)

Sledeće zaglavlje (protokol kome će se isporučiti sadržaj ovog datagrama)

Ograničenje broja skokova (smanjuje se za jedan, na svakom ruteru kom se prosledi datagram)

Adrese izvora i odredišta

Podaci

Polja koja su postojala u IPv4 a u IPv6 ne postoje: fragmentacija/ponovno sastavljanje (samo izvor i

odredište sad obavljaju, preveliki paketi se odbacuju), kontrolni zbir zaglavlja (protokoli transportnog

sloja i sloja veze već proveravaju ovo), opcije.

Za IPv6 postoji nova verzija protokola ICMP, dodati novi tipovi i kodovi poruka potrebni za nove

mogućnosti koje ima IPv6. ICMPv6 obuhvata i mogućnosti koje ima IGMP (koristi se kada računar

pristupa ili napušta takozvane grupe za višestruko slanje).

Prelazak sa protokola IPv4 na IPv6

Pristupi:

1. Rešenje sa dvostrukim stekom: po njemu IPv6 čvorovi treba da potpuno podržavaju IPv4- takav

čvor naziva se IPv6/IPv4 čvor, sposoban je da šalje i prima obe vrste datagrama. IPv6/IPv4

čvorovi moraju da imaju kako IPv4, tako i IPv6 adresu. Pored toga, moraju da budu u stanju da

odrede da li drugi čvor podržava IPv6 ili samo IPv4. Ovaj problem se rešava korišćenjem DNS

usluge, koja može da vrati IPv6 adresu, ako traženi čvor podržava IPv6, u suprotnom IPv4

adresu. U ovom rešenju, bilo da pošiljalac ili primalac podržavaju samo IPv4 , mora se koristiti

IPv4 datagram.

2. Tunelovanje: Pretpostavlja se da dva IPv6 čvora žele da komuniciraju i koriste IPv6 datagrame,

ali su međusobno povezani preko posrednih IPv4 rutera. Usputne IPv4 rutere nazivamo tunel.

Page 34: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

34

Kada se koristi tunel, IPv6 čvor na predajnoj strani tunela uzima ceo IPv6 datagram i stavlja ga u

polje podataka IPv4 datagrama. Taj IPv4 datagram se upućuje do IPv6 čvora na prijemnoj strani

tunela i šalje prvom čvoru u tunelu. Usputni IPv4 ruteri prenose dataram u blaženom neznanju

da taj IPv4 datagram sadrži ceo IPv6 datagram. Na prijemnoj strani, IPv6 čvor prima IPv4

datagram, utvrđuje da on sadrži IPv6 datagram, izvlači ga i usmerava dalje.

4.4.5 Kratak pregled bezbednosti IP protokola

Protokol IPsec je jedan od najpopularnijih bezbednosnih protokola mrežnog sloja. Napravljen je da bude

kompatibilan i sa IPv4 i sa IPv6. Ukoliko dva računara žele da bezbedno komuniciraju, koristeći

transportni režim rada, neophodno je da IPsec bude dostupan samo na ta dva računara. U transportnom

režimu rada, dva računara prvo međusobno uspostavljaju Ipsec sesiju. Kada se veza uspostavi, svi TCP i

UDP segmenti koji se šalju između ova dva računara uživaju u bezbednosnim uslugama IPsec protokola.

Usluge koje nudi Ipsec obuhvataju:

Dogovor za šifrovanje (mehanizam koji omogućava dogovaranje oko algoritma za šifrovanje i

ključeva za šifrovanje)

Šifrovanje korisnih podataka IP datagrama (kad primi segment od transportnog sloja, šifruje, a

da dešifruje može jedino IPsec na prijemnom računaru)

Integritet podataka (provera da li su polja zaglavlja i šifrovani korisni podaci promenjeni)

Autentifikacija izvora (kada računar primi IPsec datagram od izvora u koga ima poverenje, on je

siguran da je IP adresa izvora navedena u datagramu zaista stvarni izvor datagrama)

4.5 Algoritmi rutiranja

Računar se obično priključuje na jedan ruter, podrazumevani ruter (ruter prvog skoka). Kad god računar

pošalje paket, taj paket se prenosi do njegovog podrazumevanog rutera. Podrazumevani ruter izvornog

računara nazivamo izvorni ruter, a podrazumevani ruter odredišnog računara odredišni ruter.

Svrha algoritama rutiranja je: za dati skup rutera sa linkovima koji ih povezuju, algoritam pronalazi

„dobru“ putanju od izvornog do odredišnog rutera. Obično je dobra putanja ona koja najmanje košta.

Za formulisanje algoritama rutiranja koristi se teorija grafova. Graf G=(N,E) skup od N čvorova i E ivica,

gde svaka ivica predstavlja par čvorova iz N. Čvorovi u grafu predstavljaju rutere, a ivice koje povezuju te

čvorove predstavljaju fizičke linkove između rutera. Ivice imaju vrednosti, koje mogu predstavljati njene

troškove (zavise od dužine linka, brzine linka, novčane cene...).

Putanju u gradu G=(N,E) sačinjava niz čvorova (x1,x2,...,xp) tako da svaki par (x1,x2),(x2,x3),...,(xp-1,xp)

predstavlja ivicu iz E. Troškovi putanje su zbir troškova ivica koje pripadaju putanji. Jedna od putanja (ili

Page 35: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

35

više njih) je putanja najmanjih troškova: pronaći putanju između izvora i odredišta koja ima najmanje

troškove. Najkraća putanja je putanja sa najmanjim brojem linkova između izvora i odredišta.

Algoritmi rutiranja mogu biti:

1. Globalni algoritmi rutiranja (izračunava putanju najmanjih troškova između izvora i odredišta,

koristeći potpuna, globalna saznanja o mreži, tj. uzima veze između svih čvorova i troškove svih

linkova kao ulazne vrednosti. U praksi, algoritmi sa potpunim informacijama o mreži nazivaju se

algoritmi stanja linkova (LS))

2. Decentralizovani algoritmi rutiranja (izračunavanje putanje najmanjih troškova izračunava se

iterativno, na više mesta, tj. distribuirano. Nijedan čvor nema potpune informacije o troškovima

svih mrežnih linkova. Umesto toga, svaki čvor počinje samo od saznanja o troškovima linkova

koji su neposredno povezani sa njim. Ovaj algoritam je poznat kao algoritam vektora rastojanja

(DV))

Drugi način za podelu algoritama: statički (rute se menjaju retko) i dinamički (putanje se menjaju

promenom opterećenja saobraćaja na mreži ili promenom topoligije mreže).

Treći način za podelu algoritama: algoritmi osetljivi na opterećenje (troškovi linkova menjaju se

dinamički, zavisno od trenutnog nivoa zagušenja određenog linka) i algoritmi koji nisu osetljivi na

opterećenje (troškovi linka ne odražavaju trenutni nivo zagušenja).

4.5.1 Algoritmi rutiranja zasnovani na stanju linkova (LS)

Svaki čvor difuzno šalje pakete o stanju linkova svim ostalim čvorovima u mreži, pri čemu svaki od ovih

paketa sadrži podatke i troškove o linkovima sa kojima je taj čvor povezan. Ovo se postiže algoritmom za

difuzno slanje stanja linkova.

Poznati LS algoritam je Dijkstrin algoritam koji izračunava putanju najmanjih troškova od jednog čvora

do svih ostalih čvorova u mreži. Iterativan je i ima svojstvo da su posle k-te iteracije algoritma poznate

putanje najmanjih troškova do k odredišnih čvorova, a među putanjama najmanjih troškova do svih

odredišnih čvorova tih k putanja imaju k najmanjih troškova. Kad se algoritam završi, imamo za svaki

čvor, najkraću putanju od izvornog čvora do tog čvora. Takođe, za svaki čvor znamo njegovog

prethodnika itd., pa na taj način možemo da napravimo celu putanju od izvora do odredišta.

Ukupan broj čvorova koje moramo da ispitamo u svim iteracijama je n(n+1)/2, pa kažemo da ova

realizacija LS algoritma u najgorem slučaju ima složenost reda n na kvadrat tj O(n2).

Nepoželjan slučaj do kog može doći se javlja kad troškovi linkova nisu simetrični (jednaki samo ako je

opterećenje jednako u oba smera) tj c(x,y)≠c(y,x). Jedno rešenje može biti da se naredi da troškovi linka

ne zavise od količine prenošenog saobraćaja. Ipak, bolje rešenje je obezbediti da svi ruteri ne izvršavaju

LS algoritam u isto vreme.

Page 36: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

36

4.5.2 Algoritam rutiranja vektora rastojanja

Distribuiran: svaki čvor prima određene informacije od jednog ili više svojih suseda sa kojima je

neposredno povezan, obavlja proračune, a zatim distribuira rezultate svojih proračuna susedima

Iterativan: ponavlja se postupak sve dok ima informacija za razmenu među susedima

Asinhron: nije neophodno da svi čvorovi rade usaglašeno

Belman-Fordova jednačina (trošak putanje najmanjih troškova od x do y:

dx(y)=minv{c(x,y)+dv(y)}

Rešenje ove jednačine pruža podatke za tabelu prosleđivanja čvora x.

Osnovna zamisao je sledeća: Svaki čvor x počinje od Dx(y), procenjenih troškova putanje najmanjih

troškova od tog čvora do čvora y, za sve čvorove u N. Neka Dx=[Dx(y):y u N] bude vektor rastojanja čvora

x, a to je vektor procenjenih troškova od x do svih ostalih čvorova y, u N. U DV algoritmu, svaki čvor x

održava sledeće informacije rutiranja:

Za svakog suseda v, trošak c(x,v) od x do neposredno povezanog suseda v

Vektor rastojanja čvora x, tj. Dx=[Dx(y):y u N]

Vektore rastojanja svih svojih suseda Dv=[Dv(y):y u N]

U distribuiranom, asinhronom algoritmu svaki čvor, s vremena na vreme, šalje kopiju svog vektora

rastojanja svim svojim susedima. Kada čvor x primi novi vektor rastojanja od nekog suseda v, o čuva taj

vektor rastojanja i zatim pomoću Belman-Fordove jednačine ažurira vlastiti vektor rastojanja na sledeći

način:

Dx(y)=minv{c(x,v)+Dv(y)} za svaki čvor N

Ako se vektor rastojanja čvora x prilikom ovog koraka promeni, čvor x šalje svoj ažurirani vektor

rastojanja svim svojim susedima, koji zatim ažuriraju svoje vektore rastojanja.

Algoritam vektora rastojanja: promene troškova linkova i otkazivanje linkova

Posmatramo promenu tj. smanjenje troškova od linka y do x sa 4 na 1:

Page 37: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

37

U trenutku t0, y otkriva promenu troška linka, ažurira svoj vektor rastojanja i obaveštava svoje

susede o toj promeni

U trenutku t1, z prima ovu ažuriranu vrednost od y i ažurira svoju tabelu, izračunava novi

najmanji trošak do x i šalje svojim susedima svoj novi vektor rastojanja

U trenutku t2, y prima ažuriranu vrednost od z i ažurira svoju tabelu rastojanja, pošto se u čvoru

y najmanji troškovi nisu promenili, y ne šalje nikakvu poruku čvoru z; algoritam prelazi u stanje

mirovanja

Razmotrimo šta se događa kada trošak poraste kao na gornjoj desnoj slici:

U trenutku t0 y otkriva promenu troškova linka. Čvor y izračunava da njegova nova putanja

najmanjih troškova do x ima trošak od:

Dy(x) = min{c(y,x) + Dx(x), c(y,z) + Dz(x)} = min{60 + 0, 1 + 5} = 6

Gledano sa strane, ti novi troškovi su pogrešni. Ali čvor y jedino ima informaciju da neposredni

troškovi do x iznose 60, a da je zadnje obaveštenje koje je y dobio od z glasilo da se od z do x

može stići troškovima 5. Zato, da bi stigao do x, y sada rutira preko z smatrajući da od z do x

može da se stigne troškovima 5. Od trenutka t1 imamo petlju rutiranja: da bi dosegli do x, y

rutira preko z, a z rutira preko y. Paket sa odredištem x koji u ovom trenutku stigne do y ili z

lutaće zauvek.

Pošto je y izračunao nove najmanje troškove prema x, on svom novom vektoru rastojanja

obaveštava z u trenutku t1

Nedugo posle t1, novi vektor rastojanja čvora y, na kome je navedeno da su najmanji troškovi y

do x jednaki 6; z zna da može stići do čvora y sa troškovima 1 i izračunava da novi najmanji

trošak do x iznosi Dz(x)=min{50+0,1+6}=7. Pošto su se najmanji troškovi čvora z do x povećali, on

o tome obaveštava y u trenutku t2.

Na sličan način u sledećem trenutku se dobije da je Dy(x)=8, zatim Dz(x)=9 i tako redom

Algoritam vektora rastojanja: dodavanje lažnog rastojanja

Da bi se izbegao prethodno naveden slučaj, može da se uvede lažno rastojanje. Zamisao je da ako z

rutira preko y, da bi se stiglo do x, onda z obaveštava y da je njegovo rastojanje do x Dz(x)= ∞. Z nastavlja

da obmanjuje y, sve dok prema x rutira preko y.

Poređenje LS i DV algoritama rutiranja

Složenost poruka (kod LS potrebno da se pošalje O(|N||E|) poruka, a kad se zameni neki trošak

on se šalje svim ostalim čvorovima; kod DV zavisi od dosta činilaca, on šalje posledice promene

samo ako novi trošak linka menja putanju najmanjih troškova prema nekom od čvorova

povezanih tim linkom)

Brzina konvergencije (LS O(|N|2) složenost i O(|N||E|) poruka; DV sporo konvergira, može da

ima petlje rutiranja i da ima preoblem brojanja do beskonačnosti)

Robusnost (LS ako otkaže ruter može difuzno da šalje pogrešne troškove; čvor takođe može da

Page 38: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

38

ošteti ili odbaci pojedine LS pakete koje je primio o stanju linkova; ipak, izračunavanja ruta u LS

donekle razdvojena pa imaju neki stepen robusnosti; U DV čvor može da objavi pogrešne

putanje najmanjih troškova do bilo kojeg ili svih odredišta; neispravan rezultat se može iz jednog

čvora proširiti kroz čitavu mrežu)

4.5.3 Hijerarhijsko rutiranje

Model koji sve rutere modeluje kao skup istovetnih rutera koji izvršavaju isti algoritam rutiranja je

previše uprošćen zbog:

Proširivost (porastom broja rutera, deo resursa koji se troši na izračunavanje, čuvanje i razmenu

informacija o rutiranju postaje zabrinjavajući)

Samostalnost u upravljanju (idealno bi bilo da organizacija koristi i upravlja svojom mrežom

kako želi, a da ipak može da se povezuje sa ostalim spoljašnjim mrežama)

Oba problema mogu da se reše tako što se ruteri organizuju u autonomne sisteme (AS) pri čemu se

svaki AS sastoji od grupe rutera kojima se obično administrira sa jednog mesta. Svi ruteri unutar istog AS

sistema izvršavaju isti algoritam rutiranja i imaju informacije jedni o drugima. Algoritam koji se izvršava

unutar AS nazivamo protokol rutiranja unutar autonomnog sistema. Neophodno je povezati AS, pa će

jedan ruter ili više njih u AS imati dodatni zadatak prosleđivanja paketa na odredišta van AS i njih

zovemo ruteri mrežnog prolaza.

Kako ruter unutar nekog AS sistema zna kako da rutira paket na odredište izvan tog AS sistema? Kad

izvorni AS ima samo jedan link koji vodi izvan tog AS problem je lak. Kad ih ima više, AS mora da:

1. Zna do kojih odredišta se može stići preko tih više sistema

2. Proširi te informacije o dostupnosti odredišta kroz mrežu

Ova dva zadatka: pribavljanje informacija o dostupnosti odredišta i širenje tih informacija svim

ruterima unutar AS obavlja protokol rutiranja među autonomnim sistemima. Na internetu svi AS

sistemi imaju isti protokol rutiranja među autonomnim sistemima nazvan BGP4.

U Rutiranju vrućeg krompira AS pokušava da se oslobodi paketa što je pre moguće. To se postiže

slanjem paketa onom ruteru mrežnog prolaza koji ima najmanje troškove od rutera do mrežnog prolaza

u odnosu na sve ostale mrežne prolaze koji imaju putanju prema odredištu.

Kad neki AS od susednog AS sazna za neko odredište, on može da objavi tu informaciju za rutiranje

nekim od svojih ostalih susednih AS.

4.6 Rutiranje na internetu

4.6.1 Rutiranje unutar autonomnih sistema na internetu: protokol RIP

Protokol rutrianja unutar AS koristi se da bi se odredilo kako se vrši rutiranje unutar određenog AS.

Page 39: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

39

Protokoli rutiranja unutar AS poznati i kao unutrašnji protokoli mrežnih prolaza.

RIP je jedan od prvih protokola rutiranja unutar AS na internetu. Njegovi koreni i ime potiču iz

arhitekture XNS. RIP je protokol vektora rastojanja koji radi na način veoma sličan idealizovanom DV

protokolu. Troškove utvrđuje prema broju skokova; odnosno svi linkovi imaju troškove 1. Svarni troškovi

ovde su od izvornog rutera do odredišne podmreže. Skok predstavlja broj podmreža kroz koje se prolazi

duž najkraće putanje od izvornog rutera do odredišne podmreže, uključujući odredišnu podmrežu.

Najveći trošak putanje ograničen je na 15, zbog čega je upotreba protokola RIP ograničena na

autonomne sisteme sa manje od 15 skokova u prečniku. U RIP protokolu ažurirani podaci o rutiranju se

razmenjuju između suseda približno svakih 30 sekundi, korišćenjem RIP poruke odgovora. Ona sadrži

spisak od najviše 25 odredišnih podmreža unutar AS, kao i udaljenost pošiljaoca do svake od tih

podmreža. Poruke odgovora su takođe poznate i kao RIP objave.

Svi ruteri održavaju RIP tabele poznate kao tabele rutiranja. Tabela rutiranja rutera sadrži vektor

rastojanja odgovarajućeg rutera i njegovu tabelu prosleđivanja. Sadrži tri kolone: odredišna podmreža,

sledeći ruter na najkraćoj putanji prema odredišnoj mreži, broj skokova da bi se najkraćim putem stiglo

u odredišnu podmrežu.

Primer: Tabela rutiranja od rutera D

Ako ruter nema vesti od nekog svog suseda najmanje bar jednom tokom 180 sekundi, smatra se da je taj

sused nedostupan: ili je prestao sa radom, ili se prekinuo link koji ih povezuje. Kad se to desi, RIP menja

lokalnu tabelu rutiranja i zatim tu informaciju širi dalje, tako što šalje objave susedima. Ruter

korišćenjem RIP poruke objave može da zahteva informaciju o troškovima svojih suseda do datog

Page 40: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

40

odredišta. RIP poruke zahteva i odgovora se šalju preko UDP koristeći port 520.

4.6.2 Rutiranje unutar autonomnih sistema na internetu: protokol OSPF

OSPF i njegovog bliskog srodnika, protokol IS-IS, obično koriste posrednici internet usluga višeg reda,

dok se RIP koristi u mrežama posrednika nižeg reda i u mrežama preduzeća. Reč Open u nazivu OPSF

znači da je specifikacija protokola javno dostupna.

OSPF je protokol stanja linkova koji koristi plavljenje informacijama o stanju linkova i Dijkstrin algoritam

putanje najmanjih troškova. Ruter koji koristi OSPF pravi potpunu topološku mapu čitavog AS. Ruter

zatim lokalno izvršava Dijkstrin algoritam najkraće putanje kako bi odredio najkraće putanje do svih

podmreža, pri čemu sebe smatra za koreni čvor.Troškove pojedinačnih linkova konfiguriše administrator

mreže.

Ruter koji koristi OSPF difuzno šalje informacije o rutiranju svim ostalim ruterima u AS. Šalje difuzno

informacije o stanju linkova, uvek kad dodje do promene stanja nekog linka; a i povremeno difuzno šalje

stanje linkova bez obzira na to što se stanje linkova nije promenilo. OSPF objave smeštaju se unutar

OSPF poruka koje se neposredno prenose IP protokolom, sa kodom protokola gornjeg sloja 89 za OSPF.

Zbog toga, ovaj protokol mora sam da ostvaruje zadatke kao što su pouzdan prenos poruka i difuzno

slanje stanja linkova. On proverava da li su linkovi ispravni i da li rade i omogućava OSPF ruteru da preko

svog susednog rutera pribavi bazu podataka o stanju linkova u celoj mreži.

Unapređenja koja donosi OSPF:

Bezbednost (moguća provera autentičnosti: jednostavna (na svim ruterima se postavlja ista

lozinka) ili MD5 (deljeni tajni ključevi koji se postavljaju na svim ruterima))

Više putanja sa istim troškovima (dozvoljava se korišćenje više putanja)

Integrisana podrška za jednoznačno i višeznačno rutiranje

Podrška za hijerarhiju unutar istog domena rutiranja (mogućnost da se AS hijerarhijski

struktuira)

OSPF AS može se hijerarhijski konfigurisati u zone. Svaka zona izvršava vlastiti OSPF algoritam rutiranja

stanja linkova, pri čemu svi ruteri unutar neke zone difuzno šalju stanja svojih linkova ruterima u toj zoni.

Unutar svih zona, jedan granični ruter zone zadužen je za rutiranje paketa izvan zone. Jedna jedina OSPF

zona u AS postavlja se da bude zona okosnice. Njena uloga je da rutira saobraćaj između ostalih zona u

AS i uvek obuhvata sve granične rutere zona u AS, a može da sadrži i rutere koji nisu granični za zone.

4.6.3 Rutiranje među autonomnim sistemima: protokol BGP

Protokol graničnog mrežnog prolaza je standardni protokol za rutiranje među AS. Omogućava:

Pribavljanje informacija o dostupnosti podmreža od susednih AS

Page 41: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

41

Prenošenje tih informacija o dostupnosti do svih rutera unutar AS

Određivanje dobrih ruta do podmreža na osnovu informacija o dostupnosti i pravila A

Osnove protokola BGP

U BGP parovi rutera razmenjuju informacije o rutiranju preko polutrajnih TCP veza, korišćenjem porta

179. Obično postoji po jedna takva BGP TCP veza za svaki link koji neposredno povezuje dva rutera iz

različitih AS. Postoje, takođe, polutrajne BGP TCP veze između rutera unutar AS. Za sve TCP veze, dva

rutera na krajevima veze nazivaju se BGP ravnopravni učesnici, a TCP veza zajedno sa svim BGP

porukama koje se šalju tom vezom naziva se BGP sesija. BGP sesija koja obuhvata dva AS naziva se

spoljašnja BGP (eBGP) sesija, a sesija između dva rutera u istom AS naziva se unutrašnja BGP (iBGP)

sesija.

BGP omogućava da svaki AS sazna koja su odredišta dostupna preko njemu susednih AS. Kad se koristi

BGP, odredišta nisu računari već prefiksi određeni CIDR šemom, gde svaki prefiks predstavlja podmrežu

ili skup podmreža.

BGP distribuira informacije o dostupnosti prefiksa preko eBGP sesije. Takođe, kada ruter mrežnog

prolaza sazna prefikse preko eBGP sesija, on pomoću svojih iBGP sesija distribuira prefikse ostalim

ruterima u AS. Zatim, neki ruter mrežnog prolaza može prefikse jednog AS da objavi nekom trećem AS.

Atributi putanje i BGP rute

U BGP AS se prepoznaje po svom globalno jedinstvenom broju autonomnog sistema (takozvani završni

AS koji prenosi isključivo saobraćaj čiji je on izvor ili odredište obično nema ASN, al se to zanemaruje).

Kad ruter kroz BGP sesiju objavljuje prefiks, on uz taj prefiks stavlja i izvestan broj BGP atributa. Prefiks

zajedno sa svojim atributima se naziva ruta. Dva najvažnija atributa su:

AS-PATH (sadrži AS kroz koje je prošla objava za odgovarajući prefiks. Kad se prefiks prenese

unutar AS, taj AS dodaje svoj ASN u atribut AS-PATH; ruteri koriste ovaj atribut za otkrivanje i

sprečavanje višestrukih ponavljanja objava)

NEXT-HOP (ovaj atribut je interfejs rutera kojim počinje putanja AS-PATH kroz autonomne

Page 42: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

42

sisteme; ruteri ga koriste za ispravno konfigurisanje svojih tabela prosleđivanja; koristeći

vrednosti atributa NEXT-HOP i algoritam rutrianja unutar AS, ruter može da odredi troškove

putanje za oba ravnopravna linka, a zatim primeni rutiranje vrućeg krompira da bi odredio

odgovarajući interfejs)

BGP takođe uključuje i atribute koji ruterima omogućavaju da metrikama ruta dodele prioritet i atribut

koji označava kako je prefiks umetnut u BGP na početnom AS.

Kada ruter mrežnog prolaza primi objavu nekog rutera, on koristi svoja pravila uvoza za odlučivanje da li

da prihvati ili odbaci odgovarajuću rutu i da li da postavi određene atribute.

Biranje BGP ruta

Ako postoje dve ili više ruta istog prefiksa, BGP primenjuje sledeća pravila eliminacije dok ne ostane

samo jedna ruta:

Biraju se rute sa najvišim vrednostima lokalnog prioriteta

Od preostalih ruta, bira se ruta sa najkraćim atributom AS-PATH

Od preostalih ruta, bira se ruta sa najbližim NEXT-HOP ruterom

Ako i dalje postoji više ruta, ruteri koriste BGP identifikatore za biranje rute

Politika rutiranja

Sav saobraćaj koji ulazi u završnu mrežu (W,Y) mora da ima odredište u toj mreži, a sav saobraćaj koji

napušta završnu mrežu mora da potiče iz nje. Višedomna mreža (X) povezana sa ostatkom mreže preko

dva različita posrednika.

Treba sprečiti X da prosleđuje saobraćaj između B i C i to se postiže kontrolisanjem načina na koji se

objavljuju BGP rute; tj. X treba da objavi B i C da nema putanje ni za jedno odredište osim svojih.

4.7 Difuzno i višeznačno rutiranje

Difuzno rutiranje: mrežni sloj pruža uslugu isporuke paketa koji se iz izvornog čvora šalje svim ostalim

čvorovima u mreži.

Višeznačno rutiranje: izvorni čvor šalje po primerak paketa određenom broju ostalih čvorova u mreži.

Page 43: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

43

4.7.1 Algoritmi difuznog rutiranja

Najprostije bi bilo da otpremni čvor pošalje zaseban primerak paketa na svako odredište. Ovakvo rešenje

za difuzno slanje je slanje sa N-tostrukim jednoznačnim slanjem. Mnogi nedostaci: neefikasnost,

potrebno znati sve difuzne primaoce i njihove adrese, ne obavlja se najbolje objavljivanje informacija o

stanju linkova, koje se koriste za izračunavanje jednoznačnih ruta.

Nekontrolisano plavljenje

Izvorni čvor šalje kopiju paketa svim svojim susedima. Kada čvor primi difuzno poslat paket, on ga

umnožava i prosleđuje svim svojim susedima (osim onom od koga je primio paket). Fatalna greška

nastaje ako je više čvorova u grafu povezano u krug i tada jedna ili više kopija difuzno poslatih paketa će

beskonačno kružiti. Druga greška koja se može javiti: kada je čvor povezan sa više od dva čvora, on će

napraviti i proslediti više primeraka difuzno poslatog paketa, pri čemu će se od njih napraviti više

primeraka (u drugim čvorovima sa više od dva suseda). Takva difuzna oluja koja potiče od beskrajnog

umnožavanja difuzno poslatih paketa na kraju bi proizvela toliko difuzno poslatih paketa da bi mreža

postala neupotrebljiva.

Kontrolisano plavljenje

Rešenje za nekontrolisano plavljenje. Čvor treba pravilno da proceni kada je potrebno da prosledi pakete

svim svojim susedima, a kada ne.

Dva rešenja:

1. Plavljenje koje se kontroliše rednim brojevima: izvorni čvor svoju adresu kao i difuzni redni

broj stavlja u paket za difuzno slanje, a zatim taj paket šalje svojim susedima. Svaki čvor

održava spisak izvornih adresa i rednih brojeva za sve difuzno poslate pakete koje je već

primio, umnožio i prosledio. Kada čvor primi difuzno poslat paket, prvo proverava da li se taj

paket nalazi na tom spisku. Ako je tako, paket se odbacuje, ako ga nema, paket se umnožava

i šalje susednim čvorovima.

2. Prosleđivanje na osnovu obrnute putanje: poznato i kao difuzno slanje na osnovu obrnute

putanje (RPF); Kada ruter primi difuzno poslati paket sa datom adresom izvora, on taj paket

prenosi na sve svoje izlazne linkove (sem onog po kojem je primljen), samo ako je paket

stigao linkom koji predstavlja njegovu najkraću jednoznačnu povratnu putanju prema izvoru.

Inače ga odbacuje i ne prosleđuje dalje. Jedino što je potrebno RPF da zna je ko je sledeći

sused na njegovoj najkraćoj jednoznačnoj putanji prema pošiljaocu.

Difuzno slanje sveobuhvatnim stablom

Sveobuhvatno stablo je stablo koje sadrži sve čvorove i grafu. Ako se svim linkovima pridruže troškovi, a

trošak stabla je zbir troškova linkova, tada se sveobuhvatno stablo čiji su troškovi najmanji od svih

sveobuhvatnih stabala tog grafa naziva minimalno sveobuhvatno stablo.

Page 44: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

44

Još jedno rešenje za difuzno slanje je da se prvo napravi sveobuhvatno stablo. Kada izvorni čvor želi da

difuzno pošalje paket, šalje ga samo preko linkova koji pripadaju sveobuhvatnom stablu. Čvor koji primi

difuzno poslati paket prosleđuje paket svim svojim susedima u sveobuhvatnom stablu. Čvor ne mora da

zna čitavo stablo, samo koji su njegovi susedi u grafu istovremeno i susedi u sveobuhvatnom stablu.

Najviše kompleksnosti u rešenju sa sveobuhvatnim stablom stvara pravljenje i održavanje

sveobuhvatnog stabla. U rešenju sa centralnim čvorom za izgradnju sveobuhvatnog stabla najpre se

određuje centralni čvor (tačka susreta/jezgro). Čvorovi zatim jednoznačno šalju poruke o pristupanju o

stablu, koje su upućene tom centralnom čvoru. Poruka o pristupanju stablu prosleđuje se korišćenjem

jednoznačnog rutiranja prema centru, sve dok ne stigne, ili do čvora koji već pripada stablu ili do centra.

*algoritmi difuznog rutiranja u praksi (strana 405)

4.7.2 Višeznačno rutiranje

Dva problema: kako prepoznati primaoce i kako se adresira paket koji se šalje tim primaocima. U

arhitekturi interneta višeznačno poslati paket adresira se korišćenjem posrednog adresiranja. Drugim

rečima, za grupu primalaca koristi se samo jedan identifikator, a primerak paketa koji je adresiran na

određenu grupu pomoću tog identifikatora isporučuje se svim primaocima koji su pridruženi toj grupi.

Identifikator koji na internetu predstavlja grupu primalaca je višeznačna IP adresa klase D. Grupa

primalaca pridružena adresi klase D naziva se višeznačna grupa.

Protokol IGMP

Izvršava se izmeđju računara i sa njim neposredno povezanog rutera. IGMP nudi način na koji računar

obaveštava svoj povezani ruter da aplikacija koja se izvršava na tom računaru želu da pristupi određenoj

višeznačnoj grupi. Potreban je drugi protokol za usklađivanje višeznačnih rutera na čitavom internetu,

tako da se višeznačno poslati datagrami rutiraju do svojih konačnih odredišta. Ovo se postiže

algoritmima za višeznačno rutiranje na mrežnom sloju. Višeznačno rutiranje na mrežnom sloju sastoji se

od: protokola IGMP i protokola za višeznačno rutiranje.

IGMP ima samo tri vrste poruka (koje se prenose unutar IP datagrama sa IP brojem protokola 2):

membership_query (ruter šalje tu poruku svim računarima na priključnom interfejsu, da bi

utvrdio skup svih višeznačnih grupa kojima su pristupili računari sa tog interfejsa)

membership_report (računari odgovaraju; npr. kada neka aplikacija prvi put pristupa

višeznačnoj grupi računar može da pošalje ovu poruku bez čekanja membership_query poruke)

leave_group (nije obavezna; ruter zaključuje da određeni računar nije više u višeznačnoj grupi

ukoliko više ne odgovara na poruku membership_query sa datom adresom grupe; meko stanje:

u protokolu sa mekim stanjima, neko stanje prekida se događajem isteka vremena ukoliko se

izričito ne obnovi)

Page 45: 3.3 Prenos bez uspostavljanja veze: protokol UDP drugi deo (III i IV).pdf · Udaljeni server podataka NFS Najčešće UDP ... Upravljanje mrežom SNMP Najčešće UDP Protokol rutiranja

RMT drugi deo 2016

©S

45

Algoritmi za višeznačno rutiranje

Dva rešenja:

1. Višeznačno rutiranje pomoću stabla zajedničkog za grupu: zasniva se na izgradnji stabla

koje obuhvata sve rubne rutere sa priključenim računarima koji pripadaju višeznačnoj grupi.

U praksi se za pravljenje stabla koristi rešenje sa centralnim čvorom u kome rubni ruteri sa

priključenim računarima koji pripadaju višeznačnoj grupi šalju poruke pristupanja adresirane

na centralni čvor. Poruka o pristupanju se prosleđuje sve dok ne stigne do čvora koji pripada

stablu ili centalnog čvora. Svi ruteri duž putanje kojom prolazi poruka o pristupanju

prosleđuju primljene višeznačne pakete prema rubnom ruteru koji je pokrenuo

pridruživanje višeznačnoj grupi.

2. Višeznačno rutiranje pomoću zasebnog stabla za svaki čvor: višeznačno stablo za svaki izvor

u višeznačnoj grupi; za izgradnju stabla u ovom slučaju koristi se prilagođen RPF algoritam.

Rešenje problema sa primanjem neželjenih višeznačno poslatih paketa u algoritmu RPF

naziva se orezivanje. Višeznačni ruter koji primi višeznačne pakete, a nema priključene

računare koji su pristupili određenoj grupi, svom uzvodnom ruteru šalje poruku kojom se

orezuje. Ruter koji primi poruke orezivanja svih svojih nizvodnih rutera može uzvodno da

prosledi poruku da se orezuje.

Višeznačno rutiranje na internetu

Prvi ovakav protokol: protokol za višeznačno rutiranje sa vektorom rastojanja (DVMRP). U njemu se

primenjuju zasebna stabla za svaki izvor sa prosleđivanjem na osnovu obrnute putanje i orezivanje

(koristi RFP). Protokol višeznačnog rutiranja nezavisno od protokola (PIM) jasno razlikuje dva slučaja za

višeznačno rutiranje: gusti i retki režim rada. U višeznačnom rutiranju određenog izvora (SSM) samo se

zasebnom pošiljaocu omogućava da šalje saobraćaj u višeznačno stablo, čime se izradnja i održavanje

stabla značajno pojednostavljuje.

Ovde postoji proširenje protokola BGP za više protokola kojim se omogućava prenošenje informacija

rutiranja drugih protokola, uključujući i informacije višeznačnog rutiranja. MSDP protokol može da se

koristi za povezivanje tačaka susreta različitih domena u kojima se koristi redak režim rada protokola

PIM.