racunarske_mreze_-_marko_milicic
DESCRIPTION
racunarske mrezeTRANSCRIPT
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 1/260
1/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
UVOD
Razlozi za nastajanje ra~unarskih mre`a:
Uvo|enje ra~unarskih mre`a je bi lo uslovl jeno ~isto ekonomskim faktorom. Nekada
su se na vi{e ra~unara jedne firme nalazi l i va`ni podaci. To je pove}avalo
tro{kove a i ~ini lo sinhronizaci ju vrlo te{kom. Postojala su ~i tava odeljenja u
vel ik im firmama koja su se bavi la iskl ju~ivo sinhronizaci jom podataka. Te`nja je
bi la da se samo na jednom mainframe ra~unaru ~uvaju podaci, a ostal i ra~unar
da po potrebi pristupaju t im podacima preko MRE@E . To je delovalo kao >> san
snova<< danas je to STVARNOST.
[ta omogu}avaju ra~unarske mre`e:
Pored ovih ekonomskih razloga tako|e bitan razlog je mogu}nost del jenja
hardverskih resursa ({to se ponovo svodi na ekonomiju, al i nema veze ) i to pre
svega onih skupih kao {to su laserski {tampa~i, kopir-ma{ine i td. Dakle, za
organizaci je, mre`e omogu}avaju ekonomi~ni je poslovanje a za pojedince one
omogu}avaju lak pristup informaci jama, razmenu informaci ja, komunikaci ju me|u
korisnic ima i naravno Counter Str ike u svim igraonicama {irom planete. Jednom
re~ju, danas pod ra~unarom uglavnom podrazumevamo ra~unar koj i ima pristup
mre`i dok su oni usamljeni tzv. >>elektronska ostvrva<< ve} odavno u manjini .
S lede}i grafikon prikazuje dinamiku razvoja interneta i l i mre`e svih mre`a tokom
godina. Trend koj i vidimo opravdava ulaganja mnogih internacionalnih kompanija u
istra`iva~ke delatnost i vezane za ra~unarske mre`e, zar ne?
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 2/260
2/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
[ta je to ra~unarska mre`a?:
Ra~unarsku me`u ~ini skup au t onomn i h
al i me|usobno spregnut ih ra~unara. Ta
sprega se ostvaruje na razl i~ i te na~ine. Mo`e se korist i t i bakarna `ica-telefonska
parica, koaksi jalni kabl, opt i~ka vlakna, radio-talasi , satel i t i i td. Ra~unar
komuniciraju me|usobno tako {to razmenjuju poruke. Uostalom zar tako ne
komuniciramo i mi ?
Ono autonomni zna~i da su svi ra~unari u mre`i nezavisni t j . da nema odnosa
Master-Slave. Ovaj odnos sre}emo u organizaci j i procesora i peri feri ja. Tada je
uglavnom neki od peri fernih ure|aja Master i za vreme svoje >>vladavine<< on
zahteva neke informaci je i l i ~ak kontrol i{e neki drugi ure|aj. Me|utim takav vid
me|usobne komunikaci je kod mre`a ne postoj i . Ovo prakt i~no zna~i, da nikako ne
mo`e jedan ra~unar da upravl ja drugim. Njihova me|usobna komunikaci ja se svod
na razmenu poruka! Ukol iko se u toj poruci nalaze upravl ja~ki podaci, onda mo`e
jedan da upravl ja drugima, al i ipak to je samo zahtev za odre|enim vidom
samoupravl janja a ne kontrola u pravom smislu te re~i .Ra~unarska mre`a ni je samo prosta mre`a kablova koja povezuje dva i l i vi{e
ra~unara, ona je ne{to vi{e od toga jer ima odre|eni stepen logike ugra|en u
svoju infrastrukturu, koja poma`e da komunikaci ja izme|u ra~unara bude
efikasni ja.
Pogledajte sada sl ike. Ako uvedemo dogovor da se mre`a sastoj i od ~vorova, vrlo
lako mo`emo zakl ju~i t i da se t i ~vorovi me|usobno razl ikuju po ne~emu —
jednostavno nisu svi ist i . Razl ikujemo ~vorove koj i komuniciraju i ~vorove koj i tu
komunikaci ju omogu}avaju. Ukol iko bi mre`u predstavi l i kao graf, u ~vorovim grafa
bi bi l i ra~unari i l i bi lo koj i ure|aji koj i komuniciraju i l i omogu}avaju tu
komunikaci ju. Dakle, razl ikujemo termine End System i Intermediate System . End
System je ure|aj (ma{ina) koja komunicira a Intermediate System je ure|aj koj
omogu}ava tu komunikaci ju.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 3/260
3/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
End Systemi mogu bit i Kli jent i i l i Serveri , a Intermediate Systemi mogu bit i Router
i l i Bridgevi .
Ova sl ika predstavl ja vizuelni prikaz d efinic i je ra~unarske mre`e. Naravno, ova
sl ika je oslobo|ena svih detal ja da bi pokazala osnovnu ideju, a to je da jeosnovna uloga mre`e da prenosi informaci je.
Ova sl ika je malo detal jni ja i otkriva neke detal je koje prethodna ni je prikazivala.
Sa ove sl ike razl ikujemo pojmve kao {to su nd S y s t em i I n t e rmed ia t e S y s t em i pojmove kao {to je K l i j en t il i Se r ve r .
Pode la ra~unarsk i h mre`a :
Generalno gledano, postoj i mnogo na~ina da se podele ra~unarske mre`e
Me|utim i same ra~unarske mre`e su samo jedna podvrsta mre`a uop{te. Mre`e
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 4/260
4/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
treba shvat i t i kao graf u matematic i . ^vorovi tog grafa su ra~unari , a veze izme|u
~vorova su kablovi i l i govore}i op{t i je to je komunikacioni medijum. Slede}a sl ika
govori o mre`ama i tehnikama koje one koriste za omogu}avanje komunikaci je. Sa
sl ike se vidi da postoj i nekol iko vida komunikaci je.
Po in t- to-po in t komun i kac i j aPrvi vid je point-to-point komunikaci ja i ona je analogna starinskim telefonskim
sistemima gde je jedan od u~esnika u komunikaci j i , morao da ru~no uspostav
f iz i~ku vezu izme|u sebe i sagovornika. Ovo je, nadam se da svi prime|ujete , vrlo
primit ivan vid mre`ne komunikaci je. Kada razdalj ina me|u izvori{tem i odredi{tem
postane du`a od najdu`eg mogu}eg kabla, veza se uspostavl ja preko nekog tre}eg
ra~unara. Ovo je prikazano slede}om sl ikom.
Svaki ra~unar ima poseban komunikacioni kanal ka drugom ra ~unaru. Ako pak dva
ra~unara nisu direkto povezana oni moraju komunicirat i preko drugih ra~unara koj
su izme|u nj ih. Naravno, ne mora da budu fiz i~ki izme|u nj ih, ve} treba da budu
izme|u nj ih na logi~kom nivou(u logi~kom smislu) . Tada postoj i vi{e alternat ivnih
puteva. Upravo zbog ovoga, kod ovih mre`a su algori tmi za rut iranje vrlo va`ni
naime performanse mre`e zavise od efikasnost i t ih algori tama.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 5/260
5/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Ukol iko se ova arhitektura korist i za komunikaci ju izme|u svih pojedina~nih ra~unra
u mre`i, kada sve ra~unare pove`emo na ovaj na~in, dobi}mo ~itavu hrpu veza
kablova, {to je prikazano na slede}oj sl ic i .
Na toj sl ic i je prikazan postupak kreiranja jedne cele mre`e kori{}enjem principa
point-to-point povezivanja ra~unara. Ono {to defini t ivno najvi{e upada u o~i jebroj l ini ja koj i je potrebno sprovest i ( f iz i~ki ) . Ovaj broj je drast i~no ve}i od onoga
{to se smatra ekonomi~nim umre`avanjem. Dakle, logi~no je bi lo da se potra`
bolje re{enje koje }e nekako uspet i da postoje}e resurse dinami~ki rekonektuje
sklapa i preklapa. Ovo je bio povod za osmi{l javanje 3 switching tehnike:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 6/260
6/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
C i r cu i t -Sw i t ched Ne tworks
Slede}i vid komunikaci je - Circuit-Switched Networks je unapre|en u odnosu na
prethodni jer postoj i >>pametna<< infrastruktura koja nam omogu}ava da na nek
na~in adresiramo sagovornika i nakon tog adresiranja sagovornika, mre`a nam
obezbe|uje komunikacioni kanal. Ovaj vid komunikaci je je analogan modernom
telefonskom saobra}aju. Ovakve mre`e mogu bit i mnogo ve}e od predhodnih i to
uz manji utro{ak kablova, jer ~vorovi koj i me|usobno komuniciraju ne moraju bit
povezani svi sa svakim, ve} je potrebno da u grafu postoj i spre`no stablo i to jedovol jno za nesmetanu komunikaci ju me|u ~vorovima.
Vrat imo se za~as na sl iku na kojoj smo obja{l javal i point-to-point komunikaci ju.
Kako korisnic i koriste ovakvu mre`u?
Kori{}enje mre`e po~inje fazom konektovanja. Ova faza prakt i~no setuje digi talna
kola t j . ure|aje tako da se uspostavi f iz i~ka konekci ja izme|u izvori{ta i odredi{ta
Nakon {to se konekci ja ostvari , korisnik korist i mre`u, a kada zavr{i posao, onda
konekci ju treba oslobodit i (diskonektovat i ) . Ceo ovaj cik lus kori{}enja mre`e prikazan
je na sl ic i .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 7/260
7/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Pogledajmo sada slede}u sl iku
Razl ika u odnosu na predhodni na~in komunikaci je je u tome {to ovde umesto
stalnih veza imamo infrastrukturu koja omogu}ava re-povezivanje mre`nih veza u
zavisnost i od odredi{nog ra~unara sa koj im izvori{te `el i da komunicira. Dakle,
princip je pribl i`no ist i s tom razl ikom {to se pre nego {to komunikaci ja po~ne
veze unutar mre`e automatski prepove`u tako da omogu}e izvori{tu da komunicira
sa odre|enim odredi{tom. Dakle, ponovo se svodi na point-to-point mre`u, al i samogu}no{}u rekonfiguraci je u zavisnost i od zahteva. Razl ika me|u ova dva vida
komunikaci je se lepo mo`e uo~it i na slede}em dijagramu koj i predstavl ja tok jedne
komunikaci je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 8/260
8/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Message Sw i t ched Ne tworks
Message Switched Networks je na~in komunikaci je bl i` i internet komunikaci j i nego
telefonskoj komunikaci j i . Treba shvat i t i , da se ovaj vid komunikaci je bazira na
razmeni cel ih poruka, a ne na bazi delova poruka, kao {to }e to bit i s lu~aj u
narednom vidu komunikaci je. Dakle, cela poruka je osnovna jedinica komunikaci je.
Na slede}oj sl ic i se vidi princip komunikaci je. Kada odrdi{te {al je poruku, ono je
po{alje lokalnom switch-u, a on kasi je {al je tu poruku dalje kroz mre`u, sve dok
ona ne st igne na odredi{te.
Na slede}oj sl ic i mo`e se videt i tok podataka u toku jedne komunikaci je kroz
message switched mre`u. Dakle, vidimo da se poruka prvo {al je do lokalnog
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 9/260
9/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
switch-a i da se tamo snima u bafer. Zat im taj switch prosle|uje dalje poruku do
odredi{ta i l i do narednog switcha. Tako poruka uspeva da se domogne odredi{ta
indirektnim putem. Dakle, ovaj vid komunikaci je je za razl iku od prethodna dva
indirektan.
Vrat imo se ponovo na{em primeru.
Prethodna metoda je funkcionisala tako {to je posredno uspostavi la vezu izme|u
~vorova A i D a sve to preko ~vorova B i C. Me|utim, ponekad ovakva konekci jamo`e bit i vrlo duga~ka, pa je ovo neekonomi~no re{enje. Message switched
Networks funkcioni{u na principu primopredaje poruke. Dakle, poruka ide >> iz ruke
u ruku<< sve dok ne do|e do odredi{ta. Dakle, da bi poruka st igla iz ~vora A u
~vor D, ~vor A mora poruku prenet i ~voru B, on }e je prenet i ~voru C a ~vor C
~voru D. Izgleda da i ova metoda dobro radi zar ne?
Ovaj metod se naziva i Store forfard metod jer svaki ~vor prvo sa~uva(store
poruku a zat im je prosledi ( forward) dal je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 10/260
10/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Na ovoj sl ic i vidimo princip koj i sam malope opisao. Postoj i jo{ jedno pitanje na
koje nismo dali odgovor, a to je za{to ~vor uop{te tro{i memori ju i pamti poruku,
kada mo`e odmah da je prosledi dal je? Odgovor je vrlo prost : Kanal mo`e da
bude zauzet. Dakle, ukol iko je kanal kroz koj i ~vor B treba da po{alje poruku
zauzet, onda on mora da sa~eka i da po{alje poruku tek kada se kanal oslobodi.
Prime}ujemo da su zadr`avanja u ovoj tehnici druge prirode u odnosu na
zadr`avanja iz predhodne tehnike. Nekada je ~ekanje bi lo potrebno zbog kona~nog
vremena uspostavl janja veze, a sada je ~ekanje neophodno zbog toga {to neki od
kanala mogu bit i zauzet i , pa poruka mora >>~ekat i u redu<<. Ovo ni je kona~no
vreme ~ekanja, jer kanal mo`e bit i ve~no zauzet (naravno ovo je samo najcrnj
s lu~aj i retko se de{ava u praksi ) .
Jo{ jedan zna~ajan izvor ka{njenja je du`ina same poruke. U ovoj tehnologij
poruke su mnogo du`e (ve}e) od poruka u predhodnoj vari jant i . Dakle, i kol i~nik
vel i~ ine poruke i brzine kanala ima zna~ajnu ulogu.
Packe t Sw i t ch ing Ne tworks
Packet Switching Networks su mre`e koje komunikaci ju svode na komunikaci ju
paketa podataka. Dakle, poruka se prvo podeli na poruke, a zat im poruke putuju
kroz mre`u. Paket i putuju odvojeno i tek na odredi{tu se ponovo grupi{u i stvaraju
poruku. Naravno, prime}ujete da je ovaj vid komunikaci je najbl i` i , ako ne
potpuno ist i , komunikaci j i koju sre}emo kod interneta. Na internetu, svaki ra~unar
mora da ima svoju adresu, koja ga jednozna~no odre|uje u mre`i. Adresiranje je
vrlo {irok pojam, tako da zahteva dodatno obja{njenje. Packet switch princip rada
je vrlo sl i~an malopre pomenutom principu. On vrlo lako mo`e bit i i lustrovan
slede}om ilustraci jom:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 11/260
11/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Ovde se poruka del i na pakete, koj i mogu putovat i kroz mre`u razl i~ i t im putevima
Va`no je napomenuti da u ovom slu~aju mogu uspostavi t i vi{estruke konekci je t j
sada se jedno izvori{te mo`e povezat i sa vi{e odredi{ta. Svaki od paketa sadr`i u
sebi i header u kome se nalaze potrebni podaci za putovanje paketa i njegovo
ponovno sklapanje u poruku kada st igne do odredi{ta.
Vrat imo se ponovo na{em primeru:
Postoje dve vrlo bitne stavke koj i se karakteri{u kao dobra strana ove tehnike.
Prvo, paket i} i su mnogo manji od cel ih poruka, tako da je nj ihovo vreme
slanja mnogo manje. Pored toga treba naglasit i da kroz jedan ist i kana
mogu prot icat i paket i koj i pot i~u od razl i~ i t ih poruka, i to na primer prvo
pro|u dva paketa poruke 1 pa onda 3 paketa poruke 2 pa onda opet
nekol iko paketa poruke 1 i tako dalje. Ovim se ravnopravno raspodeljuje
~ekanje na pristup kanala.
Druga vel ika prednost ovog na~ina komunikaci je je paralelnost . Za vreme
dok paket 1 putuje od ~vora A do ~vora B, neki drugi paket neometano
putuje od ~vora B do ~vora C. Ovim se post i`e izuzetno vel ika efikasnost
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 12/260
12/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Na kraju mo`emo da sastavimo preglednu tabelu koja govori o na~inima za
komunikaci ju o koj ima je ovde bi lo re~i .
Pored ovih razl i~ i t ih vidova komunikaci je, u okviru istog principa komunikaci je
razl ikujemo simplex, unicast i mult icast mogu}nost i komunikaci je
Adres i ran je
Svi ent i tet i u ra~unarskim mre`ama moraju bit i na neki na~in jednozna~no
odre|eni, da bi bi lo mogu}e da podaci namenjeni nekom od ent i teta dospeju do
njega. Ovo jednozna~no ozna~avanje ne re{ava sve probleme ali re{avanjem
jednozna~nost i dolazimo u si tuaci ju da uop{te re{avamo problem komunikaci je
Drugim re~ima, da bi re{i l i komunikaci ju izme|u nekih ent i teta, moramo pre svega
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 13/260
13/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
jednozna~no odredit i u~esnike u toj komunikaci j i a zat im se bavit i komunikaci jom
Nadam se da sam bio jasan.
Ovo jednozan~no odre|ivanje se u tehni~kom svetu obi~no naziva >>adresiranje<<
Svaki ~vor u mre`i obi~no ima bar jednu adresu, al i mo`e imati i vi{e adresa. Na
primer, svi f iksni telefoni u nekoj zemlj i , al i i u svetu su jednozna~no odre|en
telefonskim brojem. Me|utim, ukol iko imate i mobilni telefon u ku}i, onda je va{a
ku}a adresirana sa dve adrese. Prva adresa je broj f iksnog telefona, a druga
adresa je broj mobilnog telefona.
Adrese su obi~no u numeri~kom obliku kao na primer telefonski brojevi . Ovakvo
adresiranje je zgodno jer ma{ine mnogo bolje( lak{e) pamte brojeve nego re~i i l
re~enice. Me|utim, to ni je slu~aj sa l judima. Mnogi l judi dosta lak{e pamte imena
u odnosu na brojeve. Naravno, l judi se me|usobno ne zovu po jedinstvenom
mati~nom broju, ve} po imenima. Ovde nastaje problem. Ra~unari bol je razumeju
brojeve a l judi bol je razumeju imena !?! Sve u svemu, name}e se logi~no re{enje,
da je potrebna neka komponenta koja }e ra zumeti i l jude i ra~unare, a koja }e bit
izmenju nj ih. Ta komponenta je Name Server . Name Server je mre`ni resurs koj
sadr`i spisak imena i spisak numeri~kih adresa koj i odgovara spisku imena. Ovim
se post i`e da u Name Serveru imamo i imena i brojeve i to tako organizovane da
se ta~no zna koj i broj odgovara kom imenu i obratbno.
Vrs te ~vo rova mre`e :
Ukoliko ~vorovi u mre`i omogu}avaju korisniku da pristupi mre`i t j . da komunicira
koriste}i mre`u, onda se takav ~vor naziva End System i l i Host . Me|utim, ~vorov
koj i nemaju dodirnih ta~aka sa korisnic ima i koj i jedino {to rade je primanje
prosle|ivanje poruka iz jednog u drugi ~vor zovu se Intermediate System . Naravno
neki ~vorovi mogu bit i i End System i Intermediate System u istom trenutku. Zavisno
od funkci je koju trenutno obavl ja, ~vor }e bit i i l i ES i l i IS.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 14/260
14/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
^vorovi su me|usobno povezani l inkovima t j . vezama. Ruta i l i put predstavl ja vezu
me|u ~vorovima a proces rut iranja je proces nala`enja odgovaraju}eg skupa
puteva kroz koj i treba prote}i informaci ja, da bi do{la od izvora do odredi{ta.
Me|utim, ovaj vid komunikaci je ni je jedini mogu}i. Kasni je }ete videt i kako se vr{
komunikaci ja u vidu EMISIJE — broadcast .
Na~ in i p renosa poda taka (Un i cas t , mu l t i cas t , b roadcas t )
Postoj i nekol iko podela ra~unarskih mre`a. Prva podela se odnosi na tehnologi ju
prenosa ( t ransmisi je) a druga na samu vel i~ inu ra~unarske mre`e. Naravno
podelama nikad kraja pa i malo znat i`el jni j i ~ i talac mo`e mre`e podeli t i minimum
po jo{ dva kri teri juma. [to se t i~e prvog kri teri juma (tehnologi ja prenosa) mre`e
delimo na: Broadcast mre`e (emisione) i Unicast i Mult icast mre`e.
[to se ti~e Broadcast mre`a, kod nj ih postoj i samo jedan komunikacioni kanal na
koj i su spregnut i svi ra~unari u mre`i. Ra~unar koj i generi{e poruku {al je je na
komunikacioni kanal, a u zaglavl ju poruke je adresa primaoca. Tako emitovana
poruka dolazi do svih ra~unara. Svaki ra~unar primi tu poruku i procesira je. Ako
zakl ju~i da ni je za njega odbaci je je a ako je za njega zadr`ava je. Ovakav na~in
umre`avanja se koristu na manjim geografskim podru~i j ima. Pretpostavl jate, da jeovo ne ba{ dobro re{enje, jer se kapacitet kanala ne korist i racionalno. Na
slede}oj sl ic i dat je pregled na~ina komunikaci ja.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 15/260
15/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Unicast — Point to point , na~in transmisi je podataka podrazumeva takav na~in
transmisi je gde imamo ta~no jednog po{i l jaoca i ta~no jednog pri jemnika. Ova
sistem transmisi je odgovara klasi~nom telefonskom razgovoru!
Mult icast na~in transmisi je podrazumeva da sada mo`emo imati vi{e izvori{ta, a
tako|e mo`emo imati i vi{e odredi{ta. Me|utim, regularna je i si tuaci ja kada
uop{te nemamo odredi{te. Dakle, mult icast tehnika je tehnika pri kojoj se jedan
paket podataka simultano prenosi do ve}eg broja odredi{ta. Ovakav na~in slanja
podataka bukvalno je spasao industr i ju kablovske televiz i je, jer kada bi cable TV
provajder svakom svom kl i jentu posebno slao video signal, za vrlo kratko vreme
mre`a bi se zagu{i la i posao bi propao. Moramo obavezno napomenuti da TCP
protokol ne podr`ava mult icast transmisi ju i da za te svrhe treba korist i t i UDP
protokol. Iz ovog ugla mult icast i broadcast nam deluju potpuno isto me|utim to
ni je tako. Kod broadcast transmisi je svi ~vorovi primaju istu informaci ju, a kodmult icast transmisi je samo ~vorovi koj i su na neki na~in >>naru~i l i<< informaci ju
primaju pakete podataka. ^vorovi u toku vremena mogu da menjaju mi{l jenje. Na
primer, ako ja sedim ku}i i menjam TV kanale to zna~i da ja menjam informaci je
koje sam naru~io. Upravo zbog ovog razloga ruteri imaju veoma vel iku ulogu u
mult icast transmisi j i i moraju imati >>pametne<< algori tme da bi se minimiziralo
dupliranje poruka i da bi svaki paket naj jekonomi~ni je korist io mre`ne resurse. Sve
u svemu mult icast transmisi ja ekonomi~ni je raspola`e kapacitetom komunikacionog
kanala. NPR Iskori{}enje/optere}enje kanala za unicast je reda vel i~ ine N a zamult icast 1/N. Danas ve}ina LAN mre`a podr`ava mult icast re`im transmisi je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 16/260
16/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Smer komun i kac i j e ( s imp lex , dup lex , f u l l d up lex )
[to se t i~e smera komunikaci je t j . pi tanja da l i konkretni komunikacioni kana
podr`ava dvosmernost komunikaci je i u kojoj meri , postoje Simplex , half Duplex
Ful l Duplex mre`e.
Simplex je jednosmerna komunikaci ja. Na primer to je kao slu~aj kada gledamo TV
program. Mi nemamo nikakvu interakci ju sa programom jednostavno primamo
podatke.
Half Duplex je t ip komunikaci je gde informaci je mogu da idu u oba smera, al i ne
istovremeno. Primer je telefonski razgovor. Prvo mi ka`emo ne{to, pa onda ~ekamo
odgovor.
Ful l Duplex je t ip komunikaci je koj i podr`ava komunikaci ju u oba smera
istovremeno. Primer za ovaj vid komunikaci je je >>sva|a<< preko telefona, kada
niko nikog ne slu{a i obojica pri~aju u isto vreme. Dakle, dvosmerna komunikaci jai to u isto vreme.
Pode la po ve l i ~ i n i ( LAN , MAN, WAN, INTERNET )
Drugi kri teri jum: (vel i~ ina)
Mult ira~unari : Udaljenost procesora mora bit i manja od jednog metra t j
ure|aji se nalaze u jednom ku}i{tu.
LAN mre`e (Local Area Network) . Udaljenost mo`e bit i od jednog do
nekol iko deset ina metara. Takve mre`e su naj~e{}e mre`e u nekoj zgradi
LAN mre`e su po pravi lu emisione (broadcast ) mre`e i imaju vel ike brzine
prenosa podataka reda 10-100 Mb/s. [to se t i~e topologi je, one mogu bit
organizovane u vidu niza (BUS ) i l i u vidu prstena (RING ) . U ovakvim mre`ama
je problem da se spre~i da vi{e ra~unara istovemeno {al je poruku
Standardi po koj ima se vr{i razmena poruka su IEEE 802.3 i IEEE 802.5
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 17/260
17/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
MAN mre`e (Metropoli ten Area Network) . To su gradske mre`e koje za
razl iku od LAN mre`a mogu da pokrivaju i povr{inu ve}u od 10 km u
pre~niku. I one uglavnom koriste broadcast metodu komunikaci je. Ovde se
koriste dve jednosmerne magistrale umesto jedne dvosmerne. Dakle, sada
imamo BUS-A i BUS-B. Ovaj standard se zove DQDB (D is tr ibuted Queue
Dual Bus). Ako BUS-A slu`i za slanje podataka onda }e izvesno BUS-B
slu`i t i za pri jem podataka. Ra~unar koj i ho}e da po{alje poruku korist
razl i~ i tu magistralu u odnosu na to kom susedu {al je.WAN mre`e su naj~e{}e Point-to-Point t ipa. WAN objedinjuju vi{e LAN
mre`a. Razl ika u odnosu na MAN je {to je MAN samo vel ik i LAN a WAN je
skup nekol iko LAN mre`a. Ove mre`e obuhvataju kont inente, zemlje, i td . . .
INTERNET mre`a je mre`a svih mre`a i ona povezuje sve mre`e u jedan
sistem.
Javne i p r i va tne mre`e
Tre}i kri teri jum: (privatnost )
Prema na~inu pristupa sve mre`e se dele na:
Javne
Privatne
P r va ra~unarska mre`a
Distr ibuirani sistemi i mre`e :
Razl ika izme|u distr ibuiranih sistema i mre`a je su{t inska. Kod distr ibuiranihsistema imamo samo jedan ra~unar ~i ja je arhitektura geografski distr ibuirana, a
kod mre`a imamo nekol iko ra~unara.
Prva mre`a koja je projektovana nosi la je ime ARPANET. Ona je za ra~unare koj
komuniciraju korist i la termin HOST. Alternat ivni termin je bio End-System. Ovo je
bi la izuzetno prosta mre`a, al i je predstavl jala izuzetan pomak u ra~unarsko
industr i j i , jer je po prvi put povezala ra~unare koj i su do tada bi l i usamljena
>>elektronska ostrva<<.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 18/260
18/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Ra~unar A Ra~unar B
Aplikativniproces
Aplikativniproces
Komunikac.Interfejs
Komunikac.Interfejs
Komunikaciona mre`a
Komunikacija
Komunikacija
Korisnik-korisnik
Ra~unar-ra~unar
Ova sl ika predstavl ja princip rada mre`e t j . princip komunikaci je dva ra~unara
Aplikat ivni procesi razmenjuju poruke, a komunikacioni interfejs slu`i da bi im u
tome pomogao t j . da bi im to omogu}io. Na slede}oj sl ic i vide}emo kako
funkcioni{e komunikaciona mre`a. Koja ima za ci l j da fiz i~ki uspostavi vezu
prosle|ivanjem poruka od jednog do drugog ra~unara
Host
Host
Ruteri ili (IMPs)InterfaceMessageProcessors
HOST-ovi se dele na kl i jente i servere . Apl ikat ivni proces koj i se izvr{ava na
kl i jentu zahteva neku uslugu od aplikatvnog procesa koj i se izvr{ava na serveru
Kli jet-server aplikaci je su distr ibuirane aplikaci je ( jedna ista aplikaci ja se nalazi
na jednom i na drugom ra~unaru. Na primer, danas najpopunarni j i servis interneta - WEB - zasnovan je na ovom principu. Neki sajt nalazi se na nekom serveru, a
nama treba neki kl i jent da bi smo pristupi l i sadr`aju tog sajta. Kl i jent je obi~no
internet explorer a server je neki od poznat ih web servera (Appache, I IS , i td. . )
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 19/260
19/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Komunikaciona podmre`a:
Komunikaciona podmre`a mo`e da bude:
Sa komutaci jom kola
Sa komutaci jom poruka
Sa komutaci jom paketa
O ovome je ve} vo|ena rasprava !
Da tag ram i v i r t ue ln i kana l
Na osnovu toga kako se prosle|uje paket ? , dele se na:
Datagram mre`e i
One koje koriste virtuelni kanal (Virtual Chanel)
Kod datagram mre`a svaki paket u sebi sadr`i punu adresu izvori{ta i odredi{ta
(s l i~no kao pismo). Paket i koj i predstavl jaju delove iste poruke mogu putovat
razl i~ i t im putevima do odredi{ta, pa ~ak i da u razl i~ i tom redosledi st i`u na
odredi{te.
Kod modela sa virtuelnim kanalom pre po~etka razmene informacionih paketa je
slanje uprvl ja~kih paketa i izvr{ava se neka handshake procedura kojom se
uspostavl ja veza izme|u korisnika ( to je taj vir tuelni kanal) . Upravl ja~ki paketsadr`i punu adresu izvori{ta i odredi{ta. Na osnovu nje se uspostavl ja virtueln
kanal izme|u izvora i odredi{ta preko rutera. Ovaj proces se zove i t rasiranje puta
Posle toga se {al ju informacioni paket i i oni u sebi ne sadr`e adresu izvori{ta
odredi{ta ve} samo broj vir tuelnog kanala. Ovaj trasirani put mogu da koriste
drugi korisnic i . Ovde je redosled primljenih i poslanih paketa ist i zato {to se korist
is t i put. Sa~uvan redosled je jedna od najve}ih prednost i ovog modela
komunikaci je. Ovom modelu komunikaci je odgovra telefonksa komunikaci ja za
razl iku od datagram mre`a koje su ekvivalent komunikaci j i putem pisama. Primer
za datagram mre`u je upravo INTERNET a za Virtual Chanel model je X.25. ATM,
Frame relay.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 20/260
20/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Konekc ion i i beskonekc ion i se r v i s
Sa stanovi{ta aplikat ivnog procesa usluge koje mu pru`a mre`a su:
Konekcioni servis (Connect ion oriented)
Bezkonekcioni servis (connect ionless)
Konekcioni servis . Mre`a obezbe|uje aplikaci j i savr{en komunikacioni kanal, poruka
st i`e bez gre{aka a konekcioni servis se postavl ja uz pomo} neke handshake
procedure sa 3 koraka. Ovde je obezbe|ena detekci ja gre{ke, kontrola toka i td. .
Kontrola toka obezbe|uje se tako {to se svaka poruka koja se po{alje, potvrdi da
je dobro st igla na odredi{te.
Na aplikaci j i je da odabere na~in komunikaci je (connect ionless i l i connect ion
oriented). Ovo se odre|uje jo{ u fazi projektovanja same aplikaci je.
Bezkonekcioni servis . Ovde nema nikakvih garanci ja o pri jemu poruke al i je zato
prenos mnogo br`i . Ovakav na~in komunikaci ja se korist i kod video-konferenci jaOvo je mogu}e zato {to i gere{ke u sl ic i ipak ne ut i~u na rad aplikaci je (malo
}emo slabi je videt i sagovornika al i je u principu sve OK).
Virtual channel . Uvek pru`a konekcioni servis apl ikat ivnom procesu a datagram
model mo`e da pru`i i connect ionless i connect ion oriented servis.
Komunikaci ja izme|u ra~unara:
Da bi komunikaci ja izme|u udaljenih ra~unara bi la ostvariva treba nam
odgovaraju}i software i hardware . Rani je je komunikaci ja bi la mogu}a izme|u ist ih
t ipova ra~unara NPR. {ezdeset ih godina SNA (System Network Architecture) koju je
predlo`io IBM. Firma DEC je predlo`i la DNA (Data Network Architecture) . Komisi ja
za ISO standardizaci ju je definisala kako treba da se projektuje software
hadrware koj i }e omogu}it i komunikaci ju izme|u ra~unara bez obzira koje
proizvo|a~ ra~unara. Takav software ima hi jerarhi jsku organizaci ju pri ~emu svak
nivo obavl ja precizno definisani skup funkci ja. Funkci je koje obavl jaju ovi nivo
mogu bit i podeljeni u dve grupe:
Mre`no ori jent isane(zavisne) funkci je (zavise od strukture komunikacione
mre`e)
Aplikat ivno ori jent isane funkci je (zavise od t ipa mre`nih aplikaci ja)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 21/260
21/21 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Uvod ............................................................................................................................................................................... 1
Podela ra~unarskih mre`a:....................................................................................................................................3
Point-to-point komunikacija ..................................................................................................................................4
Circuit-Switched Networks......................................................................................................................................6
Message Switched Networks ................................................................................................................................8
Packet Switching Networks .................................................................................................................................. 10
Adresiranje.............................................................................................................................................................. 12
Vrste ~vorova mre`e: ............................................................................................................................................ 13
Na~ini prenosa podataka (Unicast, multicast, broadcast) ............................................................................. 14
Smer komunikacije (simplex, duplex, full duplex) ........................................................................................... 16
Podela po veli~ini (LAN, MAN, WAN, INTERNET).............................................................................................. 16
Javne i privatne mre`e......................................................................................................................................... 17
Prva ra~unarska mre`a........................................................................................................................................ 17
Datagram i virtuelni kanal ................................................................................................................................... 19
Konekcioni i beskonekcioni servis ..................................................................................................................... 20
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 22/260
1/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
OS I Open Sys tem In te r connec t i on)
OSI je slojevi t i model mre`ne komunikaci je. [to je ve}i broj slojeva u OSI strukturi
to je komunikaci ja pouzdanija al i je arhitektura glomaznija i slo`eni ja. OSI mode
omogu}ava standardno povezivanje ra~unara na mre`u. Hijerarhi jski je
organizovan. Funkci ja jednog nivoa je uvek ista i to takva da uvek treba da
obezbedi usluge nivou koj i je iznda njega a korist i usluge nivoa (slojeva) koj i je
neposredno ispod njega. OSI je standard koj i je kona~no standardizovao najbol ja
re{enja vode}ih kompanija iz oblast i ra~unarskih mre`a. Kao posledica ovestandardizaci je, projektant ima mre`a je bi lo mnogo lak{e da rade jer ta~no znaju
interfejs svakog nivoa, {to im olak{ava da razl i~ i ta re{enja za razl i~ i te nivoe ipak
budu me|usobno kompatibi lna. U OSI modelu postoj i sedam ovakvih nivoa( leyer) :
Apl ikat ivni
Prezentacioni
Nivo sesi je
Transportni
Mre`ni
Nivo veze
Fizi~ki
Ovih sedam nivoa mogu bit i grupisat i u neke kategoije:
Fiz i~ki , Nivo veze i Mre`ni (mre`no zavisni nivoi )
Transportni , Nivo sesije, prezentacioni i apl ikat ivni (apl ikat ivno zavisni )
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 23/260
2/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Transportni nivo ima za zadatak da {t i t i protokole vi{ ih nivoa detal ja funkcionisanja
i organizaci je komunikacione podmre`e. Sve promene u strukturi podmre`e kao
ograni~enja, transportni nivo ~ini transparentnim za sve ostale nivoe.
Komun i kac i ja u OS I mode lu
Funkci je svakog nivoa su formalno definisane preko p rotokola odgovaraju}eg nivoa
Protokolom se pored funkci ja defini{u i pravi la konverzaci je koj ih se moraju
pridr`avat i u~esnici . Nj ime je definisan format i sadr`aj poruka koje se razmenjuju.
Svaki nivo u protokolnoj hi jerarhi j i pru`a sve definisane usluge za slede}i nivo.
Zadatak svakog nivoa je da obezbedi izvr{enje jednog i l i vi{e od slede}ih
zadataka:
Kontrola gre{ke (Error Control ) obezbe|uje da logi~ki komunikacioni kanal
budu pouzdanij i .
Kontrola toka (Flow Control ) obezbe|uje regulisanje brzine prenosa izme|u
u~esnika u komunikaci j i .
Segmentiranje i Reasembliranje poruka proist i~e iz ograni~enja koje
name}e komunikaciona podmre`a. Podrazumeva del jenje poruke na
blokove iste vel i~ ine (segmentiranje) a na pri jemnoj strani reasembliranje
(sastavl janje poruke iz del i}a).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 24/260
3/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Mult ipleksiranje i demult ipleksiranje poruka. Vi{e aplikat ivnih procesa del
ist i komunikcioni kanal ako je kapacitet kanala dovol jno vel ik i da : :primi:
informaci je. U izvornoj strani se odvi ja mult ipleksiranje a u odredi{no
demult ipleksiranje. Me|utim, ako neki proces zahteva nekol iko
komunikaciona kanala, onda je si tuaci ja obrnuta.
Uspostavl janje veze je definisanje handshake procedure kojom se defini{e
kako se uspostavl ja veza izme|u jednakih nivoa.
Odredi{teIzvor
4
3
2
1
4
3
2
1
Protokol nivoa 4
Protokol nivoa 3
Protokol nivoa 2
Protokol nivoa 1
Hijerarhija sa 4 nivoa
V i r t ue lna komun i kac i ja :
Svaki nivo ima ut isak da direktno komunicira sa jednakim (njemu ekvivalentnim
nivoom druge ma{ine/ra~unara. Pravi la po koj ima oni komuniciraju su protokol
odgovaraju}eg nivoa.
Izme|u svakog od nivoa postoj i precizno definisan interfejs SAP-Service Access
Point ) . Preko SAP-a se pristupa usluzi koju pru`a susedni nivo. Sve dok je interfejs
izme|u razl i~ i t ih nivoa ist i , na~in implementaci je mre`e da se menja. Dakle, na~in
funkcionisanja je po pt incipu crne kut i je. .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 25/260
4/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Podaci koj i se razmenjuju izme|u jednakih nivoazovu se PDU Protocol Data Unit
i l i na srpskom — protokolske jedinice podataka.
Stvarna(f iz i~ka) komunkaci ja postoj i samo na najni`em fiz i~kom nivou. Komunikaci ja
se odvi ja po slede}em {ablonu enkapsulaci ja: Poruka M (originalna por uka) se del
na dva dela, i svakom delu se pridodaje HEADER tog nivoa na kome je poruka
podeljena. Svaki naredni nivo ponovo del i poruku i dodaje svoje hedere. Na
pri jemnoj strani se de{ava ist i proces al i u obrnutom redosledu. Dakle, sada svaknivo spaja nekol iko poruka i bri{e svoje hedere. Zat im takvu poruku preuzima
slede}i nivo i td. Ovo je prikazano slede}om {emom:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 26/260
5/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Tako|e je va`no napomenuti da jedan nivo uvek pru`a uslugu nivou koj i se nalaziznad njega a ne nivou ispod njega. Ovaj princip komunikaci je je prikazan slee}om
slikom.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 27/260
6/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Po{to smo kazali da svako od nivoa ima ut isak da komunicira sa svoj im
ekvivalentom na drugoj strani moramo i pomenuti da se ta virtuelna komunikaci ja
obavl ja po ode|enom protokolu. Svaki nivo ima svoj protokol. [ema koja }e ovo
pojasnit i je slede}a:
Komunikaci ja izme|u nivoa se odvi ja preko SAP-ova. O ovome smo ve} dosta rekl i
me|utim, komunikaci ja na nivou kl i jent — server se odvi ja pomo}u nekol ikoprimit iva. Komunikaci ja izme|u kl i jenta i servera se odvi ja na slede}i na~in:
Ovom sl ikoj je prikazan princip komunikaci je sa potvr|ivanjem. Za razl iku od ovog
principa, komunikaci ja se mo`e svest i i na komunikaci ju bez potvr|ivanja. Ovo je
manje pouzdana komunikaci ja, al i je i br`a, jer se ne gubi kapacitet
komunikacionog kanala na potvrde ve} se non-stop {al ju : :korisne:: informaci je.
Ap l i ka t i vn i n i vo
Aplikat ivni nivo pru`a podr{ku razl i~ i t im korisnic ima. Drugim re~ima, on daje
korisni~ki interfejst za usluge koje pru`a mre`a. Za svaki mre`ni servis na
aplikat ivnom nivou postoj i protokol preko koga se pristupa tom servisu (na prime
za faj love je to FTP , za mail je SMTP , i td. . . ) Apl ikat ivni nivo pru`a aplikat ivnim
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 28/260
7/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
procesima jo{ i ident i f ikaci ju korisnika po imenu, utvr|ivanje spremnost i druge
strane da stupi u komunikaci ju, na~in {i fr iranja podataka (ako se zahteva tako
ne{to) . Dakle, apl ikat ivni nivo samo odre|uje na~in {i fr iranja dok samo {ifr iranje
obavl ja nardni nivo (prezentacioni ) .
P rezen tac ion i n i vo
Bavi se predstavl janjem podataka koj i se prenose izme|u dva aplikat ivna procesa
Aplikat ivni Procesi na razl i~ i t im ma{inama koriste razl i~ i to predstavl janje podataka
pogotovu ako se radi o razl i~ i t im operat ivnim sistemima. Prezentacioni nivo pru`a
zajedni~ki obl ik koj i omogu}ava da se ostvari komunikaci ja izme|u aplikacionih
procesa. Ovde mo`e da se obavl ja {i fr iranje podataka ako se to tra`i u ci l ju
sigurnost i podataka.
Ni vo ses i j e
Nivo sesi je omogu}ava aplikacionim procesima da uspostave vezu (konekci ju) . Sesi ja
pru`a servis upravl janja di jalogom. Sesi ja mo`e da dozvol java da se komunikaci ja
obavl ja dvosmerno i l i jednosmerno . Ako je dvosmerno, treba da se zna koja jestrana na redu da vr{i prenos. Upravl janje t im dijalogom se zove token
menad`ment (`eton menad`ment) . Stana koja poseduje `eton mo`e da vr{i prenos
i tada predaje `eton drugoj strani.
Pored ove uloge nivoa sesi je, ona slu`i sa sinhronizaci ju npr. Sesi ja traje 2h
pukne veza pa mora da se opet uspostavi da bi se sesi ja dovr{i la. Zato se u
podatke koj i se prenose ubaci ju sinhronizacione ta~ke tako da ako do|e do
prekida nastavak prenosa ide od poslednje sinhronizacione ta~ke. [to je vi{e ovih
sinhronizacionih ta~aka, to }e nastavak sesi je mo}i da bude pribl i`no ist i trenutku
kada je sesi ja prekinuta. Na primer, ako imamo sesi ju duga~uku 1 sat i imamo
samo jednu sinhronizacionu ta~ku, onda }e sesi ja mo}i da se ponovo uspostavi (u
slu~aju nasi lnog prekida) tek na 30-tom minutu. Ukol iko bi prekid nastao u 29-om
minutu, ceo na{ trud bi propao je ponovo bi moral i sve iz po~etka.
T ranspor tn i n i vo
Poruka sa nivoa sesi je se razdel i na cel ine i preda se mre`nom nivou, a u
pri jemnoj strani se radi obrnuto. Za svaki zahtev iz nivoa sesi je on otvara novu
konekci ju prema mre`nom nivou.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 29/260
8/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Mre`ni
Nivo sesije
Transportni nivo
MultipleksiranjeDemultipleksiranje
Kao {to vidimo, ukol iko je aplikacja takva da joj je potreba ve}e propusnost, onda
se uspostavl ja nekol iko konekci ja. Tako|e, ukol iko aplikaci ja zahteva vrlo malu
propusnost, onda se nekol iko zahteva {al ju preko istog kanala. Ovaj nivo u vodi jo{
jedan nivo adresiranja, a to su takozvani portovi 0-16000 koj i slu`e za
ozna~avanje odre|ene aplikaci je. Oni omogu}avaju da se ve}i broj apl ikaci ja
prosledi na jedan mre`ni sloj (radi kao mult iplekser) .
Mre`n i n i vo
Zadatak ovog nivoa je definisanje puta podataka kroz mre`u (kako da st igne doodredi{ta) . Ovo je poznat i je kao RUTIRANJE. To definisanje mo`e bit i obavl jeno
stat i~ki (na osnovu tabl ica koje koje su formirane u fazi konfigurisanja mre`e). Na
primer u tabl ic i se mo`e definisat i da se sve {to dolazi iz pravca 1 treba usmeri t i
na pravac 4.
1 2
3
45
6
1
Tablica
4A C
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 30/260
9/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Drugi na~in je da se obavi dinami~ko konfigurisanje na osnovu pra}enja stanja
mre`e. Ove metode su komplikovanije al i su bol je jer se pametno ulazi u mre`u t j
tamo gde je najmanja gu`va, pa se t ime post i`e ve}a brzina protoka informaci ja
od hosta do hosta.
Da ta- l i nk
Na datal ink nivou defini{e se kako se vr{i prenos izme|u dva ~vora u mre`i pr
~emu je ~vor host i l i ruter. Bavi se problemom naru{avanja , gubljenja i l
duplic iranja poruka koje se razmenjuju izme|u dva ~vora. Ovde se reguli{e
brzina prenosa . On treba da obezbedi kontrolu toka porta. Tako|e, treba da vr{
framing . Da bi sve ovo moglo da funkcioni{e mora se uvest i neki vid adresiranja
da bi se znalo kome su podaci poslat i (ovo je naro~ito bitno kod broadcast
mre`a).
F i z i ~ k i n i vo
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 31/260
10/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko
Mil i~ i}
Fiz i~ki nivo se bavi elektr i~nim i f iz i~kim interfejsom izme|u ra~unara (~ora, host-a
i komunikacionog kanala ( t ransportnog medijuma). Obezbe|uje nivou veze seri jsk
prenos bitova du` komunikacionog kanala. Sastoj i se od mehani~kog i elektr i~nog
dela. Mehani~ka komponenta defini{e mehani~ki interfejs, (kavi su konektori
raspored ni`ica, i td) . Kod elektr i~ne komponente f iz i~kog sloja, t ipi~ni problemi su:
Koj i naponski nivo treba da se korste za log i~ku 0 i 1
Trajanje bitskog intervala (kol iko se napon nule i l i jedinice dr`i)
Kol iko ima pinova na mre`nom hardveru i ~emu svaki slu`i
Poroceduralna komponenta fiz i~kog nivoa odre|uje funkci ju svakog pina, i koje
radnje treba izvr{i t i da bi se izvr{i la neka funkci ja.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 32/260
11/11 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko
Mil i~ i}
OSI (Open System Interconnection)....................................................................................................................... 1
Komunikacija u OSI modelu..................................................................................................................................2
Virtuelna komunikacija:...........................................................................................................................................3
Aplikativni nivo..........................................................................................................................................................6
Prezentacioni nivo....................................................................................................................................................7
Nivo sesije.................................................................................................................................................................7
Transportni nivo........................................................................................................................................................7
Mre`ni nivo ...............................................................................................................................................................8
Data-link....................................................................................................................................................................9
Fizi~ki nivo .................................................................................................................................................................9
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 33/260
1/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
TCP/IP MODEL
OSI model nikada u potpunost i ni je za`iveo u praksi. U praksi je TSP/IP model. Prv
put je implementiran na ARPANET -u. TCP/IP naziv je od dva najva`ni ja protokola:
TCP (Transmision Control Protocol) — protokol transportnog nivoa
IP ( Internet protocol ) — protokol mre`nog nivoa
Ovde ne postoje jasno izdvojeni nivoi ve} na osnovu protokola koj i su u upotreb
mo`e da se izdvoj i 5 nivoa.
Ovde PDU (Protocol Data Unit ) koj i se razmenjuju imaju imena. Na aplikat ivnom
nivou se zovumessage
, na transportnom nivou se zovudatagrami
, na mre`nom se
nazivaju segmenti , na nivou veze frejmovi, a za fiz i~ki nivo nemaju posebno ime
ve} se zovu prosto PDU.
Protokol i mogu bit i implementirani hardverski i l i softwerski i l i kombinovano. Po
pravi lu su protokol i ni` ih nivoa implementirani hardverski a vi{ ih softverski . Mre`n
nivo mo`e bit i implementiran kombinovano.
U ovom slu~aju imamoNetwork Access
t j .Host-to-Network
sloj koj i obezbe|uje
f iz i~ki i data-l ink nivo. Postoj i zat im mre`ni sloj koj i vr{i rut iranje ( IP protokol )
Zat im postoj i Host-to-Host nivo t j . Transportni sloj (TCP protokol ) koj i vr{i kontrolu
toka. Iznad toga je applicat ion nivo , on obuhvata i ap l ikacioni i prezentacioni i slo
sesi je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 34/260
2/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
APL IKAT IVNI NIVO
Jedan protokolski nivo mo`e bit i real izovan softverski i l i hardverski. Po pravi lu su
najvi{ i nivoi softverski (apl ikacioni nivo) a ni` i slojevi su naj~e{}e hardversk
implementirani i to u vidu mre`nih kart ica. Aplikat ivni nivo mo`e imati ve}i bro
protokola (FTP, SMTP, HTTP, Telnet i td . . . ) Svaki od ovih protokola se obi~no sastoj
iz dva dela, kl i jent strane i server strane. NPR: WEB browser je kl i jent a WEB serve
je server HTTP protokola.
Nivoi ispod aplikat ivnog nivoa imaju zadatak da obezbede pouzdan prenos, al i on
ne izvr{avaju nikakav realan posao za korisnika. Me|utim, i na aplikat ivnom nivou
postoj i potreba za protokol ima koj i }e podr`at i realnu aplikaci ju i l i funkci ju. Treba
napravit i razl iku izme|u mre`ne aplikaci je i protokola aplikat ivnog nivoa. Protoko
aplikat ivnog nivoa je samo jedan deo mre`ne arhitekture i to vrlo VA@AN deo.
Evo par primera:
WEB je mre`na aplikaci ja koja omogu}ava korisniku da dobije dokumente sa WEB
servra po zahtevu. WEB aplikaci ja sadr`i mnogo komponent i :
Standard za format WEB dokumenata (HTML)
WEB Kl i jente (Netscape navigator)
WEB servere (Apache)
Protokol apl ikacionog nivoa (WEB-ov protokol apl ikacionog nivoa je HTTP
(Hyper Text Transfer Protocol ) koj i defini{e kako se poruke prenose izme|u
traga~a (browsera) i WEB servera.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 35/260
3/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Drugi primer je E-mail apl ikaci ja. Ona ima mnogo komponent i ukl ju~uju}i :
Mail servere koj i sadr`e mailbox-ove
^ita~e poruka koj i omogu}avaju korisniku da ~ita i kreira poruke
Standard za definisanje strukture e-mail poruke MIME (Mult ipurpouse
Internet Mail Extension)
Protokol apl ikat ivnog nivoa koj i defini{e kako se poruke prenose izme|u
servera i servera, izme|u servera i ~i ta~a i kako se sadr`aj pojedinihdelova mail poruke interpret ira (npr header mail poruke). Osnovni protoko
aplikacionog nivoa za e-mail apl ikaci ju je SMTP (Simple Mail Transfe
Protocol )
Protokol ima aplikacionog nivoa se defini{e:
Tip poruka koje se razmenjuju (npr: pitanja i odgovor)
S intaksa razl i~ i t ih t ipova poruka
Semantika, t j . zna~enje informaci ja u polju poruke
Pravi la koja defini{u kada i kako procesi {al ju pitanja (zahteve) i odgovore
K l i j en t i i se r ve r i
Aplikat ivni protokol i obi~no imaju dve strane; kl i jent stranu i server stranu . Kl i jen
strana na jednom hostu komunicira sa server stranom na drugom hostu NPR. WEB
traga~ implementira kl i jent stranu HTTP-a a WEB Server server stranu HTTP-a.
Kod elektronske po{te, izvorni mail server implementira kl i jent stranu SMTP-a a
pri jemni (odredi{ni ) mail server server stranu SMTP-a.
U mnogim aplikaci jama HOST ce implementirat i i k l i jent i server stranu aplikaci je
NPR: Telnet (udaljeni Log-In) . Ako host A inic ira Telnet sesi ju tada je A-kl i jent a B-
server. Naravno, mogu}e je i obrnuto. Sl i~an primer je i FTP.
Kod ve}ine aplikaci ja host koj i inic ira sesi ju je ozna~en kao kl i jent . Ovo je pravi lo!
Host mo`e jednovremeno da deluje i kao kl i jent i kao server za datu aplikaci juNpr Mail server host izvr{ava kl i jent stranu SMTP-a za slanje poruka a server
stranu SMTP-a za pri jem poruka.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 36/260
4/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
DNS
Programi se retko obra}aju hostovima, mailbox-ovima i drugim resursima na
osnovu binarnih adresa. Umesto binarnih adresa koriste se ASCII nizovi kao na
primer: [email protected] .ac.yu. Me|utim, sama mre`a razume samo binarne adrese
pa je potrebno izvr{i t i konverzi ju iz jednog oblika u drugi. Da bi se ovo ostvari lo
korist i se DNS. Osnovni zadatak DNS-a je presl ikavanje imena hostova i e-mai
dest inaci ja u IP adrese.
Veoma kratko, DNS se korist i na slede}i na~in: Da bi se ostvari lo presl ikavanje
imena hosta u IP adresu. Aplikat ivni program (Web, E-mail , FTP i td. . . ) poziva
bibl iote~ku funkci ju koja se zoveRESOLVE
predaju}i joj ime kao parametar. Funkci ja
tada {al je UDP paket lokalnom DNS serveru, koj i zat im pretra`uje imena i nalaz
odgovaraju}u IP adresu. Tada je vrat i kao iz laznu vrednost aplikat ivnom programu.
[ta je DNS?
DNS je distr ibuirana baza podataka implementirana hi jerarhi jski u name-
serverima
DNS je protokol apl ikat ivnog nivoa koj i dozvol java hostovima i name-
serverima da komuniciraju da bi obezbedio uslugu presl ikavanja.
Name-serveri su naj~e{}e UNIX ma{ine na koj ima se izvr{ava BIND software. DNS
server korist i UDP i port 53. Usluge DNS-a koriste i drugi protokol i apl ikat ivnog
nivoa da bi prevel i korisni~ku adresu u IP adresu.
Koncepci jski , internet je podeljen na nekol iko stot ina povr{inskih domena(oblast i )
pri ~emu svaki domen pokriva vel ik i broj hostova. Svaki domen je dalje podeljenna poddomene, a oni dalje i td. . . Svi ovi domeni ~ine jedno stablo. L istovi stabla
predstavl jaju domene koj i nemaju poddomene (al i sadr`e hostove).
Domen u korenu stabla nema ime. Ovaj domen je podeljen nekol iko stot inama
poddomena. Podela je izvr{ena u odnosu na neke kl ju~ne osobine (generi~ka
podela) i l i na osnovu geografske pripadnost i . Tako npr: generi~ki domeni su .com,
.edu, .gov i td. geografski domeni ukl ju~uju domene za svaku zemlju, po ISO 3166.
U praksi, gotovo sve organizaci je u USA koriste generi~ke domene, a skoro sveorganizaci je van USA geografske domene (domene zemalja) . Svaki domen je
imenovan putem koj i ide od posebnih ka op{t im domenima. Prelaz (su`avanje
domena ozna~ava se ta~kom. Na primer:Elfak.ni .ac.yu
Svaki domen kontrol i{e kreiranje domena ispod sebe. NPR: Japan ima domene
ac. jp i co. jp koj i predstavl jaju academsku mre`u i mre`u komerci jalnih f irmi
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 37/260
5/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Holandija ne pravi ovu razl iku i sve organizaci je stavl ja direktno ispod domena .nl
tako na primer u slede}em primeru sve tr i adrese predstavl jaju Computer Science
department na univerzi tetu.
Cs.yal l .edu (Yal l je univerzi tet u USA)
Cs.VU.nl (neki univerzi tet u Holandij i )
Cs.keo.ac. jp (Keo univerzi tet u Japanu)
Da bi se kreirao novi domen, tra`i se dozvola od domena u koj i }e on bit iukl ju~en. NPR: da bi se kreirao domen katedre za ra~unarstvo u okviru
elektronskog fakulteta tra`i se dozvola od domena elfak.ni .ac.yu. Da bi se kreirao
domen elfak.ni .ac.yu, tra`i se dozvola od domena ni.ac.yu i td. Kada se jednom
kreira i registruje domen, on mo`e kreirat i svoje poddomene, a da pri tome ne
tra`i niodkoga.
DNS prostor je podeljen na nepreklapaju}e zone. Svaka zona sadr`i neki deo
stabla i name-server koj i sadr`i autorizovane informaci je o toj zoni na svom hard-
disku.
Pored presl ikavanja imena u IP adresu, DNS obezbe|uje jo{ nekol iko va`nih
servisa:
Host Al iasing — Host sa komplikovanim imenom mo`e imati jednu i l i vi{e
skra}enica. NPR. Host sa imenom rely1.west-cost .enterprise.com mo`e imat
na primer dve skra}enice (enterprise.com il i www.enterprise.com). U ovom
prmeru se za prvo ime ka`e da je korisni~ko ime.
Mail server al iasing — Po`el jno je da e-mail adrese budu mnemoni~ke i
{to kra}e, pa se i ovde uvode skra}enice imena za kanoni~ka imena mai
servera.
Distr ibuci ja optere}enja. DNS se korist i za balansiranje optere}enja izme|u
optere}enih servera. Naime, ~esto su dosta pose}eni sajtovi repl ic irani na
nekol iko servera, pri ~emu se svaki server izvr{ava na razl i~ i toj ma{ini t j .
Sa razl i~ i tom IP adresom. Za repl ic irane web servere jedno kanoni~ko ime
je vezano za nekol iko IP adresa. DNS baza podataka sadr`i ovaj skup IP
adresa. Kada kl i jent napravi DNS upit za ime koje se presl ikava u nekol iko
adresa, server odgovara sa celokupnim setom adresa, al i rot ira u levo
spisak adresa za svaki upit . Ovim se post i`e da se iz jedna~i optere}enje
na svakom serveru jer kl i jent obi~no komunicira sa prvom adresom koju
dobije kao odgovor na DNS upit . Sl i~no se korist i i kod e-mail servera.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 38/260
6/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
DNS je primer distr ibuirane baze podataka. On korist i vel ik i broj name-servera
organizovanih hi jerarhi jski i distr ibuiranih po svetu. Ni jedan name-server ne
sadr`i sva presl ikavanja za sve hostove na internetu, ve} su ta presl ikavanja
distr ibuirana po name-serverima. (S l i~no kao kod hi jerarhi jskog rut i t i ranja na
mre`nom nivou). Za prvu aproksimaci ju uvodimo da pstoje tr i t ipa name-servera:
Lokalni
Root
Autorizovani name serveri
Ovi serveri interaguju jedni sa drugim i naravno, sa hostovima koj i {al ju upit na
slede}i na~in:
Lokalni Name-serveri : svaki ISP (provajder) kao {to je univerzi tet
akademski department, rezidenci jalni ISP, imaju lokalni name-server . Kada
host izda DNS upit , poruka se prvo prenosi do lokalnog name-servera. IP
adresa lokalnog name-servera se obi~no ru~no postavl ja u hostu. Lokaln
name-server je obi~no bl izu kl i jenta. Ako host zahteva translaci ju imena za
drugi host koj i je deo istog lokalnog ISP-a tada lokalni name-serve
odmah obezbedi zahtevanu IP adresu. NPR. Kada host alfa.el fak.ni .ac.yu
tra`i IP adresu za beta.el fak.ni .ac.yu, lokalni name-server >>elfak<< }e bit
u stanju da obezbedi zahtevanu IP adresu bez kontakt iranja drugih name-
servera.
Root name serveri : Na internetu postoj i na deset ine takozvanih root-name-
servera. Kada lokalni name server ne mo`e direktno da odgovori na upit
od hosta, lokalni name-server upu}uje upit jednom od root-name-servera
Ako root-name-server ima zapis za tra`eni host , on {al je DNS odgovor
lokalnom name-serveru , a lokalni-name-server odgovara hostu koj i je
uput io upit . Ako pak root-name-server nema zapis za tra`eni host , on zna
IP adresu autorizovanog name-servera koj i ima presl ikavanje za dato ime
hosta.
Autorizovani name serveri : Svaki host je registrovan u autorizovanom name
serveru. Obi~no je autorizovani name-server za host , name-server uhostovom lokalnom ISP-u. Po definic i j i , name-server je autorizovan za hos
ako on uvek ima zapis koj i prevodi ime hosta u IP adresu hosta. Kada
autorizovani name-server dobije upit od root-name-servera, on odgovara
tra`enom IP adresom. Root-name-server zat im prosle|uje to lokalnom
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 39/260
7/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
name-serveru, koj i to prosle|uje hostu koj i je tra`io upit . Mnogi name-
serveri deluju istovremeno i kao lokalni i kao autorizovani.
Pr imer za DNS
Razmorimo jedan jednostavan primer. Pretpostavimo da host surf.eurecom.fr `el i IP
adresu hosta gaia.cs.ummas.edu. Zat im pretpostavimo da se eurecom-ov lokaln
name-server zove dns.eurecom.fr a da se autorizovani name-server za
gaia.cs.umass.edu zove dns.umass.edu.
Host surf.eurecom.fr {al je upit lokalnom name serveru dns.eurecom.fr. Upit sadr`
ime hosta ~i ja se IP adresa tra`i . Lokalni name-server prosle|uje upit root-name-
serveru. Root name-server prosle|uje upit autorizovanom name-serveru za sve
hostove koj i se nalaze u domenu umass.edu t j . Name-serveru dns.umass.edu
Autorizovani name-server zat im {al je tra`enu IP adresu hostu koj i je uput io upit
preko root-name-*servera i lokalnog name-servera. U ovom primeru 6 DNS poruka
je razmenjeno (3 upita i tr i odgovora ).
Do sada smo pretpostavl jal i da root-name-server zna IP adresu autorizovanogname-servera za svaki host . Ovo ne mora bit i ta~no. Za dato ime hosta, root-
name-server mo`e znat i samo IP adresu me|u name-serverima, koj i dal je zna IP
adresu autorizovanog name servera za dato ime hosta.
Da bi smo ovo i lustroval i razmotrimo ponovo ist i primer. Pretpostavimo da
Univerzi tet u Masa~usetsu ima name server za univerzi tet , koj i se zove
dns.umass.edu. Tako|e, pretpostavimo da svaki department na univerzi tetu u
masa~usetsku ima svoj sopstveni name-servr, i da je svaki od nj ih autorizovan za
hostove u svom departmentu. Kada root-name-server primi upit za host ~i je se
ime zavr{ava sa umass.edu. Ovaj name-server prebacuje sve upite za imena
hostova koj i se zavr{avaju sa cs.umass.edu ka name-serveru dns.umass.edu, koj
je autorizovan za sve hostovge ~i ja se imena zavr{avaju sa cs.emass.edu
Autorizovani name-server prosle|uje `el jenu adresu, me|u-serveru dns.umass.edu
koj i je zat im prosle|uje root-name-serveru, koj i je prosle|uje lokalnom name-
serveru dns.eurecom.fr, a koj i kona~no mo`e da prosledi odgovor ka izvornom
hostu. U ovom primeru razmenjeno je 8 DNS poruka. U su{t ini i vi{e DNS poruka
mo`e bit i razmenjeno da bi se dobila `el jena IP adresa.
U prethodnim primwerima smo usvoj i l i da svi upit i imaju rekurzivnu strukturu. Kada
host i l i name-server A u~ini rekurzivni upit name-serveru B, tada name-server B
dobija `el jeno presl ikavanje a zaim ga prosledi ka A. DNS protokol tako|e
dozvol java >>iterat ivne<< upite u bi lo kom koraku u lancu izme|u izvornog hosta
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 40/260
8/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
autorizovanog name-servera. Kada name-servea A upit i i terat ivni upit name
serveru B, ako name server B ne poseduje `el jeno presl ikavanje, on smesta {al je
DNS odgovor sa IP adresom slede}eg name-servera u lancu, recimo C. Name
server A zat im upu}uje upit direktno name-serveru C.
U nizu upita koj i su potrebni da bi se za dato ime hosta dobila IP adresa, neki
upit i mogu bit i i terat ivni a neki rekurzivni. Naj~e{}e su svi upit i u lancu upita
rekurzivni izuzev za upit od lokalnog name-servera do root-name-servera, koj i je
i terat ivan.
DNS zap i s i (DNS Reco rds )
Name-serveri koj i zajedno implementiraju DNS distr ibuiranu bazu podataka pamte
izvorne zapise (Resource Records — RR) za presl ikavanje imena hosta u IP adresu
Svaka DNS poruka nosi jedan i l i vi{e RR. RR je ~etvorka koja sadr`i slede}a polja:
(Name, Value, Type, TTL)
TTL: Time to l ive za RR odre|uje kada RR treba da bude uklonjen iz ke{a
Informaci j i koja je visoko stabi lna se dodeljuje vel ika vrednost npr 1 dan (86400
sec). Informacj i koja je nestabi lna dodeljuje se mala vrednost npr 1 minut (60 sec)
U primeru koj i s ledi }emo videt i ovo polje.
Zna~enje pol ja Name i Value zavise od polja Type.
Ako je Type=A , tada je Name ime hosta a Value je njegova IP adresa . Tako, zapis
t ipa A sadr`i standardno presl ikavanje imena hosta u IP adresu.
NPR:
(relay1.bar. foo.com, 145.37.93.126,A)
je zapis t ipa A ( ime_hosta, IP_adresa, A)
Ako je Type=NS
, tada je Name ustvari domen kao npr foo.com a value je ime
servera koj i zna kako da dobije IP adresu hosta u svom domenu. Ovaj Zapis se
korist i da prosledi DNS upite du` lanca upita. NPR:
( foo.com, dns.foo.com, NS)
Ovo je zapis t ipa NS ( Ime_domena, DNS_server, NS)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 41/260
9/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ako je type=CName , tada je Value korisni~ko ime hosta za al ias ime NAME. Ova
zapis mo`e obezbedit i dobijanje kanoni~kog imena za al ias ime.
NPR:
(Foo.com, rely1.bar. foo.com, CNAME)
Ovo je zapis t ipa CNAME (al ias, kanoni~ko_ime, CNAME)
Ako je type=MX , tada je Value ime mail servera koj i ima alias ime u polju name
NPR:
( foo.com, mail .bar. foo.com, MX)
Ovo je MX zapis. Ovaj zapis omogu}ava da imena mail servera imaju jednostavne
adrese.
(al ias, kankoni~ko_ime_mail_servera, MX)
Ako je name-server autorizovan za odre|eno ime hosta, tada }e name-server
sadr`at i t ip A zapisa za ime hosta. ^ak i ako name server ni je autorizovan on
mo`e sadr`at i t ip A zapisa u svom ke{u.
Ako server ni je autorizovan za dato ime hosta, tada }e on sadr`at i zapis t ipa NS
za domen koj i ukl ju~uje dat i host . On }e tako|e sadr`at i zapis t ipa A koj i daje IP
adresu name-servera u Value polju NS zapisa. NPR: pretpostavimo da root server
ni je autorizovan za host gaia.cs.umass.edu. Tada }e root-server sadr`at i zapis za
domen koj i sadr`i host cs.umass.edu t j .
(umass.edu, dns.umass.edu, NS)
Root server }e tako|e sadr`at i t ip A zapisa koj i presl ikava name-server
dns.umass.edu u IP adresu
(dns.umass.edu,128.119.40.111,A)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 42/260
10/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
TRANSPORTNI NIVO (HOST-TO-HOST NIVO)
Ovaj nivo obezbe|uje razbi janje poruka na pakete. Ovaj nivo pru`a aplikaci j i dve
vrste servisa:
Konekcioni (connect ion oriented) servis
Bezkonekcioni (connect ionless) servis
Protokol koj i pru`a konekcioni servis jeTCP
. Protokol za bezkonekcioni servis je
UDP (User Datagram Protocol ) . UDP pru`a ve}e brzine prenosa (transportni nivo
te`i da br`e prosledi poruke al i ovde nema garanci ja da }e to i da se 100% prim
na odredi{tu) . Dakle, kada nam nije bitna 100%-tna ta~nost , al i je brzina zna~ajan
paramtar, onda }emo birat i UDP protokol.
MRE`NI NIVO ( IP NIVO)
Is to kao i kod OSI modela. Sve komponente ra~unara koj i `ele da budu povezan
moraju da podr`avaju ( izvr{avaju) Internet Protocol . Osnovna funkci ja je rut iranje
paketa i kontrola zagu{enja. Ovaj protokol je lepak koj i ra~unare dr`i zajedno.
DATAL INK NIVO
O ovom nivou bi}e posebno re~i , i zato je njemu dodeljeno celo poglavl je.
Osnovni zadatak je pouzdani prenos poruka izme|u dva ~vora u mre`i. ^vor mo`e
bit i HOST i l i RUTER. Protokolska jedinica podataka PDU se u ovom nivou zove okvir
(FRAME ) . Protokol i Data Link nivoa defini{u format poruka koje se razmenjuju kao
akci je koje ~vorovi preduzimaju kod pri jema i slanja poruka. Ove akt ivnost
obuhvataju detekcju gre{aka , numeraci ju poruka , retransmisi ju poruka ( u slu~aju
gre{ke),kontrolu toka
islu~ajni pristup
(Random Access). Primeri protokola ovog
nivoa su:
Ethernet protocol (postoj i vel ik i broj vari jant i kada su u pitanju emision
kanali t j . medijumi za prenos)
FDDI (za prenos po opt i~kom vlaknu)
Token ring ( jkada su u pitanju emisioni kanali )
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 43/260
11/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Za dat i komunikacioni kanal protokol data l ink nivoa je ug lavnom u paru adaptera
Adapter je kart ica koja ima RAM memori ju, DSP ~ipove, Host-Bus interfejs
interfejs prema komunikacionom kanalu. Adapteri se tako|e nazivaju i mre`ne
kart ice. Poruku sa mre`nog nivoa prihvata mre`na kart ica, uramljuje je i prosle|uje
formirani ram na komunikacioni kanal. Na pri jemu adapter prihvata ram. Vr{
proveru na gre{ke i onda predaje vi{em nivou.
Poruka mo`e bit i preno{ena po razl i~ i t im protokol ima. Svaki protokol mo`e da pru`
razl i~ i t t ip usluga mre`nom nivou, al i svaki mora da pru`i slede}e servise:
Uramlj ivanje (Framing) . Ovim se obezbe|uje da u~esnici u komunikaci j
mogu bit i u stanju da prepoznaju granice svakog frejma. Ovo se post i`e
uramlj ivanjem poruke koja treba da se prenese u par rezervisanih bajtova
i l i karaktera.
Kontrola toka . Baferi na krajevima komunikacionih kanala imaju ograni~en
prostor. Ako bi izvor slao poruke ve}om brzinom nego {to je brzinaprocesiranja u odredi{tu, do{lo bi do prepunjivanja bafera t j . odre|ene
poruke bi bi le izgubljene. Kontrola toka ba{ takve stvari regul i{e.
Kontrola gre{aka podrazumeva tehnike za detekci ju gre{aka u toku
prenosa. Na primer ATM (Asinhrone Transfer Mode) omogu}ava detekci ju
korekci ju gre{aka.
Adresiranje. Za Point To Point veze potreba za adresiranjem ne po stoj i . Za
emisione kanale koriste se Ethernet i l i Token Ring mre`e. Ovde adresiranje
ima vel ikog zna~aja jer se vi{e host-ova prik l ju~uje na ist i komunikacion
kanal.
Upravl janje vezom (L ink Management) . Ovo podrazumeva mehanizme za
uspostavl janje, odr`avanje i prekidanje veze.
Postavl ja se pitanje kako se ostvaruju ovi servis i?
F raming
Metoda brojanja karaktera :
Prvi bajt frejma nosi informaci ju o tome kol ika je du`ina celog frejma (ukl ju~uju}i
taj bajt ) problem se javl ja ukol iko do|e do gre{ke u prenosu prvog bajta ( tada se
gubi sinhronizaci ja) .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 44/260
12/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Metoda po~etnog i krajnjeg karaktera :
Uramlj ivanje u par rezervisanih bajtova i l i karaktera. Karakteri koj i ozna~avaju
po~etak svakog rama su DLE STX (Postoje ASCII kodovi za ova dva karaktera). Kra
svakog rama se ozna~ava karakterima DLE ETX . Dakle, ukol iko `el imo da uramimo
neke podatke, onda bi posle uramlj ivanja imali slede}u si tuaci ju:
DLE STX /podaci/ DLE ETX
Vrlo ~esto do zabune mo`e da dovede ukol iko se u karakterima podataka na|e
neki od terminalnih i l i startnih simbola. Problem se re{ava tako {to u izvorno
strani mre`na kart ica kad nai|e na DLE karakter automatski ubacuje jo{ jedan DLE
karakter i taj DLE ukazuje da karakter koj i s ledi ni je upravl ja~ki karakter. Na
pri jemu kad se detektuju 2 DLE karaktera jedan se izbacuje.
NPR: Poruka HELDLE0 }e uokvirena izgledat i ovako:
DLE STX H E L DLE DLE O DLE ETX
Ova tehnika se zove character stuff ing . Problem je {to se na ovaj na~in zahteva da
polje podataka bude celobrojni umno`ak karaktera (ne mogu bit i bi tovi najmanja
jedinica podataka).
Po~etni i zavr{ni f legovi
:
Ukol iko se umesto rezervisanih karaktera koriste rezervisani bajtovi tog ograni~enja
nema. Sada se umesto grani~nih karaktera koriste nizovi bitova:
01111110 /podaci/ 01111110
Na izvoru: Automatski se posle 5 uzastopnih jedinica ubacuje 0 ~ime se izbegava
sekvenca za flag.
Na pri jemu : Kada se uspostavi 5 uzastopnih jedinica hardver izbacuje onu nulu.
Ova tehnika se nazivabit stuff ing
.
Na primer:
poruka je 011011111011111110110. Posle uokviravanja izvor }e u komunikacioni kana
poslat i s lede}i niz bitova:
01111110 01101111100111110110110 01111110
Podvu~ene nule su une{ene da bi se izbegla dvosmislenost t j . da bi se re{io
problem {ta je poruka a {ta okvir .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 45/260
13/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Kon t ro la g re{ke
Postavl ja se pitanje kako da odredi{te zakl ju~i da l i je poruka koju je primilo
korekna? Za to se koriste razl i~ i te metode na primer bit parnost i , CRC i td. . . Tako|e
se postavl ja pitanje kako da izvor zna da je poruka st igla na adresu korektno?
Re{enje ovog drugog problema se dobija kroz mehanizam potvrdj ivanja .
Detekci ja gre{ke
se obezbe|uje uvo|enjem odre|enog broja bitova u info deo rad
utvr|ivanja gre{ke. Ovim uvodimo redundansu al i sve u ci l ju odbrane od gre{aka.
B i t pa rnos t i :
Najjednostavni j i metod je dodavanje bita parnost i . Ovaj metod se koris i za prenos
malog broja podataka i uspe{no detektuje jednostruke gre{ke. Ne korist i se ukol iko
postoj i opravdana sumnja da }e se javi t i vi{estruke gre{ke u prenosu podataka.
Slede}a tabl ica daje primer kako se odre|uje bit parnost i :
Bi t parnost i
0 0 0
0 1 1
1 0 1
1 1 0
Na primer ukol iko nam na odredi{te st igne 111 zna}emo da ne{to ni je uredu, zato
{to je 111 nepostoje}a kombinacja.
Kon t ro l na suma b loka — BCC (B l ock Check Sum) :
Za svaki karakter koj i se prenosi generi{e se kontrolna cifra parnost i (neparnost i )Na kraju bloka se dodaje jo{ jedna kontrola koja se dobija tako {to se za svaku
bitsku pozic i ju u nizu karaktera koj i se prenose formira ci fra parnost i (neparnost i )
Ovim postupkom se ukr{taju jedno P i jedno N.
Npr. Zamisl imo da imamo blok od 3 trobitna podatka:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 46/260
14/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
1 0 1 0
0 0 0 0
1 1 0 0
1 0 0 1
Dakle, vidimo da se postavl ja kontrolni bit za podatke koj i se nalaze u istoj koloni
i za podatke iz iste vrste. Naravno, ovakav prikaz nema fiz i~kog smisla, al i ovako
je prikazano da bi se shvat io princip. Ova tehnika omogu}ava i detekci ju
vi{estrukih gre{aka.
Naravno, treba primet i t i da se u kontrolnom bitu za vrste korist i 0 da se ozna~
parnost broja jedinica u vrst i , a 1 da se ozna~i neparnost broja jedinica u vrst i
[to se t i~e kontrolne cifre kolona, ona sledi suprotnu logiku t j . 0 slu`i da ozna~i
neparnost broja jedinica u koloni a jedinica da ozna~i parnost broja jedinica u
koloni.
Gre{ke koje nastaju u prenosu podataka su vrlo ~esto navalnog t ipa ( bursty ) t j
obi~no ni je samo jedan bit naru{en ve} je cela grupa bitova naru{ena (podlegla je
gre{ci ) . Du`ina navalne gre{ke B je jednaka broju bitova izme|u prvog
poslednjeg naru{enog bita ukl ju~uju}i i nj ih. Iza navalne gre{ke du`ine B treba da
usledi bar B korektnih bitova da bi se ona mogla nazvat i gre{kom du`ine B
Ukoliko imamo manje korektnih bitova posle grupe od B neta~nih, onda to ni je
gre{ka du`ine B ve} neke du`ine D koja je du`a od du`ine B. Za detekci ju ovakvih
gre{aka koriste se napredne tehnike, kao {to je pol inomalna detekci ja putem CRC
postupka.
CRC (Cyc l i c Redundancy Code ) :
Za otkrivanje ovih gre{aka koriste se cik l i~ni i l i polinomni kodovi . Na osnovu bloka
podataka koj i se prenosi formira se odre|en broj kontrolnih bitova i pridodaje se
poruci. Pri jemnik po istom principu izra~unava (generi{e) kontrolne cifre i ako
nastupi neslaganje smatra se da je nastupi la gre{ka u toku prenosa. Kako se
odre|uje CRC?
Elementi m-bitbne poruke se posmatraju kao koefic i jent i pol inoma (m-1)-og reda
pri ~emu je bit najve}e te`ine koefic i jent uz najvi{ i stepen. Na primer:
Message = 110 001 (du`ina je 6 bitova)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 47/260
15/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Message(x) = X5+X4+X0 (korist imo polinom m-1 og stepena)
Niz kontrolnih ci fara koj i se pridodaje poruci za detekci ju gre{aka formira se
deobom polinoma Message(x) generatorskim polinomom G(x) . Stepen generatorskog
polinoma mora da bude ni`i od stepena Message(x) pol inoma. Koefic i jent i uz
najvi{ i i najni` istepen G(x)-a treba da su jednaki jedinic i (zbog boljeg odre|ivanja
gre{aka).
Algori tam za formiranje CRC:
Pomno`it i pol inom Message(x) sa XR (X na R) {to je ekvivalentno dodavanju
r nula na kraj.
Podeli t i XR (X-na-R) *(puta) Message(x) sa G(x) pri ~emu se kod operaci je
del jenja sve operaci je izvr{avaju po modulu 2 t j . u moduo 2 ari tmet ic i . To
zna~i da nema prenosa kod sabiranja nit i pozajmice kod oduzimanja
Deljenje se obavl ja tako {to se smatra: del i lac se sadr`i u del jeniku ako
deljenik ima isto onoliko bitova kol iko i del i lac.
Ostatak del jenja R(x) se oduzima od X R (X-na-R) *(puta) Message(x)
Rezultat tog oduzimanja je poruka sa CRC-om T(x) .( )
( ) ( )xR
XG
xMX)x( T
r
−=
Provera na gre{ku se vr{i tako {to se ispita da l i ostatak del jenja
polinoma T(x) pol inomom G(x) ima ostatak jednak nul i . Ukol iko je ostatak
razl i~ i t od nule onda zna~i da se dogodila gre{ka.
Standardi za generatorske polinome:
CRC 1 6=x 16+x 1 2+x5+x0 - za prenos osmobitnih karaktera
CRC 1 2=x 12+x 1 0+x3+x2+x+1
CRC32=x32+x26+x23+x22+x 1 6+x 12+x 1 1+x 1 0+x8+x7+x5+x4+x2+1 —za prenos bitova bez obzira
na du`inu karaktera
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 48/260
16/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Na primer: M(x) = 11100110, a generatorski pol inom je x4+x3+1
X r (x-na-r) *(puta) M(x) = 111001100000
111001100000 : 11001. rezultat ovog deljenja ni je tol iko bitan. Nama je od
interesa samo ostatak. Ostatak ovog deljenja je 0110.
111001100000 — 0110 = 111001100110 = T(x )
T(x) je poruka sa CRC-om
Hardver za generisanje CRC-a se sastoj i od XOR kola i pomera~kog registra
Pomera~ki registar ima n }el i ja i m XOR kola (kola za sumu po modulu 2).
CRC hardware:
C0 C1 C(n-1)+ + +
* * *A0 A1
Clk
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 49/260
17/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Tehn i ke po t v rde p renosa
Kako da izvor sazna da je u odredi{te st igla korektna poruka?
Za to postoje dva na~ina:
Prvi se zasniva na kori{}enjuECHO
-a (provera odjeka — Echo Checking)
Drugi se zasniva na tehnici potvr|ivanja primljenih poruka (ARQ —
Automatic Repeat Request ) .
ECHO tehn i ka :
Primenjuje se kada je u pitanju mala (kratka) poruka du`ine jednog karaktera
Svaki prenet i karakter (sa terminala) st i`e do centralnog ra~unara i kao ECHO se
vra}a do terminala i tek tada se prikazuje na terminalu. Ako je nastupi la gre{ka
korinik {al je karakter Del da izbri{e poslednji karakter jer ni je dobro prene{en.
Kada je u pitanju komunikaci ja izme|u ra~unara ovakav na~in provere nema
smisla. Tada se korist i druga strategi ja.
ARQ tehnka :
Ideja je da ako u odredi{te prist igne korektna poruka, odredi{te {al je izvoru kratku
poruku — potvrdu. Ako pak poruka ni je korektno primljena postoje dve mogu}nost i :
Odredi{te {al je negat ivnu potvrdu (NAK)
Odredi{te ne {al je ni{ta (~eka se odre|eni vremenski interval — Time Out )
kada taj vremenski interval istekne vr{i se retransmisi ja poruke ({al je se
nova poruka sve dok se ne dob ije potvrda).
Postoj i nekol iko vari jant i koje se razl ikuju po tome da l i se priori tet daje
iskori{}enost i komunikacionog kanala i l i zahtevanom baferskom prostoru u izvoru
odredi{tu. U odnosu na ove dve alternat ive postoje dve vari jante:
Slobodni ( idle) ARQ
Kontinualni ARQ
Kod Kont inualnog ARQ postoje dve vari jante u odnosu na to kako se protokopona{a kada nastupi gre{ka:
Selekt ivna retransmisi ja
Go Back N (vrat i se na N)
Kod slobodnog ARQ ni je potreban neki vel ik i bafer tako da ukol iko nam je to
priori tet logi~no je da }emo izabrat i ovu vari jantu. Postoje i lo{e stane ove u{tede
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 50/260
18/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
a to je lo{a iskori{}enost komunikacionog kanala. Protokol i koj i koriste ovu tehniku
su protokol i t ipa Stop & Wait . Najjednostavni ja vari janta ovakvog protokola se
mo`e opisat i na slede}i na~in:
S top & wa i t p ro toco l :
Izvor mo`e poslat i najvi{e jedan IR ( Informacioni ram) pre nego {to se
zaustavi da sa~eka pri jem potvrde. Dakle, ~im se ram po{alje izvor odmah
zastaje i o~ekuje potvrdu.
Svaki put kada se inic ira prenos IR-a u izvoru se startuje jedan ~asovnik
(Timer) . Ako u odredi{te st igne korektan IR ono {al je potvrdu
(ACKNOWLEDGEMENT) izvoru. Kada izvor primi ACK signal tek tada mo`e da
po~ne sa slanjem narednog IR-a i tada se ~asovnik resetuje.
Ako u odredi{te st igne naru{eni IR, on se odbacuje.
Ako izvor primi naru{eni ACK signal i l i u predvi|enom vremenskom roku
(t ime-out na{eg ~asovnika) ne prist igne ni{ta izvor vr{i retransmisi ju t j
ponovno slanje IR-a.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 51/260
19/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Na ovaj na~in je obezbe|eno da u odredi{te st igne bar jedna korektna kopija IR-a
( informacionog rama). Mo`e se desit i da ACK bude naru{en umesto samog frejma,
i posle t ime-out intervala izvor ponovo {al je ist i IR jer misl i da on ni je dobro
st igao u odredi{te — sve ovo izvor zakl ju~uje na osnovu odsustva ACK-a koj i se
negde izgubio, tako da u odredi{tu postoj i duplikat tog IR-a. Zbog toga se vr{
numeraci ja IR-ova . Dovol jno je izvr{i t i numeraci ju poruke po modulu dva (0 i l i 1
jer duplikat nastaje samo izme|u dve susedne poruke.
I u izvoru i u odr edi{tu treba da postoje broja~i poruka . U izvoru broja~ poslat ih au odredi{tu broja~ primljenih poruka. U izvoru mora postojat i bafer u kome }e bit
zapam}ena poruka koja je poslata a ni je potvr|en njen uspe{ni prenos. Mala je
iskori{}enost komunikacionog kanala.
Ako je CRC uredu, onda se proverava redni broj rama. Ako se redni broj slo`i sa
o~ekivanim, ram se prihvata i broja~ se uve}ava za 1 ( i to po modulu 2).
Da bi se omogu}i lo izvoru da se sinhronizuje, svaki put kada st igne korektan ram
{alje se ACK . Kada primi ACK izvor uve}ava svoj broja~, ugra|uje ga u ram {alje. Al i , mora postojat i bafer koj i ~uva poruku koja je poslata a ni je se potvrdi la
zbog eventualne retransmisi je. Na slede}oj sl ic i prikazan je princip rada ovog
protokola preko jednog kona~nog automata.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 52/260
20/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
I s ko r i { }enos t kana la :
I(N) I(N+1)
Izvor
Odredi{te
I(N)
Tt
Tp Tix Tip Tp Tap
Tax
Tp - propagaciono ka{njenje
Tix - Vreme prenosa poruke
Tip - Vreme procesiranja Informacionog rama ( IR-a)
Tax - Vreme potrebno za prenos ACK rama (ACKNOWLEDGE signala)
Tar - Vreme procesiranje ACK poruke
Tt - Minimalno vrme prenosa
Tt = 2Tp + Tix * Tip + Tax + Tap
Da bi poruka bi la uspe{no primljena t j . da se ne bi poslao duplikat vreme Tt mora
da bude manje i l i jednako Time-out vremenu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 53/260
21/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Po{to je vreme Tip mnogo kra}e u odnosu na Tix dobijamo pribl i`nu formulu:
Tt=2Tp + Tix
Pored vremena za prenos podataka nas interesuje i iskori{}enost kanala :
a21
1U
Tix
Tp21
1
Tix Tp2
Tik
Tt
Tik U
+==
+
=+
== Ovde je uvedena smena da je Tix
Tpa =
Primer:
Kapacitet kanala je 50 kb/s i razmenjuje se poruka vel i~ ine 1000 bit . Tp=250ms
Tt = 2Tp + 1000 bit / 50 000 bit/s = 2*250 + 20 = 520ms
Dakle, samo 20/520=4% vremena se korist i za prenos podataka a ostatak vremena
se tro{i na ~ekanje o pri jemu potvrde.
Iskori{}enost komunikacionog kanala se mo`e pobolj{at i ako dozvol imo izvoru da
po{alje m poruka pre nego {to se zaustavi i po~ne da ~eka na potvrduprvoposlate poruke. Kada izvor po{alje m poruka za koje ni je prist igla potvrda on
se zaustavl ja dok ne prist igne prva potvrda. Ka`emo da je prozor izvora popunjen
Sa odgovaraju}im izborom vel i~ ine prozora W mogu}e je post i} i da izvo
kont inualno {al je poruke a da se prozor ne popuni.
Ako dozvol imo da izvor po{alje 26 ramova t=0. U trenutku t=320 (26*20) kada je
poslata 26-ta poruka prist igla je potvrda za prvu poruku. W poruka moraju da
budu zapam}ene u baferskom prostoru. (bafer pamti poslate a nepotvr|ene
poruke).
U odnosu na to kako se izvor pona {a kada nastupi gre{ka kod kont inualnog ARQ :
Selekt ivna retransmisi ja
Vrat i se nazad na N (Go Back N) — retransmisi ja se vr{i od pogre{no
primljene poruke pa nadalje. .
Postoj i razl ika u odredi{tu u odnosu na ove dve vari jante. Kod selekt ivne
retransmisi je u odredi{tu se zahteva postojanje baferskog prostora vel i~ ine W, a
ako se radi o vari jant i Go Back N dovol jan je bafer vel i~ ine jedne poruke(W=1)
Svaka primljena potvrda uklanja poruku iz bafera.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 54/260
22/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Se lek t i vna re t ransmis i ja
je jedan od protokola za otklanjanje gre{aka. Bol je je ustvari re}i , to je jedan od
protokola za detekci ju gre{ke (obave{tavanje o gre{ci ) . Selekt ivna retransmisi ja je
najkomplikovanija tehnika al i naravno i najef ikasni ja. Ova tehnika implementirana
je i u vrlo poznatom TCP protokolu. Postoj i nekol iko uslova koj i moraju bit
ispunjeni da bi selekt ivna retransmisi ja bi la mogu}a.
Svaki paket i} koj i se po{alje mora bit i numerisan. Za numeraci ju se obi~no
korist i ari tmet ika po modulu X jer se t ime omogu}ava da se ist i brojev
iskoriste po nekol iko puta. Naime, kada pro|e odre|eni vremenski interva
i kada smo sigurni da je paket sa rednim brojem 0 sigurno zavr{io svo
put, onda ponovo mo`emo krenut i od nule i t ime u{tedet i na kapacitetu
memori je koja bi bi la potrebna da se pamte ogromni brojevi .
Izvori{te mora uredno da bele`i u bafer sve one pakete koj i su poslat i a
jo{ uvek nisu potvr|eni.
Odredi{te pamti broj paketa koj i je poslednji potvr|en t j . broj paketa kojje poslednji >>dobro<< st igao na svoje odredi{te.
Odredi{te tako|e mora da sadr`i bafer u kome }e bit i svi paket i} i koj i su
primljeni al i jo{ uvek nisu st igl i na red da se za nj ih po{alje potvrda.
Dakle, ove ~etr i ta~ke govore o zahtevima koje mora da ispunjava neki sistem da
bi se ova tehnika mogla primenit i . Sama tehnika otkrivanja gre{aka funkcioni{e na
slede}i na~in.
Prvo, kada odredi{te otkri je da je do{lo do gre{ke, ono automatskuni{tava o{te}eni paket.
Zat im, odredi{te tra`i od izvora da mu ponovo po{alje paket koj i je
pretrpeo gre{ku u kanalu. Nadalje odredi{te ~eka da mu st igne taj paket
al i ako u me|uvremenu prist ignu neki paket i} i koje on ne o~ekuje
posmatraju}i nj ihove brojeve, on ih stavl ja u bafer.
Kada izvori{te primi zahtev za retransmisi jom, ono ponovo {al je
problemati~ni paket.Kada problemati~ni paket st igne, odredi{te ga prihvata i tada iz bafera
vadi paket i}e koj i s lede (ako ima takvih paket i}a u baferu).
Ovaj princip prikazan je slede}om sl ikom:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 55/260
23/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ovaj princip i lustrova}emo na slede}em primeru!
Na ovoj sl ic i vidimo da je izvori{te poslalo 4 paket i}a. Me|utim prvi paket i} je
do`iveo gre{ku u kanalu i ni je regularno primljen u odredi{tu. Odredi{te }e saznat
da ne{to ni je u redu onda kada uspe{no primi paket i} broj 2 a ta~no zna da ni je
primio paket i} broj 1. Tada }e se odredi{te zapitat i >>a gde je paket i} broj 1
???<< ^im se to zapita, pdredi{te sme{ta paket i} broj 2 u bafer i {al je zahtev za
retransmisi jom paketa broj 1. Kada izvori{te primi ovaj zahtev, ono }e poslatpaket i} broj 1, a zat im nastavi t i da {al je paket i}e 5,6 i 7. U me|uvremenu, u
odredi{te st i`u paket i} i 3 i 4, al i po{to ih ono ne o~ekuje, stavl ja ih u bafer. E
kona~no sada st i`e i paket i} koj i je naru~en. Odredi{te potvr|uje da ga je dobro
primilo i zavr{ava sa nj im. Naravno, sada u svom lokalnom baferu ima paket i}e 2-
4. Odmah i nj ih potvr{uje, a u me|uvremenu st i`u na vreme i paket i broj 5-7
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 56/260
24/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Al i ukol iko sama potvrda bude naru{ena, {ta onda?
Ova selekt ivna retransmisi ja ne pravi razl iku izme|u izgubljene poruke i one ~i ja je
potvrda izgubljena. Potvrda se gubi kada joj istekne Time Out . Pona{a se potpuno
isto kao da je poruka izgubljena. To zahteva da se u odredi{tu duplikat registruje
To se vr{i mehanizmom numeraci je poruka. Svaki put kada se pr imi poruka vr{i se
njeno potvr|ivanje.
Go back N :
je tako|e jedna od tehnika za detekci ju gre{ke u komunikacionom kanalu.
Svaki paket i} koj i se po{alje mora bit i numerisan. Za numeraci ju se obi~no
korist i ari tmet ika po modulu x jer se t ime omogu}ava da se ist i brojev
iskoriste po nekol iko puta. Naime, kada pro|e odre|eni vremenski interva
i kada smo sigurni da je paket sa rednim brojem 0 sigurno zavr{io svo
put, onda ponovo mo`emo krenut i od nule i t ime u{tedet i na kapacitetu
memori je koja bi bi la potrebna da se pamte ogromni brojevi .
Izvori{te mora uredno da bele`i u bafer sve one pakete koj i su poslat i a
jo{ uvek nisu potvr|eni.
Odredi{te pamti broj paketa koj i je poslednji potvr|en t j . broj paketa koj
je poslednji >>dobro<< st igao na svoje odredi{te.
Sam proces otkrivanja gre{ke odvja se kroz slede}e korake:
Kada izvori{te primi o{te}eni paket, ono ga odmah uni{tava.
Odmah nakon toga odredi{te {al je signal NACK i l i REJECT {to zna~i da je
otkrio gre{ku. Nakon emitovanja ovog signala odredi{te o~ekuje da mu
st igne paket i} koj i je naru~io i automatski sve paket i}e koj i mu u
me|uvremenu prist i`u odbija i uni{tava.
Kada izvori{te primi REJECT zahtev, ono po~inje da {al je ponovo sve
paket i}e po~ev od onog za koj i je zatra`ena retransmisi ja NACK signalom
il i REJECT signalom.
Slede}a i lustraci ja reprezentuje ove korake:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 57/260
25/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Evo primera i za ovu tehniku !
Izvori{te {al je 4 paket i}a, me|utim prvo od nj ih ni je uspe{no primljeno. Slede}
paket i} koj i st i`e (uspe{no) je paket i} broj dva. E, sada odredi{te zna da ne{to ni je
bi lo uredu sa paket i}em broj 1 i zato tra`i da mu se ponovo po{alje paket i} broj 1
i svi paket i} i koj i s lede. U me|uvremenu, on odbija sve prispee paket i}e (pa makar
oni i bi l i urdu) jer o~ekuje paket i} broj 1. Kada odredi{te primi signal GoBackN(1
ono zna da treba po~et i sa transmisi jom ponovo od po~etka t j . od paket i}a broj 1.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 58/260
26/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
[ta se de{ava ako se naru{i ram potvrde? Ako su naru{eni ACK(N+1) i ACK(N+2). U
izvor st i`u ovi ACK-ovi sve do ACK(N+1), po{to izvor vidi da mu nije st igla potvrda
on smatra da se izgubio ACK(N+1). Me|utim, po{to mu nest igne ni NAK, on sada
zna da je pogre{io i da je u pitanju samo naru{avanje potvrde i da je ram
uspe{no st igao. Dakle, u tom slu~aju on ne}e vr{i t i retransmisi ju.
Primer: W=3.
Sa kol iko razl i~ i t ih rednih brojeva treba ozna~it i poruke da bi sve ovo
funkcionisalo? Izvor mo`e poslet i 3 poruke pre zaustavl janja (da sa~eka pri jem
potvrde). Vr{imo numeraci ju 0,1,2 i u odredi{te st i`u 0,1,2 korektno. Ukol iko istekne
t ime-out i bude naru{ena poruka 0, vr{i se retransmisi ja i ponovo se {al je 0
Duplikat ni je otkriven zato {to se posle dvojke {al je 0. Dakle, nismo obezbedil i
dobru numeraci ju. Ako numeraci ju vr{imo sa 0,1,2,3 . . . (w+1) {ta }e bit i ako?
Go back N:
Tada je sve korektno ali istekne t ime-out za poruku broj 0. Tada se vr{
retransmisi ja poruke 0 i odredi{te detektuje da se radi o duplikatu, jer on o~ekuje
poruku sa rednim brojem 3. ( Ispituje se CRC i redni broj, ako se poklapaju {al je se
ACK).
Select ive retransmit ion:
Veli~ ina prozora i u izvoru i u odredi{tu je ve}a od 1. Neka budu jednaki (w)
Vr{imo numeraci ju sa w+1 razl i~ i t ih poruka. Kada se korist i selekt ivna retransmisi ja
u odredi{tu postoj i opseg va`e}ih rednih brojeva (prihvata sve i duplikate) .
Ako ACK(0) bude naru{en odredi{te se prebacuje na slede}i skup rednih brojeva.
Odredi{te ponovo {al je poruku sa rednim brojem 0. Duplikat ni je ident i f ikovan, iz
~ega zakl ju~ujemo da numeraci ja sa w+1 ni je dobra. U odredi{tu imamo
preklapanje izme|u dva susedna prozora. Zato moramo da imamo 2w razl i~ i t ih
brojeva. Ako je razl i~ i ta vel i~ ina prozora onda se uzima w1+w2.
I s ko r i { }enost komun i kac ionog kana la
- Slobodni RQ (stop & wait) kor ist i numerisanje po modulu 2
- Go Back N (kont inualni RQ) kor ist i numerisanje po modulu (w+1)
- Selektivna retransmisi ja korist i numerisanje po modulu 2w.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 59/260
27/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Stop & Wait :
Ukupno vreme potrebno za slanje poruke razbi jene na n frejmova je T=n*Tf, gde je
Tf vreme koje zahteva svaki pojedina~ni frejm i ono iznosi:
Tf = Tprop + Tframe + Tproc + Tprop + Tack + Tproc
Gde je:
Tprop — Propagacioni ka{njenje kroz kanal
Tframe — Vreme potrebno za slanje jednog frejma
Tproc — Vreme potrebno da bi se obradila(procesirala) prist igla poruka
Tack — vreme potrebno za slanje ACK frejma
Zanemaruju}i neka vremena, mo`emo uprost i t i izraz za T:
T=n(2*Tprop + Tframe)
Sada, na osnovu svega re~enog, mo`emo definisat i iskori{}enost kanala kao:
( ) aTframeTprop
Tframe
TframeTpropn
TframenU
21
1
22 +=
+⋅=
+⋅
⋅=
V
d
e propagacij Brzina
predajnikai prijemnika RastojanjeTprop ==
_
_ _ _
R
L
slanja Brzina
bitovimau frejma DuzinTframe ==
_
_ _ _
Ako uvedemo smenu da je:
Tframe
Tpropa =
tada dobijamo:
aU ⋅+= 21
1
Ovaj parametar a mo`emo izrazi t i kao:
VL
RD
R
LV
D
novremeTransmisioa ===
vremenoPropagacio
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 60/260
28/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Gde su:
D — Rastojanje pri jemnika i predajnika
V — Brzina propagaci je (za opt i~ko vlakno je to pribl i`no jednako brzini svet lost
3*108 m/s, a za bakarne provodnike se kre}e oko 0.67 od brzine svet lost i .
L — Du`ina frejma u bitovima
R — Brzina slanja (data rate)
Ef ikasnost iskori{}enja kanala se zna~ajno pove}ava ako se omogu}i slanje ve}eg
broja frejmova bez potvrde bi lo kojeg od nj ih. Ako sa w ozna~imo broj bafera na
prednjoj strani, a sa a odnos propagacionog ka{njenja i vremena potrebnog za
slanje jednog frejma (kao u predhodnom primeru), iskori{}enost kanala se mo`e
aproksimirat i izrazom:
⎪⎩
⎪⎨⎧
+⋅+⋅
+⋅≥=
12,12
12,1
awa
waw
U p
Ovi izrazi dobijeni su pod pretpostavkom da je vreme prenosa 1 (normalizaci ja) , te
da je a zapravo propagaciono ka{njenje. Ukol iko je broj bafera ( t j . Vel i~ ina
prozora) na prednjoj strani dovol jno vel ik i t j . da je: TframeTpropTtransw +⋅⋅ 2f
iskori{}enost kanala je 100% (u idealnom slu~aju bez gre{aka u kanalu i uz
zanemarivanje vremena obrade i slanja ACK frejmova). Ako broj bafera na prednjo
strani ni je dovol jan, nastaje zastoj nakon poslat ih w frejmova sve dok se ne prim
potvrda.
SA GRE[KOM:
Verovatno}a nastajanja gre{ke se zove BER (Bi t Error Rate) i to je verovatno}a da
neki bit bude naru{en. Ako je E=0.0001 verovatno}a da }e na 10 000 bitova 1 bit
bi t i naru{en. Problem je {to se poruke prenose u blokovima, u ram-u fiksne
vel i~ ine. Verovatno}a da tu bude naru{en je mnogo ve}a.
E — Bit Error
P = 1 — (1-E) n — Verovatno}a da se javi la gre{ka u paketu du`ine n
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 61/260
29/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
P je verovatno}a da je jedan bit naru{en. I neka se poruke prenose u blokovim
vel i~ ine N bitova. Data }e verovatno}a da ceo paket bude na ru{en bit i jednak gore
napisanom obrascu: P = 1 — (1-E) n
Postavl ja se pitanje kol ika je iskori{}enost kanala ako do|e do gre{ke u prenosu
Sa Nr ozna~imo o~ekivani broj retransmisi ja u toku prenosa. Onda je iskori{}enos
kanala:
Tt Nr
TixU
⋅=
Kako da odredimo Nr ako znamo verovatno}u nastupa gre{ke.
P — Verovatno}a da ram bude naru{en. Tada je o~ekivani broj retransmisi ja
obrnuto proporci jalan verovatno}i da ram ne bude naru{en.
p Nr
−=1
1
STOP & WAI T
( ) a
p
a Nr U
⋅+
−=
⋅+⋅=
21
1
21
1
Se lec t i v re t ransmi t i on
( )⎪⎩
⎪⎨⎧
+⋅+⋅
−+⋅≥−
=12,12
112,1
awa
P waw P
U p
Go Back N
( )( )( )⎪
⎪⎩
⎪⎪⎨
⎧
+⋅+−+⋅
−
+⋅≥+
−
=12,
112
1
12,21
1
awwP P a
P w
awaP
P
U p
Za W=1 i Select ive Retransmit ion i Go Back N se svode na Stop & Wait .
Zak l j u~ak za razma t ran ja sa g re{kom:
Umesto da se korist i obrazac:Tt
Tf U = , Gde je:
Tf — vreme slanja jednog frejma
Tt — ukupno vreme za koje je kanal zauzet tokom slanja jednog frejma
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 62/260
30/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ukol iko postoj i mogu}nost pojave gre{ke u kanalu, neki frejmovi se moraju poslat
ponovo. To degradira iskori{}enost kanala i ona se sada r a~una po obrascu:
Tt Nr
Tf U
⋅= Gde je Nr o~ekivani broj slanja frejma.
Stop & Wait :( ) a
P
a Nr U
⋅+
−=
⋅+=
21
1
21
1
Select ive reject : ( )⎪⎩
⎪⎨⎧
+⋅+⋅
−+⋅≥−
=12,
12
112,1
awa
P waw P
U p
Go Back N: ( )( )( )⎪
⎪⎩
⎪⎪⎨
⎧
+⋅+−+⋅
−
+⋅≥+
−
=12,
112
1
12,21
1
awwP P a
P w
awaP
P
U p
P je verovatno}a da je jedan frejm naru{en (smatra se da ACK i NAK frejmovi nisu
naru{eni ) .
Za stop & wait i selekt ivnu retransmisi ju je:
( ) P Nr
−=
1
1
Za Go back N je daleko slo`eni ja formula! Tako da o njoj ne}e bit i re~i .
Ve rova tno}a nas ta jan ja g re{ke
se ozna~ava kao bitska brzina gre{ke (BER). Npr. BER=10 -4 t j . Od prose~no 10000
bitova 1 bit je naru{en. To ni je mnogo, al i obzirom da se ne {al ju bitovi nego
ramovi, verovarno}a da ram bude naru{en je ve}a.
E — Verovatno}a da jedan bit bude naru{en
N — Vel i~ ina rama (u bitovima)
(1-E) — Verovatno}a da bit bude ne naru{en
(1-E)n — Verovatno}a da poruka ne bude naru{ena t j . Da bude korektno primljena.
P=1-(1-E)n — verovatno}a da ram bude naru{en.
Mora da postoj i mehanizam koj i }e nas za{t i t i od gre{aka koje nastaju usled
vel ike brzine protoka ramova. Taj mehanizam je kontrola toka.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 63/260
31/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ako izvor {al je podatke ve}om brzinom nego {to odredi{te st i`e da ih procesira,
popuni}e se baferski prostor u odredi{tu, tako da ne}e slat i potvrde za nj ih, pa }e
se popunit i i bafer za nj ih u izvori{tu. Ovo }e dovest i do toga da izvor mora da
stane sa slanjem.
Primer:
Niz poruka vel i~ ine 1000 bita treba da se prenese preko 100 Km dugog
komunikacionog kanala kapaciteta 20 Mbps (to je brzina prenosa). Brzina
propagaci je po kanalu iznosi 2*108 m/s i BER=4*10 -5 . Odredit i iskori{}enost kanala:
a) Stop & Wait
b) Select ive Retransmit ion (w=10)
c) Go Back N (w=10)
Re{enje:
( ) ( )
( )96.01
11
96.000004.011
10
105/102
10100
_
1051020
1000
2
1000
10001000
4
8
3
5
6
=−−−=
≈−=−
==
⋅=⋅
⋅=
−
⋅=⋅
=
+=
−
−
P E P
E
Tix
Tpa
s sm
mTp
e propagacijvremeTp
sbps
bit Tix
TpTixTt
a)
046.021
1≈
+
−=
a
P U
b)
( )46.0
21
1
12
=+
−=
+=
a
P wU
aw
c)
338.0=U
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 64/260
32/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
P ro toko l i da ta- l i nk n i voa
HDLC — High Level Data Link Control - (HDLC je predlo`en kao standard po
ISO)
PPP — Point to Point - ( ov o je internetov standard za data-l ink nivo)
SL IP — Serial L ink Interupt Protocol
High Leve l Da ta L i nk Con t ro l
Ovo je protokol koj i je nastao iz IBM-ovih protokola SDLC
HDLC — Protokol koj i pru`a potpuni komunikacioni servis . To je bit-orjent isan
protokol. Du`ina poruke mo`e bit i proizvol jna t j . Ne mora bit i umno`ak broja
bajtova. Omogu}ava povezivanje terminala na ra~unara.
Podr`ava dva re`ima rada:
Neba l an s i r a n i r e ` im no rma l n i h odgo vo r a ( inbalanced Normal Responce
Mode). Ovaj protokol funkcioni{e ako su u pitanju terminalske mre`e
Centralni ra~unar je taj koj i je zadu`en za uspostavl janje i raskidanje veze
Asinhroni balansirani re`im rada (asynchronous Balanced Mode). Korist i se
kada su u pitanju mre`e ra~unara, kada se na obe strane nalaze jednak
(ravnopravni ) ra~unari .
Formati okvira za ovaj protokol je f iksan bez obzira da l i se radi o informacionom
il i upravl ja~kom ramu.
8 8(8x) 8(16) 16 8
f lag ad resa con tr ol --- in fo rmac ij a--- FCS f lag
Flag slu`i da ograni~i okvir : 01111110
Adresa: Kod nebalansiranog re`ima se javl ja ovo polje i to je adresa terminala sa
koj im se uspostavl ja veza. Ovo polje mo`e imati 8-bitno i l i pak umno`ak ovevrednost i .
NPR: Ako ima 3B (bajt a ne bit ) adresa. Prvi bit u oktetu nam ozna~ava da l i je to
poslednji bajt adresnog polja (0=nije, 1=jeste) . Dakle, ako ima 3 bajta, u prva dva
bajta }e prvi bit bi t i obavezno 0, da bi inic irao da postoj i jo{ bajtova posle njega
Samo zadnji bajt na svojoj prvoj pozic i j i (prvi bit ) ima jedinicu, koja ka`e da je to
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 65/260
33/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
bio poslednji bi t . Ukol iko `el imo da paket skigne do svih adresa, onda u polje
adrese upisujemo 11111111.
Vrs te ramova :
HDLC razl ikuje tr i vrste ramova:
Informacioni
Nenumerisani
Supervizorski
U Control bloku se defini{e o kojoj vrst i rama se radi.
Information: Je informaci ja koja se prenosti .
FCS: Je u su{t in i CRC, a generatorski pol inom za ovaj protokol je: X 1 6+X 1 2+X5+1
Ovde je malo modif ikovana procedura za CRC. Umesto dodavanja 16 nula, dodaje
se 16 jedinica pa se to del i sa generatorskim polinomom, a dobijeni ostatak se
prvo invertuje, pa se onda vr{i sabiranje po modulu dva invertovanog ostatka
Sada, kad se vr{i kontrola gre{ke del i se sa generatorskim polinomom i ako nema
gre{ke ne dobije se ostatak nula ve} definisana sekvenca bitova i to je (1D0F)HEX .
Control :
1 3(7) 1 3(7)
0 N(S) Pool/Final N(R)
- Nula u prvom polju govori da je u pitanju informacioni ram
- N(S) je redni broj poruke koja se {alje. Ovaj protokol dozvol java numeraciju
poruka po modulu 8 i l i modulu 128. Dakle, 8 i l i 128 poruka mo`e bit i poslato a
nepotvr|eno.
- Pool/Final je bit prozivke i l i krajnji bit . Naziva se bit prozivke , kada ga upu}uje
strana koja uspostavl ja vezu, za drugu stranu to je Final bit . Ako je postavl jen na 1
zahteva se od druge strane potvr|ivanje teku}eg rama.
- N(R) sadr`i redni broj poslednje ko rektnog pr imljenog rama. Ova informaci ja je
korist i ujedno i kao ram potvrde, ako je u pitanju dvosmerna komunikaci ja (Piggy
Backing — na le|ima).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 66/260
34/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ako je u pitanju nenumerisani ram. On se korist i za uspostavl janje i raskidanje
veza. Ovakvi ramovi ne sadr`e informaci je o rednim brojevima. Samo jedan ovakav
ram mo`e bit i poslat a nepotvr|en.
Ovi M-ovi zajedno slu`e kao operacioni kod komande koja se korist i pr
uspostavl janju i raskidanju veze. Te komande su:
SNRM(E) — Set Normal Response. Za uspostavl janje veze(za numeraci ju po
modulu 8, i l i za numeraci ju po modulu 1 28
SABM(E) — Uspostavl ja se asinhroni balansni re`im rada. (E )-po modulu 128
UA — Unnumber Acknowledgement
DISC — Zahteva se raskidanje veze.
UP — Nenumerisana prozivka — U terminmalskim mre`ama za prozivku
terminala
DM — Kada primenik odbije uspostavl janje veze
Supervizorski ram :
Korist i se za kontrolu gre{ke i oporavak od gre{ke. Dakle, slu`i za potvr|ivanje
rama ako druga strana nema informacione ramove za slanje. Mogu}esupervizorske komande su slede}e:
2 2 1 3
1 0 S Pool/Final N(R)
Ovi ramovi slu`e za potvr|ivanje u slu~aju da druga strana nema svoje
informacione ramove za za potvr|ivanje.
RR = 00 -> Receive Ready — Spreman za pri jem, vr{i se potvr|ivanje
da je poruka primljena uredu.
RNR = 01 -> Receive Not Ready — Sadr`i redni broj poruke koja je
primljena al i saop{tava da privremeno treba prekinut i sa slanjem poruke.
REJ = 10 -> Korist i se za detekci ju gre{ke u primljenom ramu
2 2 1 3
1 1 M Pool/Final M
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 67/260
35/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
SREJ = 11 -> Korist i se za detekci ju gre{ke u primljenom ramu
Kada se detektuje gre{ka u toku prenosa. Ona se emituje ako u odredi{te prist igne
poruka van o~ekivanog rednog broja.
REJ i SREJ govore da se vr{i retransmisi ja poruka po principu vrat i se na N
(Goback N). Ako se emituje SREJ, re~ je o selekt ivnoj transmisi j i t j . {al je se
samoporuka koja je naru{ena.
Kod asinhronog balansnog re`ima rada bilo koja strana mo`e da prekine vezu.
PPP p ro toko l
Point-to-Point protocol. Ranije je bio SLIP. PPP se korist i za povezivanje lokalne
mre`e na internet, i l i za povezivanje PC-a preko modema do internet provajdera
HDLC je bit-ori jent isan protokol, a PPP je ba j t o r i j en t i san protokol ( informaciono
polje je umno`ak bajtova). Osnovni zadaci PPP-a su:
Uramlj ivanje paketa (PPP urami paket koj i je prist igao sa mre`nog nivoa
tako da je pri jemnik u stanju da odredi po~etak i kraj paketa.
Transparentnost : Ne smeju da postoje ograni~enja u vidu sadr`aja paketa
koj i dolazi sa mre`nog nivoa.
Da podr`i razl i~ i te protokole mre`nog nivoa preko iste point-to-point veze.
Treba da podr`i i razl i~i te protokole f iz i~kog nivoa
Detekci ja gre{aka
Odr`avanje veze: Treba da detektuje otkaz na data-l ink nivou i da ostal im
nivoima signaliz ira.
Pregovaranje oko mre`ne adrese
Pored ovol ik ih zadu`enja za koja je PPP zadu`en, od njega se ne o~ekuje da:
Koriguje gre{ke
Kontrol i{e tok
Numeri{e poruke ( to rade vi{ i nivoi )
Format okvira:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 68/260
36/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
8 8 8 8 (1 6) 1 6(32) 8
F lag adresa Con tro l protocol Info rmac ija CLR F lag
Ovaj protokol je strogo namenjen poin-to-point mre`ama. Adresa je uvek 11111111
jer je PPP protokol samo emisioni (broadcast ) protokol. Flag je 01111110. Control je
00000011. Ova polja koja su konstantna, mogla su i da se izostave, a da se
podrazumevaju, me|utim, zbog eventualne promene i l i evoluci je protokola, ova
polja su ostakla.
Protocol ozna~ava koj i je protokol mre`nog nivoa u pitanju ( IP, IPX, . . . ) . Sadr`a
ovog polja mo`e da bude iLCP
(L ink Control Protocol ) koj i se korist i za
uspostavl janje veze i tada je u Info pol ju komanda za uspostavl janje veze.
Info pol je je maksimalno 1500 bajtova. Ako se u info na|e Flag ume}e se
speci jalni ESC karakter. ESC bajt ukazuje da posle njega ni je upravl ja~ki bit ve}
info. Ako je upravl ja~ki bajt = ESC onda se dodaje jo{ jedan ESC, tako da se uvek
mo`e prepoznat i da l i je ESC kao speci jalni karakter i l i je u sastavu upravl ja~kogbita.
Uspostavl janje i raskidanje veze : Korist i se LCP protocol. U info delu je sada
konekcioni zahtev, a u polju za protokol nalazi se LCP.
Configure Request (konfiguracioni zahtev koj i se {al je u info delu) u kome mo`e da
se defini{e maksimalna kol i~ ina podataka koj i se razmenjuju i l i koj i je mehanizam
potvr|ivanja. Dakle, specif ic iraju se uslovi veze. Druga strana mo`e da po{alje kao
odgovor Configure ACK (Uredu, dogovori l i smo se), Configure NACK (znam {ta
ho}e{, al i mi je to neprihvat l j ivo, Configure REJ (Ne razumem tvoje opci je
verovatno je nastala gre{ka u prenosu).
Nakon uspostavl janja konekci je treba da se defini{e komunikaci ja prema vi{em
nivou. Ciklus je prikazan preko automata na slede}oj sl ic i .
Zatvorena
veza Uspostavljanje veze
Autentifikacija
Konfigurisanje mreznog ivoaOtvorena
veza
Zatvaranje veze
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 69/260
37/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
MRE`NI NIVO
Primarni interfejs izme|u HOST-a i komunikacione podmre`e se doga|a na ovom
nivou. Mre`ni nivo je zadu`en za prenos paketa izme|u dva HOST-a za razl iku od
Data Link nivoa koj i je imao zadatak da prenese paket izme|u dva kraja veze
( izme|u >>rutera i rutera<< i l i izme|u >>hosta i rutera<<. Da bi ovo mogao da
obavi, mre`ni nivo mora da poznaje topologju komunikacione podmre`e.
Osnovno pitanje oko koga se vode rasprave je koju vrstu usluge treba mre`ni nivo
da obezbedi transportnom nivou:
Konekcioni i l i
Beskonekcioni servis
O konekcionim i bezkonekcionim servis ima smo govori l i u uvodnom delu ove
knj ige. Samo podse}anja radi nave{}u neki l iko osnovnih principa.
Konekcioni servis: obezbe|uje idealan komunikacioni kanal za transportni nivo
(nema gre{ke-paket i} i se isporu~uju po redosledu).Beskonekcioni servis ne pru`a nikakve garanci je transportnom nivou. Kontrola
gre{ke je ostavl jena u nadle`nost i hosta.
Rasprava:
Telefonske kompanije su pobornici konekcionig servisa a kao opravdanje navode
100-godi{nje uspe{no iskustvo sa telefonskim sistemima. Drugu grupu pobornika
predstavl ja internet populaci ja koja smatra da je zadatak podmre`e samo prenospaketa i ni{ta vi{e. Po nj ihovom mi{l jenju koje se zasniva na 30 godi{njem
iskustvu u radu sa realnim mre`ama, komunikaciona podmr e`a je nepouzdana bez
obzira na to kako je projektovana. Zato HOST treba da prihvat i tu ~injenicu i da on
obavl ja kontrolu gre{aka i kontrolu toka. U su{t ini pitanje se svodi na to gde se
stavl ja kompleksnost . Kod konekcionog servisa, mre`ni nivo nosi teret dok je kod
beskonekcionog servisa to t ransportni nivo t j . HOST(na{ ra~unar)
Pobornic i beskonekcionog servisa kao ~injenicu navode to da su ra~unari postal
mo}nij i i jeft ini j i , pa nema razloga da HOST ne obezbedi funkci je rut iranja, kontrolu
toka. Me|utim, za mnoge real-t ime aplikaci je je mnogo bitni ja brzina od
pouzdanost i (na primer prenos glasa i l i s l ike) . S druge strane pristal ice
konekcionog servisa ka`u da mnogi korisnic i ne `ele da na nj ihovim ma{inama
izvr{avaju kompleksni protokol i transportnog nivoa.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 70/260
38/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
INTERNET ima beskonekcioni mre`ni nivo, a ATM (Asynchonius Transfer Mode
konekcioni. Vide}emo kako komuniciraju hostovi koj i se nalaze u mre`ama sa
razl i~ i t im mre`nim nivoima. Konekcioni servis je obi~no implementiran preko
virtuelnog kanala
, a konekcioni kaodatagram
.
Virtualni kanal :
Kada se korist i model vir tuelnog kanala, onda se pre po~etka slanja podataka
{alje speci jalni paket CALL REQUEST koj im se uspostavl ja veza ( i odre|uje put
izme|u izvornog i odredi{nog hosta. Taj paket sadr`i punu adresu izvora
odredi{ta i jedan referent i broj koj i se zove logi~ki broj vir tuelnog kanala(port )
Kada se veza uspostavi , t j . obezbedi put izme|u izvora i odredi{ta, taj put se
korist i za sve pakete koj i su deo jedne poruke. Svi paket i sadr`e ist i broj vir tuelnog
kanala, al i bez adresa izvora i odredi{ta. Paket i prist i`u u odredi{e u redosledu u
kom su poslat i , jer svi koriste ist i put. Mo`e se uspostavi t i ana logi ja sa telefonskim
pozivom — prvo se uspostavi veza, pa se onda obavl ja komunikaci ja) .
Ako se korist i model virtuelnog kanala svaki ruter mora da sadr`i tabl icu u kojopamti redne brojeve vir tuelnih kanala koj i su ostvareni preko njega. U tabl ic i se
vodi evidenci ja odakle je st igao paket, sa koj im rednim brojem, po kom kanalu
treba da se uput i i sa koj im rednim brojem. Pri tome treba napomenuti da kada
se uspostavl ja vir tuelni kanal bira se na jni` i neiskori{}eni redni broj za datu vezu
ut iskuje se u paket. Pri tome treba napomenuti da broj koj i je ut isnut u paket u
izvoru ne mo`e da bude ist i kao broj koj im on prist i`e u odredi{te, al i sve dok se
odredi{ni host vidi sa ist im dolaznim brojem nema problema. Virtuelni kanal se
bri{e i logi~ki broj napu{ta nakon okon~anja razmene podataka. Mogu}e je da jevir tuelni kanal stalno uspostavl jen, tako da korisnik koj i `el i stalno da komunicira
sa drugim korisnikom ne mora da uspostavl ja novi vir tuelni kanal. Ovo je poznato
kao permanentni vir tuelni kanal . Ova vrsta usluge se posebno pla}a.
Datagram:
Kod datagram usluge, nema inic i jalnog uspostavl janja veze. Svaki paket se {al je
nezavisno od prethodnog i sadr`i punu adresu izvora i odredi{ta. Paket i mogu
putovat i razl i~ i t im putevima i mogu prist izat i u odredi{te van redosleda. Datagram
je analogan slanju pisama. Svako pismo pismo se prenosi kao posebna jedinica
ima kompletnu adresu i izvora i odredi{ta. Ako se pismo izgubi, po{tanski sistem
ne korist i t ime-out, ve} je kontrola gre{aka u nadle`nost i korisnika.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 71/260
39/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ru t i ran j e pake ta
Kao {to smo ve} napomenuli , osnovne funkci je mre`nog nivoa su rut iranje t j
odre|ivanje puta paketa kroz mre`u i spre~avanje zagu{enja. Odre|ivanje puta
paketa se vr{i na osnovu tabl ica koje se nalaze u svakom ruteru. U zavisnost i da
l i se korist i model virtuelnog kanala i l i datagram model.
Kod modela virtuelnog kanala put paketa se odre|uje u samoj fazi uspostavl janja
vir tuelnog vir tuelnog kanala, a zat im svi paket i koriste ist i trasirani put. Kod
datagram modela se za svaki paket i} utvr|uje novi put kroz topologi ju mre`e
Tablice koje se formiraju u ruteru i koje se koriste za odre|ivanje puta paketa
imaju slede}i izgled.
Za svako potenci jalno odredi{te ( t j . svaki ruter) postoj i po jedna vrsta u tabl ic i . U
toj vrst i se navodi po kom kanalu se paket upu}uje da bi st igao do datog
odredi{ta. Nekad se navodi i alternat ivni put.
CAB
DEF
12
32 1 3
4
NPR: Ako je mre`a ovakva, tabl ica za ~vor A bi bi la ovakva:
Odredi{te Put Alternat ivni put
B 1 2
C 1 2
D 3 2
E 3 2
F 2 1
Paket ulazi u mre`u sa adresom odredi{ta u zaglavl ju. Odluke o putu se donose u
svakom ruteru kroz koj i paket prolazi na osnovu tabl ica za odre|ivanje rute(puta)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 72/260
40/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ove tabl ice mogu bit i stat i~e i dinami~ke. Stat i~ke tabl ice su unete u ruter u faz
projektovanja mre`e i retko se menjaju. Dinami~ke tabl ice se koriste kada se
odluke o putu donose na osnovu saobra}aja kroz mre`u, jer se `el i uvek poslat i
paket kroz l ini ju gde je gu`va manja. Algori tmi kol i se koriste za ovakvo rut iranje
nazivaju se adaptivni algori tmi .
Adaptivni algori tmi se razl ikuju po tome odakle dobijaju informaci je (npr: lokalno
samo od susednih rutera i l i iz svih rutera), kada menjaju puteve (na odre|en
interval vremena se osve`avaju tabele jer se u me|uvremenu promenilooptere}enje t j . topologi ja mre`e). Koja metrika se korist i za opt imizaci ju (npr bro
skokova, rastojanje, ka{njenje i td. . )
P r i nc ip op t ima lnos t i
Pre nego {to damo neke konkretne algori tme za rut iranje, navedimo kako se
donosi odluka o opt imalnom putu (bez obzira na topologi ju i saobra}aj ) .
Princip opt imalnost i glasi : Ako je ruter J na opt imalnom putu od I do K, tada je
opt imalni put od J do K na istom putu.
DOKAZ
: Ozna~imo put od I do J sa R1, a ostatak R2. Ako postoj i bol j i put od J do
K od R2, on bi opt imalan put bio R1 + R3 a ne R1 + R2 kao {to smo pretpostavi l i
Dakle, i l i je opt imalan za sve rutere koj i se nalaze na njemu i l i uop{te ni je
opt imalan.
Kao direktna posledica principa opt imalnost i mo`e se zakl ju~i t i da najkra}i putev
od svih izvora do jednog odredi{ta formiraju stablo sa korenom u odredi{nom
~voru. Ovo stablo ne mora bit i jedinstveno. Ci l j algori tma za rut iranje je daprona|e ovo stablo za sve rutere.
DOKAZ da svi ptevi ~ine stablo ->
Pretpostavimo suprotno, da postoj i pet l ja u putu, pri ~emu za svaki mogu}i pu
tvrdimo da je opt imalan.
I J
P
KL1
L2 L3
Put od I do J ima te`inu L1. S druge strane od I do J se mo`e st i} i i preko P i za
taj put tako|e tvrdimo da je opt imalan. Iz ovoga bi moralo da va`i da je L1=L2+L3
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 73/260
41/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Put od P do J preko L3 je opt imalan. S druge strane od P do J se mo`e do}i i
preko L2+L1, koj i je tako|e opt imalan. To je ta~no ako je L3=L2+L1. Ako saberemo
ove dve jedna~ine dobi}emo da je L1+L3=2L2+L1+L3 => L2=0 Dakle, dokazali smo
da nema pet l je.
S ta t i ~ k i a lgo r i tm i
Dijkstra algori tam (1959). Zadate su pozic i je rutera i rastojanja izme|u nj ih (ni je
obavezno da metrika bude rastojanje, mo`e da bude i broj skokova, ka{njenje
i td. . . ) Ci l j je na}i najkra}i put od izvora do odredi{ta. Algori tam startuje od izvora
svakom ~voru pridru`uje jednu labelu (oznaku) koja sadr`i informaci ju o rastojanju
od izvornog ~vora i informaci ju preko kog ~vora se dobija to rastojanje. Labele
mogu bit i privremene i permanentne . Labela je privremena sve dok se ne utvrdi da
je to najkra}i put od izvora do tog ~vora. Tada se labela progla{ava
permanentnom. Algori tam se zavr{ava kada sve labele postanu permanentne
Algori tam je i terat ivne prirode. U po~etku svi ~vorovi imaju oznaku ( )−,0α . Izuzev
izvornog ~vora. Zat im se odre|uje rastojanje od izvora do najbl i` ih suseda i lab ela
se menja. Zat im se od svih privremenih labela bira ona sa najmanjom vredno{}u
rastojanja i progla{ava se permanentnom. Zat im se za tu permanentnu labelu
utvrdi najbl i` i sused sa privremenom labelom i odre|uje novo rastojanje, i td . .
Primer:
A A
A A
A A
B B
B B
B B
C C
C C
C C
D D
D D
D D
E E
E E
E E
F F
F F
F F
G G
G G
G G
H H
H H
H H
2 2
2 2
2 2
2 2
2 2
2 2
6 6
6 6
6 6
1 1
1 1
1 1
4 4
4 4
4 4
2 2
2 2
2 2
7 7
7 7
7 7
3 3
3 3
3 3
3 3
3 3
3 3
2 2
2 2
2 2
2 2
2 2
2 2
(a,-) (6,A)
(6,A) (5,E)
(5,E) (5,E)
(a,-) (a,-)
(4,B) (4,B)
(4,B) (4,B)
(a,-) (2,A)
(2,A) (2,A)
(2,A) (2,A)
(a,-) (a,-)
(9,B) (9,B)
(9,B) (9,B)
(a,-) (a,-)
(a,-) (6,E)
(6,E) (6,E)
(a,-) (a,-)
(a,-) (a,-)
(9,G) (8,F)
(a,-) (a,-)
(a,-) (a,-)
(a,-) (a,-)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 74/260
42/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
F l ood ing A lgo r i t am (bu j i ca , pop lava )
Kod ovog algori tma svaki paket koj i st igne u ruter se {al je po svakom izlaznom
kanalu (osim po onom iz koga je do{ao). O~igledno je da ovaj algori tam generi{e
mnogo duplikata paketa, pa je potrebno uvest i neku meru da se okon~a proces
Jedna takva mera je broja~ skokova u zaglavl ju svakog paketa koj i se
dekrementira pri svakom prolasku kroz neki ruter, a paket se odbacuje kada b roja~
padne na nulu. Idealno bi bi lo da se broja~ postavi na du`inu puta od izvora do
odredi{ta. Ako izvor nezna rastojanje, onda se broja~ mora inic i jal izovat i nanajdu`i put t j . di jametar mre`e.
Ovaj algori tam nije prakt i~an za mnoge primene al i ipak ima svoje korisnike. NPR
u vojnim aplikaci jama gde ruteri mogu bit i uni{teni u bi lo kom trenutku, robusnos
ovog algori tma je izuzetno po`el jna. U aplikaci jama sa distr ibuiranim bazama
podataka ponekad je potrebo a`urirat i sve odjednom. I u takvim slu~ajevima
flooding ima presudni zna~aj. Tre}a mogu}nost kori{}enja ovog algori tma je kao
mera (reper) u odnosu na koj i se mere svi ostal i algori tmi. Buj ica uvek bira
najkra}i put, jer bira svaki mogu}i put paralelno. Shodno tome ni jedan drugi
algori tam ne mo`e dat i manje ka{njenje kroz mre`u.
Adap t i vn i a lgo r i tm i
Mogu bit i :
Globalni i
Decentral izovani
Kod globalnih adaptivnih algori tama najbol j i put izme|u izvora i odredi{ta
odre|uje se na osnovu globalnog znanja o mre`i, a zat im se odre|ivanje puta vr{
u jednom centru (central izovani algori tam) i l i u vi{e centara. Kl ju~no kod ovih
algori tama je da oni poseduju potpune informaci je o povezanost i i ceni veza
Najpoznat i j i predstavnik ove grupe je L INK STATE algori tam.
Kod decentral izovanih algori tama najbol j i put se odre|uje i terat ivno t j . jedan ~vor
nema potpunu informaci ju o ceni veza u mre`i. Svaki ~vor u po~etku posedujeznanje samo o ceni veza sa najbl i` im susedima, a zat im se u toku i terat ivnog
procesa razmenjuju informaci je sa najbl i` im susedima. Najpoznat i j i predstavnik ove
frupe algori tama je distance vector algori thm .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 75/260
43/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
D i s tance vec to r a lgo r i t hm
Svaki ruter sadr`i tabelu sa ulazom za svaki drugi ruter u mre`i. Svaka vrsta (ulaz
sadr`i dva dela:
Najpo`el jni ju l ini ju za tu dest inaci ju i
Procenu rastojanja i l i ka{njenja do te dest inaci je
Usvaja se da ruter zna rastojanje do svakog svog suseda. Rastojanje ne mora bit
du`insko! Ono mo`e bit i broj koraka, vel i~ ina reda za ~ekanje, ka{njenje i td . . .Akoje metrika ka{njenje ruter mo`e da ga odredi kori{}enjem speci jalnog ECHO paketa
koj i pri jemnik veri f ikuje i vra}a ga {to pre mo`e.
Pretpostavimo da je metrika ka{njenje i da ruter zna ka{njenje do svakog od svoj ih
suseda. Svakih T mikrosekundi ruter {al je svoj im susedima l is tu ustanovl jenih
ka{njenja za svaku dest inaci ju. Tako|e, prima sl i~nu l is tu od svoj ih suseda. Ovo se
naziva osve`avanje tabl ica .
Pretpostavimo da je jedna od ovih tabela svakog od suseda X, pri ~emu X
ozna~ava X-ovu cenu za ka{njenje do rutera i . Ako ruter koj i je prmio tabl icu zna
da ka{njenje do rutera X iznosi m mil isekundi, onda on zna da do rutera xi mo`e
st i} i za vreme xi + m preko rutera X.
Obavl jaju}i ovakva izra~unavanja za svakog suseda, ruter mo`e prona}i koja je
procena cene najbol ja i tu procenu iskorist i t i i a`urirat i odgovaraju}i ulaz u svojo
tabl ic i rut iranja. Stara tabela se ne korist i u izra~unavanju.
PRIMER: Za mre`u sa 5 ~vorova, datu na sl ic i 2, prikazat i postupak punjenja tabela
rastojanja u svim ~vorovima primenomDistance Vector Rout ing
algori tma.
Re{enje:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 76/260
44/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
A
A
A
B
B
B
C
C
C
D
D
D
E
E
E
B
B
B
C
C
C
D
D
D
E
E
E
A
A
A
C
C
C
D
D
D
E
E
E
A
A
A
B
B
B
D
D
D
E
E
E
A
A
A
B
B
B
C
C
C
E
E
E
A
A
A
B
B
B
C
C
C
D
D
D
B
B
3
3
B
3
3
3
7
712
9
9
E
E
5
5
E
11
11
14
13
8
8
5
5
5
A
A
3
3
A
3
3
31011
8
8
C
C
4
4
C
11
4
4
4
9
9
13
12
E
E
6
6
E
11
11
15
14
9
9
6
6
6
B
B
4
4
B
7
7
4
4
413
10
10
D
D
5
5
D
1314
5
5
5
8
8
E
E
9
9
E
14
14
15
15
12
12
9
9
9
E
E
3
3
E
8
8
9
9
12
11
3
3
3
C
C
5
5
C
12
9
9
5
5
5
14
13
A
A
5
5
A
5
5
5
8
81213
B
B
6
6
B
9
9
6
6
6
10
1015
C
C
9
9
C
16
13
13
9
9
9
14
14
D
D
3
3
D
1112
8
8
3
3
3
Diskusi ja re{enja:
U prvom redu tabela, popunjavaju se samo razdalj ine do direktnih suseda.
U drugom redu tabela, sledi se slede}a logika:
1. Da bi iz A do{ao do B, kre}u}i se preko B, potrebno mi je 3 ( jedinice cene)
Ovo je direktna veza.
2. Da bi iz A do{ao do B, kre}u}i se preko E, prvo moram da izra~unam kol iko }e
mi trebat i da do|em od A do E. Nakon {to sam to izra~unao ( pogledav{i u
tabele iz prvog reda ) dopisao sam plavom bojom broj 5 iznad kolone E. Ova
broj mi ozna~ava da mi od A do E treba 5 jedinica cene. Sada, kada znam
koliko mi treba od A do E treba da na|em kol iko mi treba od E do B i da turazdalj inu saberem sa onim plavim brojem 5 iznad tabele. Hmmmm, od E do B
}e mi trebat i 6 jedinica cene. Dakle, kada saberem onu plavu pet icu i ovu
{est icu, dobijam 11.
3. Is tom logikom se slu`imo za sve mogu}e dest inaci je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 77/260
45/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
U tre}em redu tabela se sledi sl i~na logika kao u drugom koraku. Ja }u dat i
primer ponovo za tabelu A:
1. Da bi se iz A do{lo do B, kre}u}i se preko B, potrebno mi je 3 jedinica cene.
Ovo je, kao i u pro{lom primeru, direktna veza.
2. Da bi se iz A do{lo do C preko E, moramo prvo da vidimo kol iko nam treba od
A do E, i da napi{emo onaj plavi broj iznad tabele. Po{to sam ve} jedared
odredio sve plave brojeve za prvi red tabl ica, prosto }u prepisat i plavu pet icu
iznad kolone za E. Sada, treba odredit i , kol iko mi je potrebno od E do C
Posmatram drugi red tabela i zakl ju~ujem da je ovog puta na raspolaganju tr
vari jant i . Te vari jante su 10, 9 i 8 jedinica cene. Naravno, slu`e}i se principom
ekonomi~nost i , biram ono 8. Dakle, sada treba sabrat i 8+5 i dobijamo 13
jedinica cene. Prime}ujemo da je za ovaj ist i put u drugom redu tabela bi lo
potrebno 14 jedinica cene! Naravno, jer tada smo za put izme|u E i C imal
samo jednu opci ju koja je ko{tala 9 jedinica cene. Sada su nam se otvori le
nove opci je, mi smo biral i naj jeft ini ju i tako je na{a tabela po~ela da
konvergira ka najjekonomi~ni jem re{enju.
Is tom logikom se slu`imo za sve mogu}e dest inaci je.
Ovaj algori tam teori jski dobro funkcioni{e, al i u praksi ima mnogo mana. Mada
konvergira ka konkretnom re{enju to mo`e bit i veoma sporo . Na dobre vest
reaguje brzo, al i na lo{e veoma sporo.
Posmatrajmo ruter ~i j i je najbol j i put do X veoma vel ik i . Ako kod slede}e razmene
sused, NPR A, raport ira kratko ka{njenje do X, ruter }e jednostavno odmah po~et
da korist i l ini ju prema A za saobra}aj do X. U toku jedne razmene vektora dobra
vest je primljena.
Da bi smo videl i kojom brzinom se dobre vest i prenose, uzmimo primer slede}e
mre`e pri ~emu je kao metrika uzet broj skokova.
EA B C D
Pretpostavimo da inic i jalno A ne funkcioni{e i svi ostal i ruteri to znaju. Drugim
re~ima, svi imaju procenjeno ka{njenje do A jednako beskona~nost i . Kada se A
vrat i ostal i ruteri saznaju za to razmenom vektora. Kod prve razmene B uo~ava da
njegov levi sused ima nulto ka{njenje do A, pa a`urira svoju tabelu i ka`e da je
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 78/260
46/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
broj skokova do A jednak = 1. Svi ostal i ruteri misle i dal je da je A van upotrebe.
Kod slede}e razmene C uo~ava da je rastojanje od B do A = 1, pa a`urira svoju
tabelu, i td . . .
O~igledno je da }e se dobra vest prenosit i brzinom od jednog skoka po razmeni
Ovi koraci prikazani su slede}om tabelom:
A B C D E
+beskona~no +beskona~no +beskona~no +beskona~no
1 +beskona~no +beskona~no +beskona~no
1 2 +beskona~no +beskona~no
1 2 3 +beskona~no
1 2 3 4
A sada pogledajmo i lustraci ju za brzinu {irenja lo{ih vest i . Posmatrajmo sada
situaci ju kada su inic i jalno sve l ini je i ruteri akt ivni . Ruteri B,C,D i E imaju
rastojanja 1, 2, 3 i 4 do A respekt ivno. Iznenada A prestane da radi.
Kod prve razmene B ne ~uje ni{ta od A. Na sre}u C mu ka`e >>ne brini , ja imam
put du`ine 2 do A<<. Pri tome B nema pojma da taj put vodi preko njega
samoga. Kao rezultat toga B shvat i da mo`e st i} i do A preko C za 3 skoka.
Kod druge razmene, C uo~ava da svaki od njegovih suseda tvrdi da ima rastojanje
3 do A. On odabira jedan od puteva (random — odabir ) , i ozna~ava da je novorastojanje do A jednako 4. Ostatak korak se odvi ja po istom principu. Ovo je
prikazano tabelom:
A B C D E
1 2 3 4
3 2 3 4
3 4 3 4
5 4 5 4
+beskona~no +beskona~no +beskona~no +beskona~no
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 79/260
47/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
O~igledno je da broj razmena te`i +beskona~nost i . Ovaj problem je poznat pod
nazivom >>brojanje do beskona~nost i<< i l i >>Count To Inf ini ty<<.
Predlo`eno je mnogo re{enja u l i teraturi za ovaj problem (pri ~emu je svako novo
re{enje slo`eni je i manje efikasno od prethodnog).
Sp l i t ho r i zon a lgo r i t am
Nave{}emo SPLIT HORIZON algori tam koj i radi isto kao Vector Distance s jednom
izmenom: Ako Z korist i Y da st igne do X, tada }e Z re}i da ima rastojanje
+beskona~no do X. Z }e nastavi t i da govori ovu la ` Y sve dok put do X vod i preko
Y. Po{to Y veruje da Z nema put do X, Y nikako ne}e poku{at i da st igne do X
preko Z, sve dok Z komunicira sa X preko Y.
EA B C D
Z Y X
Inic i jalno C ka`e D ist inu o rastojanju do A, al i ka`e la` B-u da mu je rastojanje
do A +beskona~no. Sl i~no D ka`e ist inu E-u a la` C-u. Da vidimo {ta se de{ava
kada A otka`e. Kod prve razmene B }e utvrdit i da je direktna veza pukla. C ga
la`e da je njegovo rastojanje do A +beskona~no (ne postoj i ) pa on a`urira svoju
tabl icu da mu je rastojanje do A = +beskona~no. U slede}oj rameni C ustanovl java
da oba njegova suseda imaju +beskona~no rastojanje do A, pa i on svoje
rastojanje setuje na +beskona~no, i td . . .Me|ut im, i ovaj algori tam mo`e da ima problem >>brojanje u beskona~nost<<
Razmotrimo NPR: slede}u mre`u.
A B
C
D
Inic i jalni A i B imaju rastojanje 2 do ~vora D, a C rastojanje 1 do ~vora D.
Pretpostavimo da l ini ja CD pukne. A i B ka`u C-u da ne mogu da do|u do D t j .
Da im je rastojanje do D +beskona~no jer je put do D vodio preko C. Na taj na~in
C odmah zakl ju~I da je D nedostupan, i izve{tava o tome A i B. Na `alost , a ~uje
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 80/260
48/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
do B ima put du`ine 2 do D, pa zakl ju~uje da mo`e do}I do D za 3 koraka. Sl i~no
zakl ju~uje i B. U slede}oj razmeni A i B postavl jaju svoje rastojanje do D na 4,
I td… Ovo dovodi upravo do si tuaci je koju smo htel i da izbegnemo (brojanje do
beskona~nost i ) .
L i nk s ta te a lgo r i t hm
Distance Vector
je kori{}en u Arpanetu do 1979 godine, kada je zamenjen saL ink
State algori tmom. Dva razloga su postojala za to:
Prvo, po{to je metrika za ka{njenje bi la du`ina reda ~ekanja, nisu se
uzimali u obzirkapacitet i l ini ja
kod promene putanje. Inic i jalno su sve
l ini je bi le 56kb/s, al i su kasni je neke zamenjene sa 239 kb/s a zat im sa
1.544 Mb/s. Ne uzimanje kapaciteta l ini ja u obzir bio je vel ik i problem.
(Naravno, metrika je mogla da se promeni da se uzme u obzir kapacitet
l ini ja)
Drugi problem je bio {to je nekada bilo potrebno mnogo vremena da
Distance Vector algoriam konvergira do najbol jeg re{enja, ~ak i saSpl i
Horizon metodom.
Zbog ovih problema Distance Vector je 1979-te zamenjen potpuno novim
algori tmom (L ink State algori tmom). Mnoge vari jane Link State algori tma se i dan
danas koriste. Ideja na kojoj se bazira Link State zasniva se na pet stavki :
Otkri t i svoje susede i ustanovit i nj ihove mre`ne adrese
Izmenit i ka{njenje i l i cenu do svakog suseda
Konstruisat i paket koj i sadr`i sve {to zna
Poslat i ovaj paket svim ruterima
Izra~unat i najkra}i put do svih akt ivnih rutera
U su{t ini potpuna topologi ja i ka{njenja se eksperimentalno utvr|uju i distr ibuiraju
svim ruterima. Zat im se DIJKSTRA algori tam mo`e upotrebit i za odre|ivanje
najkra}eg puta do svakog rutera. Svaku od etapa u Link State algori tmu }emo
obradit i pojedina~no.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 81/260
49/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ustanovl jenje mre`nih adresa suseda
:
Kada se ruter postavi u mre`u, njegov primarni zadatak je da otkri je ko su mu
susedi. Ovo se post i`e slanjem speci jalnog HELLO paketa na svaku point-to-poin
l ini ju. Od rutera na drugom kraju veze se o~ekuje da odgovori ko je. Imena (t j
Adrese) rutera moraju bit i jedinstvena.
Odre|ivanje cene l ini je
:
L ink State algori tam zahteva da svaki ruter zna, i l i bar ima dobru procenu o
ka{njenju do suseda. Direktan na~in da se odredi ka{njenje je da po{alje ECHO
paket i da se od druge strane zahteva da ga odmah vrat i . Test mo`e bit
ponovl jen vi{e puta. Interesantno je pitanje da l i treba uzet i u obzir optere}enje
veze kod merenja vremena. Da bi se uzelo u obzir, meri se vreme do trenutka
kada jeECHO
paket stavi u red ~ekanja pa dok se ne vrat i .
Generisanje Link State paketa :
Kada su informaci je o susedima prikupl jene, slede}i korak je da svaki ruter
napravi paket koj i sadr`i sve informaci je do koj ih je do{ao. Paket ima slede}
izgled:
Adresa izvora
Redni broj
Starost (age)
L ist suseda Ka{njenja
. .
. .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 82/260
50/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Primer:
A
B C
D
EF
4
5 6
1
2
3
7
8
Generisanje paketa je jednostavno. Te`i deo posla je odredit i kada da se generi{e
paket. Jedna mogu}nost je da se oni generi{u periodi~no u regularnim vremenskim
razmacima. Druga vari janta je da to bude kada do|e do neke zna~ajni je promene
kao {to je otkaz rutera i l i komunikacionog kanala, i l i povratak nekada prekinutog
kanala i l i rutera. Naravno zna~ajan doga|aj je i promena performansi veze.
A
Redni broj
Starost (age)
L ista suseda Ka{njenja
B 4
F 5
I tako dalje za ostale ~vorove !
Distr ibuci ja Link State paketa :
Naj interesantni j i deo algori tma je pouzdana distr ibuci ja Link State paketa
Opisa}emo prvo osnovni algori tam a zat im neke njegove modif ikaci je.
Osnovna ideja je da se korist ibujica ( f looding)
sa distr ibuci jom Link State paketa
Da bi se bujica dr`ala pod kontrolom, svaki paket sadr`i redni broj koj i se
inkrementira kod slanja svakog novog paketa. Ruteri vode ra~una o svakom paru
( izvor, redni broj ) koj i su >>v ide l i
<<. Kada prist igne novi L ink State paket, ruter
proverava da l i je ve} video taj paket. Ako ustanovi da je u pitanju novi paket
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 83/260
51/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
prosle|uje ga po svim l ini jama onim po onoj po kojoj je paket do{ao. Ako otkri je
duplikat odbacuje ga. Ako se primi paket sa rednim brojem koj i je ni` i od
poslednje vi|enog odbaci je se kao da je zastareo.
Ovaj algori tam ima nekolko problema, al i se sa nj ima mo`e iza}i na kraj.
Prvo
, ako se vr{i numeraci ja paketa po nekom modulu, moglo bi do|i do konfuzi je
koj i je paket stari j i . Re{enje je da se koriste 32-bitni redni brojevi . Ako bi se svake
sekunde slao po jedan Link State paket, bi lo bi potrebno 137 godina da se onove
ist i redni brojevi , pa se ovaj problem mo`e ignorisat i .
Drugo , ako ruter otka`e, izgubi}e trag o svoj im rednim brojevima. Ako startuje
ponovo od 0, slede}i paket }e bit i odba~en kao dup likat .
Tre}e, ako do|e do naru{avanja rednog broja, i primi se na primer 65540 umesto
4 (1-bitna gre{ka) paket i od 5 do 65540 }e bit i odba~eni kao zastarel i .
Re{enje za ove probleme je da se ukl ju~i starost (age) paketa nakon rednog br oja
i da se dekrementira za 1 nakon svake sekunde. Kada starost dost igne 0, paket se
odbacuje.
Normalno, novi paket prist i`e recimo, na svakih 10 min, pa ruterima informaci ja
istekne samo kada je ruter otkazao. Pol je starost se dekrementira u svakom ruteru
u toku inic i jalnog procesa bujice, da bi se obezbedilo da ni jedan paket ne mo`e
da se izgubi i `ivi beskona~no.
Da bi se obezbedio od gre{aka na ruter-ruter l ini jama, svaki l ink state paket se
potvr|uje. Kada su l ini je slobodne, one se kru`no test iraju.
Primer:
Za mre`u na sl ic i , struktura podataka koju formira ruter B ima slede}i izgled:
S end f lags ACK fl ag s
Izvor Rbr. Age A C F A C F
A 21 60 0 1 1 1 0 0
F 21 60 1 1 0 0 0 1
E 21 59 0 1 0 1 0 1
C 20 60 1 0 1 0 1 0
D 21 59 1 0 0 0 1 1
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 84/260
52/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Svaka vrsta u tabel i odgovara nedavno primljenom, al i jo{ potpuno ne obra|enom
Link State paketu. U tabel i se vodi informaci ja odakle paket pot i~e, njegov redn
broj, starost i podaci. Pored toga postoje f lagovi za slanje i potvr|ivanje (ACK) za
svaku od 3 l ini je za B (prema A, C i F ruterima). Send Flag zna~i da paket mo`e
bit i poslat po ozna~enoj l ini j i , a ACK da potvrda treba da bude poslata po
ozna~enoj l ini j i .
Odre| i van je nov ih pu teva
Kada je ruter prikupio sve Link State pakete, mo`e da konsrui{e graf cele mre`e.
Sada mo`e da iskorist i DIJKSTIN algori tam u svakom ruteru lokalno, da se prona|e
najkra}i put do svih mogu}ih odredi{ta.
Hijerarhi jsko rut iranje :
U dosada{njoj analiz i smo mre`u posmatral i jednostavno kao skup povezanih
rutera. Svi ruteri su izvr{aval i is t i algori tam za rut iranje kroz celu mre`u. U praks
ovaj model ne funkcioni{e iz najmanje dva razloga:
Za mre`u koja ima n rutera, pri ~emu svaki ima K suseda, memori ja
potrebna da se zapamte svi potrebni podaci je proporcionalna Kn (t j . O(Kn
). Za vel ike mre`e, kao {to je internet koj i se sastoj i od nekol iko mil iona
rutera i vi{e od 50 mil iona ra~unara ovo mo`e bit i problem. Ne samo da
se pove}avaju zahtevi za memori jskim prostorom, ve} se zahteva i vi{e
CPU-ovog vremena. Jednog trenutka mre`a mo`e postat i tol iko vel ika danema dovol jno memori je za pam}enje podataka o njoj .
Administrat ivna autonomija mora da pru`i mogu}nost organizaci jama da
administr iraju svoje mre`e po `el j i a da ipak imaju mogu}nost povezivanja
sa spoljnim svetom (ostatkom interneta).
Zbog svega ovoga se ruteri dele na regione i l i autonomne sisteme , a rut iranje se
obavl ja hi jerarhi jski . Ruteri unutar istog regiona svi izvr{avaju ist i algori tamrut iranja (na primer Distance Vector i l i L ink State ) . Naravno, potrebno je povezat
autonomne sisteme me|usobno, pa }e jedan i l i vi{e rutera u Autonomnom sistemu
imati dodatnu odgovornost za rut iranje paketa van tog autonomnog sistema. Ruter
koj i imaju ovu funkci ju se zovu GATEWAY ruteri (kapi je ka svetu) .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 85/260
53/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Za vel ike mre`e dvo-nivoiska hi jerarhi ja ~esto ni je dovol jna . Mo`e bit i potrebno da
se regioni grupi{u u grozdove (c lasters) , k lasteri u zone , zone u grupe i tako dalje.
Na sl ic i je dat primer rut iranja u dvodimenzionalnoj hi jerarhi j i sa pet regiona
Tabela rutiranja za ruter 1A bez hi jerarhi jskog rut iranja ima 17 ulaza. Kada se
rut iranje obavl ja hi jerarhi jski , u tabel i postoje ulazi za sve lokalne rutere, al i za
sve ostale regione postoj i samo jedan ulaz. Hijerarhi jsko rut iranje je smanji lo
tabelu sa 17 na 7 ulaza.
1A
1B
1C 2A 2B
2C 2D
3A3B
4A
4B
4C
5A
5B5C 5D
5E
Prvo }emo sastavi t i potpunu tabelu za A a zat im hi jerarhi jsku tabelu:
Dest inaci ja Lini je Br. Skokova
1A - -
1B 1B 1
1C 1B 1
2A 1B 2
2B 1B 3
2C 1B 3
2D 1B 4
3A 1C 3
3B 1C 2
4A 1C 3
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 86/260
54/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
4B 1C 4
4C 1C 4
5A 1C 4
5B 1C 5
5C 1C 5
5D 1C 6
5E 1C 5
Hijerarhi jska tabela za A:
Dest inaci ja l ini ja Broj skokova
1A - -
1B 1B 1
1C 1C 1
2 1B 2
3 1C 2
4 1C 3
5 1C 4
Me|utim, ovaj dobitak ni je besplatan. Moraju se plat i t i izvesna kazna koja se
ogleda u pove}anju du`ine puta. NPR: najbol j i put iz 1A do 5C je preko regiona 2
ali sa hi jerarhi jskim rut iranjem sav saobra}aj ka regionu 5 ide preko regiona 3, je
je to bol j i put za ve}inu dest inaci ja u regionu 5 .
Kada jedna mre`a postane veoma vel ika, postavl ja se interesantno pitanje, a to je
Kol iko nivoa hi jerarhi je je potrebno imati?
NPR: Ako imamo mre`u sa 720 rutera, i ako nema hijerarhi je svaki ruter mora da
ima tabelu sa 720 ulaza. Ako se mre`a podeli na 24 regiona sa po 30 rutera,
svakom ruteru je potrebna tabela sa 30 lokalnih ulaza + 23 externa ulaza (za
ostatak mre`e). To je ukupni 53.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 87/260
55/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ako se odabere tronivoiska hi jerarhi ja pri ~emu svaki nivo sadr`i 9 regiona sa po
10 rutera, svakom ruteru je potrebna tabela sa 10 ulaza za lokalne rutere i 8 ulaza
za druge regione unutar istog klastera i 7 ulaza za ostale klastere. To je ukupno
25 ulaza.
Opt imalan broj nivoa za mre`u od N rutera jeednak je lnN, {to zahteva lnN ulaza
u tabel i svakog rutera, tako|e je ustanovl jeno da je srednje pove}anje efekt ivne
du`ine puta hi jerarhi jskim rut iranjem prihvat l j ivo.
L i nk S ta te A lgo r i t am:
Kao {to smo rekl i ovaj algori tam spada u frupu globalnih rut ing algori tama jer
zahteva znanje o svim vezama u celoj globalnoj mre`i.
Korak 1:
Prevo|enje topologi je mre`e u usmereni graf.
^vorove grafa ~ine:
Ruteri
Mre`e >> Tranzitne-(povezane na vi{e rutera) i terminalne-(povezane sa
jednim ruterom)
Grane ~ine
Point-to-point veze izme|u 2 rutera
Veze rutera na lokalnu mre`u
Sve veze su dvosmerne, pri ~emu se te`ine iste grane u razl i~ i t im smerovima
razl ikuju. Zato se naj~e{}e svaka grana razbi ja (pri l ikom crtanja) na dva zasebna
usmerena potega, svaki sa svojom te`inom. Iz lazne grane iz rutera imaju te`inu
koju dodeljuje sistem administrator ( i l i se izra~unava na osnovu ka{njenja kroz
vezu. Grane koje vode od mre`e ka ruteru imaju te`inu 0 .
Korak 2:
Formiranje SPF-stabla za svaki ruter. Polaze}i od datog rutera izra~unava se
putanja sa najni`om cenom do svake odredi{ne mre`e. Za to se korist i Di jkstra
algori tam. Rezultat ovoga je formiranje ( jednostruko povezanog usmerenog grafa
SPK stabla za dat i ~vor/ruter.
Korak 3:
Unos adresa susednih ~vorova (prvog skoka) za svaku odredi{nu mre`u u rut ing
tabelu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 88/260
56/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
MRE@NI NIVO INTERNETA - IP PROTOKOL
Mre`ni nivo u Internetu se mo`e posmatrat i kao skup podmre`a i l i autonomnih
sistema (AS) koj i su me|usobno povezani. Ne postoj i jedinstvena struktura ve}
nekol iko vel ik ih ki~mi. Ki~me su napravl jene od visokopropusnih l ini ja i brzih
rutera. Na ki~mu su zaka~ene regionalne mre`e, a na regionalne mr e`e LAN mre`e
mnogih univerzi teta, kompanija i Internet provajdera.
Lepak koj i spaja internet je protokol mre`nog nivoa t j . IP protokol. Za razl iku od
rani j ih mre`nih protokola on je u startu projektovan tako da omogu}
internetworking. Njegov zadatakje da pru`i najbol ju mogu}u uslugu za prenos
datagrama od izvora do odredi{ta, bez obzira da l i se oni nalaze u susestvu i l i su
razdvojeni.
Komunikaci ja u internetu se odvi ja na slede}i na~in:
Transportni nivo preuzima podatke iz aplikacionog nivoa i del i ih na datagrame
Teori jski , datagrami mogu bit i vel i~ine do 64 Kbyte, al i su paketi obi~no vel i~ ine od
oko 1.5 kByte. Svaki datagram se prenosi kroz internet, pri ~emu mo`e bit
fragmentiran na manje delove. Kada svi delovi kona~no st ignu u odredi{te, mre`n
ih nivo reasemblira u originalni datagram. Datagram se zat im predaje
transportnom nivou, koj i ih zat im predaje aplikat ivnom.
I P P ro toko l
Format IP datagrama se sastoj i od zaglavl ja (header) i podataka (text part )
Zaglavl je ima 20 byte f iksnog dela i opcioni deo promenlj ive vel i~ ine.
4 4 8 16
Verzi ja IHL Tip servisa Ukupna du`ina
Ident i f ikaci ja Fragment offset
Vreme ̀ ivota protokol ~eksum zaglavlja
Adresa izvora
Adresa odredi{ta
Opci je (0 i l i vi{e re~i )
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 89/260
57/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Polje verzi ja :
Ukazuje na verzi ju IP protokola. Na osnovu ovog 4-bitnog polja ruter mo`e da
utvrdi kako da interpret ira ostatak IP datagrama. Razl i~ i te verzi je IP protokola
koriste razl i~ i te formate datagrama. Teku}a verzi ja IP je IP v4 . Na prethodnoj sl ic
je prikazan upravo taj format IP protokola. Najnovi ja vrezi ja IP protokola je v6.
IHL (Header Lenght ) :
Po{to du`ina zaglavl ja ni je konstantna ovo polje govori kol ika je du`ina zaglav l ja u
32-bitnim re~ima. Minimalna vrednost je 5, kada nema nikakvih opci ja
Maksimalna vrednost je 15, {to zna~i da je maksimalna vel i~ ina zaglavl ja 60 byte
To zna~i da je opciono polje maksimalne veli~ine 40 Byte. Za neke, kao {to je
bele`enje mar{ute paketa, 40 byte je malo.
Tip Servisa (Type of Service) :
Ovim poljem HOST ka`e podmre`i koju vrstu servisa `el i . Razl i~ i te kombinaci je
brzine i pouzdanost i su mogu}e. NPR, za prenos digital izovanog glasa mnogo je
bitni ja brzina od pouzdanost i . S druge strane, za prenos faj lova mnogo je bitni je
da prenos bude 100% ta~an nego brzina.
Prva tr i bi ta ovog polja ukazuju na priori tet od 0 (normalni paket i ) do 7 (kontroln
paket i ) . S lede}a tr i bi ta (D-Delay, T-Throughtput, R-Rel iabi l i ty ) omogu}avaju da se
ozna~i ~emu se daje priori tet u toku prenosa (Malo ka{njenje, propusnost i l
pouzdanost ) .
Polje ukupna du`ina ( total lenght ) :
Defini{e ukupnu vel i~ inu datagrama u bajtovima: Zaglavl je + data. Maksimalna
du`ina je 65535 bajta. Me|utim datagrami su retko ve}i od 1500 bajtova.
Ident i f ikaci ja
:
U slu~aju da se vr{i fragmentaci ja, treba omogu}it i odredi{nom hostu da utvrd
kome datagramu pripada novoprist igl i fragment. Svi fragmenti jednog datagrama
nose istr i broj t j . Iden t i f ikaci ju.
DF -zna~i Don ’ t fragment (ne fragmentiraj ) . To nare|uje ruteru da ne vr{
fragmentaci ju, jer odredi{te ni je u stanju da delove ponovo spoji . Sve ma{ine
moraju da prihvate 576 byte.
MF -zna~i More Fragments ( jo{ fragmenata). Sv i fragmenti osim poslednjeg imaju
postavl jen ovaj bit . Naravno, posle poslednjeg fragmenta nema vi{e fragmenata
tako da je tada MF=0.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 90/260
58/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Fragment Offset (13 bitova) redni broj fragmenta i datagrama. Svaki fragmen
izuzev poslednjeg mora bit i umno`ak od 8 bajtova (8 byte je elementara du`ina
fragmenta). Po{to je ovo polje 13 bitno, to zna~i da jedan datagram mo`e imati
najvi{e 8192 fragmenata.
Vreme `ivota(Time to Live) :
Je broj koj i se korist i da ograni~i du`inu `ivota paketa. Zami{l jeno je da se vreme
broj i u sekundama, pa najvi{e vreme 255 sekundi. Ovo vreme se dekrementira u
svakom ruteru kroz koj i datagram prolazi . U praksi ovo zna~i da se broje skokov
a ne sekunde. Kada broja~ dst igne nulu, paket se odbacuje.
Polje Protokol :
Korist i se kada kompletan datagram st igne u odredi{te. Ovo polje ka`e kom
protokolu transportnog nivoa je datagram namenjen. 6-TCO, 17-UDP itd. . .
Header Checksum :
S lu`i za kontrolu zaglavl ja. Formira se na slede}i na~in. Vr{i se sabiranje 16-bitnih
polure~i kori{}enjem ari tmet ike jedini~nog komplementa, a zat im se pronalaz
jedini~ni komplement rezultata. Header Checksum se mora izra~unavat i u svakom
ruteru jer se u svakom ruteru bar jedno polje menja (makar t ime to l ive) .
Polja adresa izvora i odredi{ta:
Sadr`e 32-bitne IP adrese izvora i odredi{ta. O adresiranju }e bit i re~i kasni je.
Opcije:
Ovo polje je razl i~ i te du`ine. Svaka opci ja po~inje jedno-bajtnim kodom kojident i f ikuje opci ju. Do sada je ident i f ikovano 5 opci ja.
Securi ty — ka`e kolka je tajnost datagrama
Str ic t source rout ing (str ik tno rut iranje kako je zadato u izvoru) t j . Defini{e
se kompletan put koj i mora da se korist i
L is t Source Rout ing — Daje l is tu rutera koj i ne smeju bit i presko~eni u putu
Record route — Zahteva da svaki ruter kroz koj i prolazi datagram upi{e
svoju IP adresu.
Time stamp — svaki ruter treba da upi{e svoju IP adresu i vreme prolaska
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 91/260
59/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
I P Ad rese
Svaki HOST i ruter na Internetu imaju IP adresu koja defini{e broj mre`e i bro
hosta u mre`i. Ruteri mogu imati vi{e IP adresa (svaka za po jednu iz laznu l ini ju) .
Ova kombinaci ja je jedinstvena (ne postoje dva ra~unara sa istom IP adresom). IP
adrese su 32-bitne i koriste se u polj ima >>adresa izvora<< i >>adresa
odredi{ta<< u IP paket ima. Formati koj i se koriste za IP adrese mogu bit i razl i~ i t i .
Ma{ine koje su povezane na vi{e mre`a imaju razl i~ i te IP za svaku mre`u
posebno. Postoje 4 klase formata IP adresa (Peta je rezervisana za budu}e
namene):
8 16 24
Mre`a Host
Mre`a
Mre`a
Multicast adrese
Rezervisano za budu}e namene
Host
Host
0
0
0
0
0
1
1 1
1 1 1
1 1 1 1
1.0.0.0 - 127.255.255.255
128.0.0.0 - 191.255.255.255
192.0.0.0 - 223.255.255.255
224.0.0.0 - 239.255.255.25
240.0.0.0 - 247.255.255.25
Klasa A dozvol java (omogu}ava) konfigurisanje do 126 sa po 16 mil iona Hostova u
svakoj.
Kalsa B
dozvol java 16382 mre`a sa po 64K hostova
Klasa C 2 Mil iona mre`a sa po 254 hostova
Klasa D Omogu}ava slanje datagrama u vi{e hostova
Adresa koja po~inje sa 11110 je rezervisana za budu }e kori{}enje.
Deset ine hi l jada mre`a je trenutno povezano na Internet, a ovaj broj se
udvostru~ava svake godine. Mre`ni brojevi se dodeljuju od strane posebne
ogranizaci je NIC (Network Information Center) da ne bi do{lo do nekih konfl ikata
Mre`ne adrese se obi~no pi{u u dotted decimal formatu t j . Svaki bajt je
predstavl jen decimalnim ekvivalentom i razdvojen ta~kom od ostatka adrese. Svak
od 4 bajta mo`e imati vrednost od 0-255 npr: 192.41.6.20
Najni`a IP adresa je 0.0.0.0 a najvi{a 255.255 .255.255. IP adresa 0.0.0.0 se korist
od strane hosta kada se on butuje, al i je posle toga vi{e ne korist i . Adrese oblika
127.xx.yy.zz su rezervisane zaLOOP BALL
test iranje. Paket i poslat i po toj adresi se
procesiraju lokalno i tret iraju se kao dolaze}i paket i . Ovo se korist i kod
debagovanja mre`nog softwera.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 92/260
60/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
I n t e rne t Con t ro l Mesage P ro toco l
Pored IP, koj i se korist i za prenos podataka, Internet ima nekol iko upravl ja~kih
(control l ) protokola koj i se koriste na mre`nom nivou. To su ICMP. ARP (Address
Resolut ion Protocol l ) , RARP (Reverse Address Resolut ion Protocol ) i td . . .
ICMP:
ICMP se ~esto tret ira kao deo IP, al i hi jerarhi jski se nalazi iznad IP, jer se ICMP
poruke prenose unutar IP paketa. ICMP koriste hostovi i ruteri za razmenu
upravl ja~kih informaci ja. Tipi~no kori{}enje ICMP-a je za raport iranje o gre{kama
NPR: Kada izvr{avate Telnet . FTP, HTTP sesi je, mo`ete da primite poruku
>>dest inat ion network unreacheble<< i l i odredi{na mre`a je nedostupna. Ova
poruka je deo ICMP-a. Ako IP ruter ni je mogao da prona|e put do hosta koj i je
FTP, Telnet i l i HTTP aplikaci ja tra`i la, ruter formira i {al je t ip 3 ICMP poruke hostu
ukazuju}i na gre{ku. Tada host prima ICMP poruku i vra}a kOd gre{ke
transportnom nivou, a transportni nivo to prosle|uje aplikaci j i . Postoj i 12 t ipova
ICMP poruka. Svaka poruka je inkapsul irana u IP paketu. Neke od najva`ni j ih
poruka su slede}e:
DESTINATION UNREACHEABLE
— korist i se kada podmre`a i l i ruter ne mogu
da lociraju odredi{te, i l i paket sa DF (Don ’ t Fragment) bitom ne mo`e bit
otposlat jer mre`a sa >>malim paket ima<< stoj i na putu.
TIME EXCEEDED — [al je se kada je paket odba~en zato {to je njegov broja~dost igao 0. Ovaj doga|aj je simptom da paket i kru`e, i l i da postoj i vel iko
zagu{enje, i l i je pak mo`da vrednost tajmera posavl jena na vrlo kratko
vreme.
PARAMETER PROBLEM
— Ukazuje da je i legalna vrednost bi la otkrivena u
zaglavl ju paketa. Ovaj problem ukazuje na bag (bug) u IP softweru
izvornog hosta, i l i rutera kroz koj i je paket pro{ao.
SOURCE QUENCH (ugasit i izvor) — je rani je kori{}en da reguli{e brzinuhosta koj i {al je mnogo podataka (paketa). Kada host primi ovu poruku od
njega se o~ekuje da uspori . Sada se retko korist i , jer kada nastup
zagu{enje ovi paket i samo pogor{avaju ve} ionako te{ku si tuaci ju. Kontrola
zagu{enja se na internetu uglavnom sprovodi u transportnom nivou.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 93/260
61/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
REDIRECT — korist i se kada ruter primet i da ima izgleda da je paket
pogre{no rut iran. Korist i ga ruter da izvest i izvorni host o verovatno
gre{ci .
ECHO REQUEST i ECHO REPLY — koriste se da bi se ustanovi lo da l i su
odgovaraju}e dest inaci je dostupne i `ive. Nakon pri jema ECHO REQUEST
poruke od odredi{ta se o~ekuje da po{alje ECHO REPLY nazad. (Ove poruke
korist i program~e P ING ) .
TIMESTAMP REQUEST i TIMESTAMP REPLY — su sl i~ne prethodnim, sem {to se
jo{ bele`i vreme prist izanja i vreme slanja poruke. Ova mogu}nost se
korist i za merenje performansi mre`e.
ARP P ro toco l
I ako svaka ma{ina na Internetu ima jednu i l i vi{e IP adresa, one se ne mogu
stvarno korist i t i za slanje paketa, jer data l ink hardware ne razume IP adrese
Danas je ve}ina hostova povezana na LAN preko mre`ne kart ice koja razume samo
LAN adrese. NPR svaka Ethernet kart ica koja je proizvedena dolazi sa 48-bitnomethernet adresom. Proizvo|a~i ethernet kart ica dobijaju blok adresa od centralne
slu`be da bi se sigurno moglo tvrdit i da ne postoje dve plo~e sa istom adresom
Ovim se izbegava konfl ik t ukol iko bi se u istom LAN-u na{le dve kart ice sa istom
adresom. Mre`ne kart ice {al ju i primaju frejmove na osnovu 48-bitnih etherne
adresa. One neznaju ni{ta o 32-bitnim IP adresama.
Postavl ja se pitanje kako se IP adrese presl ikavaju u adrese data l ink nivoa kao
{to su Ethernet adrese?
F1 F3
F2
E1 E2 E3 E4 E5 E6
192.31.65.7
192.31.65.5
Ruter ima 2 IP
192.31.66.4
192.31.65.4
Prema WAN
Ruter ima 2 IP
192.31.60.4
192.31.63.3
192.31.63.8
1 2 3 4
CS Ethernet
192.31.65.0EE Ethernet
192.31.63.0
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 94/260
62/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Na sl ic i je prikazana mre`a jednog univerzi tetskog kampusa koj i se sastoj i od
nekol iko mre`a klase C. Na sl ic i su prikazane dve Ethernet mre`e; jedna Computer
Science department a druga Electr ical Engenering department. CS mre`a ima IP
adresu 192.31.65.0, a EE mre`a ima adresu 192.31.63.0. Svaka ma{ina u ethernetu
ima jedinstvenu Ethernet adresu, ozna~enu sa E1 do E6, a u FDDI prstenu, FDD
adresu F1 do F3.
Da vidimo prvo, kako HOST 1 {al je paket hostu 2. Pretpostavimo da po{i l jalac zna
ime pri jemnika, npr [email protected]. Prvi korak je da se prona|e IP adresaza host koj i je poznat pod imenom alfa.cs.uni.edu. Ovo pretra`ivanje obavl ja DNS
(Domain Name System), {to je deo aplikat ivnog nivoa. Za sada pretpostavimo da
DNS vra}a IP adresu hosta 2 — 192.31.65.5. Software vi{eg nivoa gradi paket sa
192.31.65.5 u polju adresa odredi{ta i predaje ga IP software-u za prenos. IP
software mo`e da ustanovi da je dest inaci ja u sopstvenoj mre`i, al i mu je
potrebno da prona|e ethernet adresu odredi{ta.
Jedno re{enje je da postoj i konfiguracioni faj l negde u sistemu, koj i }e presl ikat i IP
adrese u Ethernet adrese. Ovo re{enje je zaista mogu}e, al i za organizaci je koje
imaj hi l jade ma{ina, odr`avanje ovakvih faj lova je podlo`no gre{kama i veoma
vremenski zahtevno.
Bol je re{enje je da HOST 1 po{alje broacast paket (emisioni paket ) na ethernet
>>ko poseduje IP adresu 192.31.65.5 ? <<.Ova poruka }e st i} i do svih ma{ina na
Ethernetu i svaka }e proveri t i svoju IP adresu. Jedini HOST 2 }e odgovori t i svojom
Ethernet adresom. Na ovaj na~in Host 1 ustanovl java da je IP adresa 192.31.65.5
na hostu sa ethernet adresom E2. Protokol koj im se postavl ja ovo pitanje i dobijaodgovor zove se ARO (Address Resolut ion Protocol ) . Skoro sve ma{ine na Internetu
izvr{avaju ovaj protokol.
Prednost kori{}enja ARO nad konfiguraci jskim faj lom je njegova jednostavnost
Sistem administrator nema mnogo posla, sem da svakoj ma{ini dodeli IP adresu
odlu~i kako izgleda maska kojom se izdvaja broj mre`e; ARP obavl ja sve ostalo
Nakon {toje dobio adresu E2, IP software na hostu 1 gradi Ethernet ram adresiran
sa E2, stavl ja svoj IP paket u polje podataka u ram i pu{ta ga na ethernet
Ethernet kart ica na hostu 2 detektuje ovaj ram, prepoznaje svoju adresu, pokup
paket i izaziva prekid. Ethernet drajver izvla~i IP paket iz pol ja podataka i predaje
ga IP software-u koj i ustanovl java da je on korektno adresiran i procesira ga.
Mogu}e su razl i~ i te modif ikaci je ARP da bi se on u~inio jo{ efikasni j im. NPR. Kada
jednom ma{ina izvr{i ARP, ona ke{ira rezultat u slu~aju da joj je potrebno da
kontakt ira istu ma{inu uskoro. Tako da }e slede}i put prona}i presl ikavanje u svom
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 95/260
63/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
ke{u i ne}e morat i da ponovo postravl ja isto pitanje. Po{to je i hostu 2 potrebna
IP adresa hosta 1, host 1 mo`e da po{alje u ARP paketu i svoju adresu t j . Par
(192.31.65.7, E1) .
Da bi projektovanje IP adresa u ad rese data l ink nivoa moglo da se promeni, NPR
kada se ethernet kart ica pokvari i zameni novom (i tako ima novu Ethernet adresu
Zbog ovoga ulazi u ARP ke{u treba da se bri{u nakon nekol iko minuta.
Posmatramo situaci ju sada u kojoj host1 `el i da po{alje paket hostu4 (192.31.63.8)
Kori{}enje ARP ne}e dat i rezultate jer host 4 ne}e videt i emisi ju (ruteri neprosle|uju ethernet level emisi ju) . Za ovo postoje dva re{enja!
Prvo, CS ruter mo`e bit i konfigurisan da odgovara na ARP zahteve za mre`u
192.31.63.0 ( i mo`da druge lokalne mre`e). U ovom slu~aju }e host 1 napravit i ARP
ke{ ulaz za (192.31.63.8, E3) i prosledit i ceo saobra}aj za host 4 lokalnom ruteru
Ovo re{enje zove se PROXY ARP (PROXY zna~i zastupnik — punomo}nik) .
Drugo re{enje je da host 1 odmah vidi da je odredi{te na drugoj mre`i, da ceo
takav saobra}aj prosledi na default Ethernet adresu koja upravl ja svim udaljenimsaobra}ajem, u ovom slu~aju to je E3. Ovo re{enje ne zahteva da CS ruter zna
koju udaljenu mre`u uslu`uje.
U oba slu~aja, ono {to se de{ava je da host 1 pakuje IP paket u polje podatka u
Ethernet frame adresiran za E3. Kada CS ruter dobije Ethernet frame, on uklanja IP
paket iz pol ja podataka i tra`i IP adresu u svojoj tabel i rut iranja. On utvr|uje da
paket i za mre`u 192.31.63.0 treba da idu uruter 192.31.60.7. Ako on jo{ ne zna
FDDI
adresu (Adresa data-l ink nivoa) do 192.31.60.7, on emituje ARP paket na ring
(prsten), saznaje da je njegova adresa F3. On zat im ubacuje IP paket u poljepodataka FDDI rama (frame-a) odre|enog na F3 i {al je ga na ring.
U EE ruter, FDDI drajver uklanja paket iz pol ja podataka FDDI rama, i predaje ga
IP software-u koj i ustanovl java da treba da po{alje paket u 192.31.63.8.
Ako ova IP adresa ni je u ARP ke{u, on emituje ARP upit na EE Ethernet
ustanovl java da je odredi{na adresa E6, gradi ethernet Ram adresiran na E6,
stavl ja IP paket u polje podatka i {al je ga na Ethernet. Kada Ethermnet ram st igne
u Host 4, paket se izvla~i iz rama i prosle|uje IP software-u na p rocesiranje.Slanje IP paketa iz Hosta 1 u neku udaljenu mre`u preko WAN radi u su{t ini na ist
na~in, osim {to sada tabela u CS ruteru ka`e da treba da se korist i WAN ruter,
~ i ja je FDDI adresa F2.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 96/260
64/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
RARP — Reve rse ARP
ARP re{ava proble presl ikavanja IP adresa u adrese data l ink nivoa (kakva je
Ethernet adresa). Me|utim, mo`e se pojavi t i i obrnut i problem. On nastupa kada se
nova ma{ina povezuje na mre`u.
Kako ma{ina koja zna svoju Ethernet adresu da sazna koja joj je IP adresa?
Re{enje je da se korist iRARP
. Ovaj protokol dozvol java novo-postavl jenoj ma{in
da emituje svoju Ethernet adresu i ka`e: >>Moja Ethernet adreasa je xxxxxxxxxxx,
da l i neko zna moju IP adresu? <<. RARP server vidi ovaj zahtev, pretra`uje svo
konfiguracioni faj l i vra}a odgovaraju}u IP adresu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 97/260
65/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
TRANSPORTNI NIVO
Transportni nivo ni je samo jo{ jedan nivo. On je sr ce cele protokol hi jerarhi je
Osnovni zadatak transportnog nivoa je da obezbedi efikasan, pouzdan servis
svoj im korisnic ima, t j . procesima na aplikat ivnom nivou, nezavisno od fiz i~ke
mre`e. Bez transportnog nivoa ceo koncept vi{enivojske hi jerarhi je bi imao malo
smisla.
Ukratko, funkci je transportnog nivoa su slede}e:
Protokol transportnog nivoa obezbe|uje logi~ku komunikaci ju izme|u
aplikat ivnih procesa koj i se izvr{avaju na razl i~ i t im hostovima. Pod
logi~kom komunikaci jom misl i se da aplikat ivni procesi nisu f iz i~k
povezani, al i sa ta~ke gledi{ta aplikat ivnih procesa nj ima izgleda kao da
su fiz i~ki povezani.
Protokol i transportnog nivoa su implementirani u hostovima a ne u
mre`nim ruterima.
Na izvornoj strani transportni nivo prima poruke sa aplikat ivnog nivoa
del i ih na manje delove, dodaju}i svakom delu zaglavl je transportnog
nivoa kreiraju}i 4 PDU segmente (protokolne jedinice podataka). Transportn
nivo zat im predaje te segmente mre`nom nivou gde se svaka 4-PDU
enkapsul ira u 3-PDU. U odredi{tu, transportni nivo prima 4-PDU-ove od
mre`nog nivoa, uklanja zaglavl je transportnog nivoa iz 4-PDU i ponovo
sklapa poruku od vi{e PDU-ova i prenosi je u aplikat ivni nivo.
Ra~unarska mre`a mo`e nudit i vi{e protokola transportnog nivoa aplikaci j i
NPR internet ima dva protokola TCP i UDP . Ovi protokol i pru`aju razl i~ i te
vrste usluga aplikat ivnim procesima
Svi protokol i transportnog nivoa obezbe|uju aplikaci j i usluge
mult ipleksiranja i delmult ipleksiranja
Primer:
Da bi objasni l i funkci ju transportnog nivoa potra`imo analogi ju sa primerom iz
svakodnevnog `ivota. Pretpostavimo da u Ni{u i Novom Sadu `ive dve orodice,
povezane rodbinskim vezama, sa mnogo dece u svakoj. Deca iz ovih porodica vole
da se dopisuju. Svako dete pi{e svakom svom ro|aku pismo svake nedelje. U
svakoj od porodica po jedno dete je zadu`eno da prikupl ja i distr ibuira pisma. U
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 98/260
66/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ni{u Mujo i u Novom Sadu Haso . Svake nedelje Mujo prikupl ja pisma od svoje
bra}e i sestara i predaje ih po{taru koj i svakodnevno pose}uje ku}u. Kada pisma
st ignu u Ni{ Mujo ih distr ibuira bra}i i sestrama. Sl i~an zadatak ima Haso u
Novom Sadu.
U ovom primeru, po{ta obezbe|uje logi~ku komunikaci ju izme|u dva doma}instva
(ku}e). Po{ta prenosi pisma od ku}e do ku}e al i ne od osobe do osobe. S druge
strane Mujo i Haso obezbe|uju logi~ku komunikaci ju izme|u ro|aka. Mujo i Haso
prikupl jaju pisma i predaju pisma svojoj bra}i i sestrama. Sa ta~ke gledi{ta decekoja se dopisuju Mujo i Haso im pru`aju po{tanske usluge, mada su oni zapravo
samo deo primo-predaje pisama.
Potraimo sada analogi ju da bi objasni l i odnos izme|u transportnog i mre`nog
nivoa:
Hostovi = ku}e
Procesi = ro|aci
Aplikat ivne poruke = pisma
Protokol mre`nog nivoa = Po{ta
Protokol transportnog nivoa = Mujo i Haso
Nastavimo ovu porodi~nu pri~u dalje. Pretpostavimo da su Mujo i Haso ot i{ l i na
odmor i da ih zamenjuju Fata i Miki Maus . Na`alost , Fata i Miki Maus ne obavl jaju
svoj posao isto kao Mujo i Haso. Po{to su mla|i i manje odgovorni Fata i Miki
Maus re|e prikupl jaju i {al ju pisma, pa ~ak povremeno neka pisma i zagube
Dakle, ro|a~ki par Fata i Miki Maus ne pru`aju ist i kval i tet usluge kao Mujo i
Haso.
Ako se vrat imo na mre`e ra~unara, to zna~i da transportni nivo mo`e da ima vi{e
protokola transportnog nivoa, pri ~emu oni p ru`aju razl i~ i te usluge. Sl i~no mre`nom
nivou, transportni nivo mo`e da pru`i apl ikat ivnim procesima konekcioni
bezkonekcioni servis . Konekcioni servis transportnog nivoa je u mnogome sl i~an
konekcionom servisu mre`nog nivoa. U oba slu~aja konekci ja ima tr i faze:
Uspostavl janje konekci je
Prenos podataka
Osloba|anje
Adresiranje i kontrola toka su tako|e sl i~ni .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 99/260
67/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Beskonekcioni transportni servis je tako|e veoma sl i~an beskonekcionom mre`nom
servisu. Name}e se onda logi~no pitanje: Ako je servis transportnog nivoa sl i~an
servisu mre`nog nivoa, za{to onda postoje dva odvojena nivoa?
Odgovor je supt i lan, al i k l ju~an. Naime, mre`ni nivo je deo komunikacione
podmre`e i protokol i mre`nog nivoa su implementirani u komunikacioni j podmre`i
me|utim, {ta se de{ava ako mre`ni nivo nudi konekcioni servis, al i je ona
nepouzdana (~esto gubi pakete podataka). [ta se de{ava ako ruteri s vremena na
vreme otka`u?
Nastaju problemi. Korisnic i nemaju nikakvu kontrolu nad podmre`om, tako da on
ne mogu da re{e problem lo{e usluge kori{}enjem bolj ih rutera i l i uslo`njavanjem
data-l ink nivoa za kontrolu gre{aka na komunikacionim kanalima.
Jedna mogu}nost je da se stavi drugi nivo iznad mre`nog nivoa koj i }e pobolj{at
kval i tet servisa. Transportni nivo omogu}ava da transportne usluge budu mnogo
pouzdanije nego odgovaraju}e mre`ne usluge. Izgubljeni i naru{eni podaci mogu
bit i detektovani i kompenzovani transportnim nivoom.Odnos izme|u aplikat ivnog, transportnog i mre`nog nivoa prikazan je na slede}o
sl ic i :
Aplikacija Aplikacija
Mre`ni nivo Mre`ni nivo
Transportnientitet Transportnientitet Transportniprotokol
Mre`na adresa
Transportna adresa
Transportni enti tet je hardver i l i software unutar transportnog nivoa preko koga se
mo`e pristupit i razl i~ i t im uslugama. Transportni ent i tet mo`e bit i u jezgru (kernel-u
operat ivnog sistema u odvojenom korisni~kom procesu, i u bibl iote~kom paketu
vezanom za aplikaci ju.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 100/260
68/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
P r im i t i ve t ranspor tn i h se r v i sa
Ove primit ive omogu}avaju korisniku transportne usluge (apl ikat ivnim programima
da pristupe usluzi . Svaka transportna usluga ima svoje primit ive preko koj ih im se
pristupa.
Razmotrimo primerkonekcionog transportnog servisa kome se pristupa preko pet
primit iva. Primer je pojednostavl jen, al i al i prikazuje su{t inu toga {ta konekcion
transportni interfejs treba da ostvari . On omogu}ava aplikacionim programima da
uspostave, koriste i oslobode konekci ju. To je dovol jno za mnoge aplikaci je.
Primit iva Transportna PDU koja se
{al je
Zna~enje
LISTEN Ni{ta Blokiraj dok neki proces ne poku{a
konekci ju
CONNECT Zahtev za konekci jom Akt ivno poku{ava da uspostavi konekci ju
SEND Podaci [al je informaci je
RECEIVE Ni{ta Blokiraj dok PDU sa podacima ne st igne
DISCONNECT Zahtev za diskonekci jom Ova strana `el i da raskine konekci ju
Da bi videl i kako ove primit ive mogu da se iskoriste, razmatramo aplikaci ju sa
jednim serverom i vi{e udaljenih kl i jenata.
Za po~etak, server izvr{ava L ISTEN primit ivu, naj~e{}e tako {to poziva bibl iote~ku
proceduru koja obavl ja sistemski poziv da blokira server dok se kl i jent ne pojavi
Jedan kl i jent `el i da pr i~a sa serverom, on izvr{avaCONNECT
primit ivu
Transportni enti tet prenosi ovu primit ivu tako {to blokira poziva~a i {al je pake
serveru. U polju podatka ovog paketa je poruka transportnog nivoa za serversk
transportni ent i tet .
Kl i jentov poziv CONNECT primit ive, uzrokuje da CONNECTION REQUEST PDU budeposlat serveru. Kada ovo st igne transportni ent i tet proverava da l i je server
blokiran naL ISTEN
(da l i `el i da prihvat i zahteve). On zat im deblokira server i {al je
CONNECTION ACCEPTED PDU nazad kl i jentu. Kada ova PDU st igne kl i jent je
deblokiran i konekci ja je uspostavl jena.
Sada mogu da se razmenjuju podaci kori{}enjemSEND
iRECEIVE
primit iva.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 101/260
69/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Kada konekci ja vi{e ni je potrebna, ona se mora oslobodit i . Raskidanje ima dve
vari jante:
Asimetri~na i
Simetr i~na vari janta
Kod asimetri~ne vari jante bi lo koj i host mo`e da izda DISCONNECT primit ivu, {to
uzrokuje da se DISCONNECTION REQUEST PDU po{alje udaljenom transportnom
enti tetu. Po pri jemu, konekci ja je okon~ana.
Kod simetri~ne vari jante, svaki smer se zatvara nezavisno od onog drugog. Kada
jedna strana izvr{i DISCONNECT to zna~i da ona nema vi{e podataka za slanje, al
je jo{ uvek vol jna da prihvat i podatke sa druge strane. U ovom modelu konekci ja
se okon~ava kada obe trane izvr{e DISCONNECT primit ivu.
TCP PROTOCOL
T RANSM I S ION CONTROL PROTOCOL
TCP obezbe|uje mult ipleksiranje i demultipleksiranje, kontrolu gre{aka, ful l-duplex
prenos podataka, point-to-point konekci ju (emisi ja ni je mogu }a).
To je connect ion oriented protokol (t j . Pru`a konekcioni serv is aplikaci j i ) za razl iku
od UDP-a. Pre nego {to aplikat ivni procesi po~nu da razmenjuju podatke, oni mora
da pro|u kroz odre|enu handshke proceduru.
Da vidimo kako se uspostavl ja konekci ja. Pretpostavimo da proces koj i se izvr{ava
na jednom hostu `el i da inic ira konekci ju sa drugim procesom na drugom hostuHost koj i inic ira konekci ju ozna~ava se kao kl i jent , a onaj koj i odgovara na zahtev
se naziva server. NPR kl i jent program u javi to ~ini tako {to izdaje komandu:
Socket cl ientSocket = new Socket (hostname,portname)
TCP u kli jentu zat im nastavlja sa uspostavl janje TCP konekci je sa TCP u serveru
Kl i jent {al je speci jalni TCP segment na koj i odgovara server slanjem drugog
speci jalnog TCP segmenta. Kona~no, kl i jent odgovara ponovo sa tre}im speci jalnim
segmentom. Prva dva segmenta ne sadr`e nikakve podatke sa aplikacionog nivoa,dok tre}i segment mo`e da ih ima. Zbog toga {to se razmenjuju 3 segmenta u
fazi konekci je, ova procedura se zove three-way handshame.
Kada se TCP konekci ja uspostavi , apl ikacioni procesi mogu da {al ju i primaju
podatke. Po{to je TCP ful l-duplex, podaci mogu da se razmenjuju u oba smera u
isto vreme. Razmotrimo slanje podataka iz kl i jent procesa u server proces. Kl i jen
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 102/260
70/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
proces predaje niz podataka kroz socket (vrata procesa) gde ih preuzima TCP
software i sme{ta podatke u iz lazni bafer koj i je uspostavl jen (pu{ten u rad) u toku
handshake procedure. TCP od ovih podataka gradi segmente. Maksimalna vel i~ ina
segmenta je ograni~ena, ona zavis i od TCP implementaci je (zavisno od operat ivnog
sistema) i mo`e se konfigurisat i . Naj~e{}e je 1.5 kb.
TCP izlaznibafer
TCP ulaznibafer
Aplikacijaupisujepodatak
Aplikacija~itapodatak
Segment
Socket
Segmenti se predaju mre`nom nivou, gde se enkapsul iraju u IP datagrame. IP
datagrami se zat im {al ju u mre`u. Kada PCP primi segement na drugoj strani,
podaci se sme{taju u TCP pri jemni bafer. Aplikaci ja ~i ta podatke iz ovog bafera
Svaka strana ima i iz lazni i pri jemni (senr i r eceive) bafere.
Fo rma t TCP segmen ta
TCP segment se sastoj i od Zaglavl ja (koje ima fiksni deo od 20 bajtova i opcion
deo) i podataka.
8 16 24 32
Source port #
Redni broj (sequence number)
Redni broj za potvr|ivanje (ack number)
Destination port #
Du`inazaglavlja Extra Veli~ina prozora prijemnika
Internet checksum Pointer na urgent podatke
Opcije
P o d a c i
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 103/260
71/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Source port , i dest inat ion port :
Ident i f ikuju krajnje ta~ke konekci je. Svaki host mo`e da odlu~i kako }e vr{i t i dodelu
portova od 256 pa nadalje.
Sequence number i ACK number:
To su jedna od najva`ni j ih pol j u TCP segmentu. Ova polja igraju klju~nu ulogu u
post izanju pouzdanog TCP servisa. Pre nego {to vidimo kako se ova polja koriste
za post izanje prenosa, da vidimo {ta TCP stavl ja u ova polja.
TCP vidi podatke kao nizove bajtova. Redni brojevi ozna~avaju redne brojeve
prenet ih bajtova, a ne segmenata. Redni broj segmenta je jednak rednom broju
prvog bajta u datom segmentu. Razmotrimo jedan primer.
Pretpostavimo da proces na hostu A `el i da po{alje niz podataka procesu na
hostu B preko TCP konekci je. TCP u hostu A }e implic i tno numerisat i svaki bajt u
nizu podataka. Pretpostavimo da se niz podataka sastoj i od 500 000 bajtova, da
je maksimalna vel i~ ina segmenta 1000 bajtova, i da je prvi bajt podataka
numerisan sa 0. TCP }e konstruisat i 500 segmenata. Prvi segment dobija redni bro
0, drugi dobija redni broj 1000, tre}i 2000 i tako dalje. Ovi redni brojevi se ume}u
u polje seq number u zaglavl ju odgovaraju}eg TCP segmenta.
Razmotrimo sada ACK brojeve. Po{to je TCP ful l-duplex, ist i segment koj i prenos
podatke mo`e se iskorist i t i i za potvr|ivanje primljenih segmenata. ACK polje
sadr`i redni broj slede}eg bajta koj i se o~ekuje da se primi. Ako je npr: host A
primio sve brojeve od 0 do 999 iz B, on }e u ACK polju segmenta koj i {al je hostu
be upisat i 1000.
Postavl ja se pitanje {ta se de{ava ako u host A iz hosta B st igne prvi segment
(bajtovi od 0 do 999) pa tre}i segment (bajtovi od 2000 do 2999), t j . Ako st igne
segment van redosleda? Nigde se ekspl ic i tno ne ka`e {ta se tada de{ava. Jedna
vari janta je da se odbace svi segmenti koj i st ignu van redosleda dok se ne popun
sekvenca. Koja }e se vari janta korist i t i navodi se u polju >>opci je<<.
Jo{ jedan interesantan detal j ! Mi smo u primeru uzel i da se bajtovi numeri{u od 0
realno, obe strane slu~ajno odabiraju prvi redni broj bajta da bi se izbegla
eventualna konfuzi ja ako neki segment iz predhodne konekci je (sa ist im brojem
porta) jo{ kru`i kroz mre`u, pa da se on slu~ajno ne shvat i kao segment teku}e
konekci je koja ima iste >>IP Port #<< oznake .
Slede}a 4 bita:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 104/260
72/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Ozna~avaju du`inu zaglavl ja u 32-bitnim re~ima. Ova informaci ja je bitna jer
opciono polje mo`e bit i razl i~ i te du`ine. Ovo odre|uje u su{t ini gde po~inje pol je
podataka.
Slede}ih 6 bitova:
Se ne koriste (ostavl jeno je da se eventualno jo{ ne{to doda zaglavl ju, al i to do
danas ni je u~injeno.
URG Bit :
Ovaj bit je postavl jen na 1 ako se korist i urgent pointer. Urgent pointer se korist i
da uka`e na offset u bajtovima od teku}eg rednog broja do mesta gde se nalaze
urgentni podaci u segmentu. U praksi se ovo vrlo retko korist i . Urgentni podaci su
zamena za prekid.
ACK Bit :
Je postavl jen na jedinicu da uka`e da je ACK broj val idan. Tj . Da segment nos
potvrdu. Ako je ACK=0, segment ne nosi potvrdu, pa se polje ACK number
ignori{e.
PSH:
Ukazuje na >>push<< podatke t j . Podatke koj i moraju odma da se prenose nakon
pri jema iz aplikaci je, a ne da se baferuju i da se sa procesom ~eka dok se bafer
ne popuni. Ovo je u slu~ajevima kada se zahteva interakt ivni rad, kao npr telnet
sesi je i td . . .
RST bit :
Se korist i da resetuje konekci ju koja je postala konfuzna zbog pada hosta i l i nekog
drugog razloga. Korist i se i za odbacivanje neva`e}eg segmenta i l i kada se odbija
konekci ja.
SYN Bit :
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 105/260
73/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Se korist i da uspostavi konekci ju. Konekcioni zahtev ima SYN=1 i ACK=0. Odjava na
konekci ju ima SYN=1 i ACK=1. U su{t ini SYN bit se korist i da ozna~i CONNECTION
REQUEAST i CONNECTION ACCEPTED, pri ~emu se ACK polje korist i da bi se
napravi la razl ika izme|u nj ih.\
FIN Bit :
Se korist i za osloba|anje konekci je. On ka`e da izvor nema vi{e podataka da
slanje. Me|utim, posle zatvaranja konekci je proces mo`e da nastavi da prima
podatke.
SYN i FIN segmenti imaju redne brojeve i t ime se garantuje da }e oni bit
procesirani u korektnom redosledu.
Kontrola toka u TCP se ostvaruje pomo}u kl izaju}eg prozora (s l iding window). Pol je
vel i~ ine prozora ka`e kol iko bajtova mo`e bit i poslato po~ev od potvr|enog bajta
Vrednost WIN=0 je legalna i ka`e da su bajtovi do rednog broja ACK-a primljeni
al i da pri jemnik trenutno ne `el i da primi vi{e podataka. Dozvola za nastavak
slanja se mo`e poslat i kasni je slanjem segmenta sa ist im ACK brojem i WIN<>0.
INTERNET CHECKSUM:
Je CRC zaglavl je. Formira se na isti na~in kao kod IP.
Pol je opci je:
Omogu}ava da se defini{u dodatne opci je koje standardnim zaglavl jem nisudefinisane. Najva`ni ja je ona opci ja koja omogu}ava hostu da defini{e maksimalnu
mogu}u vel i~ inu segmenta koju on mo`e da prihvat i . Ef ikasni je je prenosit i du`e
segmente. U toku uspostavl janja konekci je svaka strana najavl juje svoj maksimum
Usvaja se manja vrdnost . Na internetu svi hostovi moraju da mogu da prihvate
20+536=556 bajtova
U polju opci ja mo`e da se specif ic ira selekt ivno ponavl janje i l i Go Bak N protoko
ako nastupi gre{ka.
.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 106/260
74/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Uspos tav l j an j e veze kod TCP
Veza se uspostavl ja 3-way handshake procedurom. Da bi se veza uspostavi la,
jedna strana, npr server pasivno ~eka izvr{avaju}i L ISTEN i ACCEPT primit ive.
Druga strana, kl i jent izvr{ava CONNECT primit ivu speci jal iz iraju}i IP adresu i port sa
koj im ho}e da uspostavi vezu, kao i maksimalnu vel i~ inu TCP segmenta koju mo`e
da prihvat i . CONNECT primit iva {al je TCP segment sa SYN=1 i ACK=0 i ~eka
odgovor.
Kada segment st igne u odredi{te, ako neki proces oslu{kuje (L ISTEN) dat i ort , TCP
mu prosle|uje segment. Proces mo`e da prihvat i i l i odbije vezu. Ako prihvat i vezu
{al je potvrdu. Ako se veza odbija {al je se segment sa RST=1.
Ako u kl i jent st igne segment potvrde konekci je, on {al je potvrdu sa SYN=0.
Ovo se mo`e videt i na slede}oj i lustraci j i :
ServerKlijentConnection requestsyn=1 seq=x , ACK=0)
Connection acceptedsyn=1 seq=y , ACK=x+1)
ACK
SYN=0, SEQ=x+1, ACK=y+1
Vreme Vreme
Raskidanje veze je simetr i~no. Svaki smer se zatvara posebno. Da bi se raskinula
veza, jedna od strana {al je segment FIN=1, {to zna~i da nema vi{e podataka za
slanje. Kada se FIN potvrdi, taj smer je zatvoren. Podaci mogu da se prenose u
drugom smeru. Kada se oba smera uga{ena, konekci ja je okon~ana.
TCP po l i t i ka s lan ja poruka
Pretpostavimo da pri jemnik ima 4096-bajtni bafer. Ako izvor po{alje 2048 bajtn
segment koj i je korektno primljen, pri jemnik }e potvrdit i segment. Me|utim, po{to
pri jemnik sada ima samo 2048 bajtova slobodnog prostora (dok aplikaci ja ne
pro~ita podatke), on }e promenit i prozor na 2048 (t j . WIN=2048).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 107/260
75/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Sada izvor po{alje narednih 2048 bajtova, koj i se potvr|uju, al i je sada WIN
popunjen i postavl ja se na 0. Izvor mora da se zautavi dok aplikat ivni proces u
odredi{tu ne ukloni podatke i oslobodi bafer. Kada se to desi, TCP u pri jemniku
pove]ava prozor na 2048 i {al je segment izvoru, {to mu omogu}ava da ponovo
po~ne sa slanjem.
Kada je WIN=0, izvor ne sme da {al je segmente sem u dva slu~aja. Prvo, ugra|en
podatak se mo`e poslat i , npr. Da dozvol i korisniku da ubije proces koj i se izvr{ava
na udaljenoj ma{ini . Drugo, izvor mo`e poslat i 1-bitni segment da bi nateraopri jemnika da ponovo po{alje ACK i WIN. Ovo je u~injeno da bi se izbeglo
blokiranje ako se desi da se izgubi segment koj i najavl juje novi WIN koj i je razl i~ i
od nule.
UDP (Use r da ta p ro toco l )
Pru`a beskonekcionu uslugu (servis ) apl ikat ivnim procesima. To zna~i da nema
inic i jat ivnog uspostvl janja veze t j . Nikakve handshake procedure. Zaglavl je UDPsegmenta se sastoj i od 8-nitova. Iza tog zaglavl ja dolaze podaci.
Source port # Destination port#
CRCDu`ina UDP
Zaglavlje UDP protokola
Brojevi izvornog i odredi{nog porta: imaju isto zna~enje kao i kod TCP-a t j . Treba
da ident i f ikuje krajnje ta~ke u komunikaci ju.
Du`ina UDP-a: je ukupna du`ina UDP segmenta ukl ju~uju}i i zaglavl je i podatke.CRC: se formira isto kao kod TCP
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 108/260
76/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Mul t i p l e ks i ran j e i demu l t i p l e ks i ran j e
Da bi razumeli za{to je va`na usluga mult ipleksiranja/demult ipleksiranja podset imo
se da IP razmenjuje podatke izme|u dva hosta, pri ~emu svaki host ima
jedinstvenu IP adresu, IP ne razmenjuje podatke izme|u aplikat ivnih procesa. To je
zadatak transportnog servisa MUX/DMUX.
U odredi{nom hostu, transportni nivo prima segmente sa mre`nog nivoa. Zadatak
transportnog nivoa je da ih pr eda odgovaraju}em aplikat ivnom procesu u hostu.
Razmotrimo ovakvu jednu situaci ju. Pretpostavimo da sedite za ra~unarom
downloadujete web stranice, dok izvr{avate jednu FTP i dve telnet sesi je. To zna~
da se na va{em ra~unaru izvr{avaju 4 mre`na aplikat ivna procesa. Kada
transportni nivo u va{em ra~unaruprimi podatke od mre`nog nivoa, potrebno je da
ih usmeri ka jednom od ova 4 procesa. Postavl ja se pitanje kako }e transportn
nivo znat i kom procesu da prosledi segmet. Svaki segment transportnog nivoa ima
polje koje sadr`i informaci ju koja se korist i da se ustanovi kom procesu segment
treba da se preda. Zadatak predaje paketa korektnom aplikat ivnom pocesu sezove demult ipleksiranje. Zadatak prikupl janja podataka u izvornom hostu od
razl i~ i t ih aplikat ivnih procesa se zove mult ipleksirnje.
Set imose one pri~e o Muju i Hasi. U toj porodi~noj pri~ i Mujo i Haso su obavl jal i te
funkci je. Kada prikupl jaju po{tu od bra}e i sestara i predaju je po{taru oni vr{e
mult ipleksiranje, a kada iz po{te donose pisma i dele ih bra}i i sestrama on
obvl jaju demult ipleksiranje.
Transportni protokoli u Internetu, TCP i UDP, obavl jaju zadatke MUX/DMUX tako {to
imaju dva polja u zaglavl ju segmenta:
Pol je broja izvori{nog porta (SP) i
Pol je broja odredi{nog porta (DP)
Zajedno ova dva polja na jedinstven na~in ident i f ikuju aplikat ivni proces koj i se
izvr{ava u odrdi{nom hostu. Broj porta je 16-bitni broj od 0 do 65535. Brojevi od
0 do 1023 su tzv. Dobro poznat i brojevi , rezervisani za dobro poznate aplikat ivne
protokole kao {to su NPR: HTTP — 80, FTP — 21, Telnet — 23. Kada razvi jamo novu
aplikaci ju mi joj moramo dodeli t i neki broj porta.
Za{to postoje dva polja (SP, DP) za brojeve portova? Odgovor: Host mo`e izvr{avat
dva procesa istog t ipa u isto vreme, pa broj porta aplikaci je ni je dovol jan da
ident i f ikuje proces. NPR: Web server mo`e opslu`ivat i vi{e HTTP procesa u isto
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 109/260
77/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
vreme, {to zna~i da izvr{ava vi{e procesa sa brojm porta 80. Da bi se jedinstveno
ident i f ikoval i procesi, potreban je i drugi broj.
Kako se kreira ovaj drugi broj? Koj i broj se stavl ja u SP polje a koj i u DP polje?
Podset imo se Kl i jent-server modela. Obi~no je host koj i inic ira aplikaci ju ozna~en
kao kl i jent , a drugi host je server.
Pretpostavimo da aplikaci ja ima port 23. Razmotrimo kako izgleda segment koj
pot i~e od kl i jenta. Koj i su brojevi izvornoh (SP) i odredi{nog porta (DP) za ova
segment. Za DP ovaj segment ima broj porta aplikaci je, t j . DP=23. Za SP kl i jent
korist i broj koj i ne korist i ni jedan drugi proces koj i se na njemu izvr{ava. Ovo se
radi automatski od strane software-a tranportnog nivoa i transparentno je za
projektanta aplikaci je. Aplikaci ja mo`e i ekspl ic i tno zahtevat i odre|eni broj porta
kori{}enjem BIND ( ) primit ive. Pretpostavimo da je kl i jent izabrao broj porta X
Tada }e svaki segment koji ovaj proces {alje imati broj izvori{nog porta postavl jen
na X, a odredi{nog na 23 (SP=x, DP=23). Kada segment st igne u server ovi brojev
}e omogu}it i serveru da preda segment korektnom aplikat ivnom procesu: Broj 23
ident i f ikuje Telnet proces, a broj X ident i f ikuje konkretan telnet proces.
Si tuaci ja je obrnuta kada segment ide od servera ka kl i jentu. Izvorni port je sada
port apl ikaci je, t j . 23 a odredi{ni port je X. Ovo je i lustrovano slede}om sl ikom.
Client Server
SP=X SP=23
DP=23 DP=X
[ta se de{ava ako dva razl i~ i ta kl i jenta uspostave Telnet sesi ju do servera i svak
kl i jent odabere ist i broj izvornog paketa, recimo X? Kako }e server znat i da
demult ipleksira dve sesi je koje imaju ist i broj porta? Odgovor je da server korist i IP
adrese u IP datagramu koj i prenosi ove segmente. Naime, kada odredi{ni HOST
primi podatke sa mre`nog nivoa, trojka ( IP Adresa, SP, DP) se korist i da se podaci
proslede odgovaraju}im procesima!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 110/260
78/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
Transportni protokol i u neku ruku podse}aju na protokole data-link nivoa. Naime
protokol i transportnog nivoa moraju da se bave kontrolom gre{aka, kontrolom toka
itd. Me|utim bitna razlka je ta {to na data-l ink nivou postoj i f iz i~ka veza t j
Komunikacioni kanal izme|u dva rutera, dok je kod transportnog nivoa ovaj f iz i~k
kanal zamenjen celom podmre`om.
Data-link nivo
Fizi~ki kanal
Ransportni nivo
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 111/260
79/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
TCP/IP model ................................................................................................................................................................ 1
Aplikativni Nivo .............................................................................................................................................................2
Klijenti i serveri .........................................................................................................................................................3
DNS.............................................................................................................................................................................4
Primer za DNS..........................................................................................................................................................7
DNS zapisi (DNS Records) ......................................................................................................................................8
Transportni nivo (Host-to-host nivo)....................................................................................................................... 10
Mre`ni nivo (IP nivo) .................................................................................................................................................. 10
Datalink nivo ............................................................................................................................................................... 10
Framing.....................................................................................................................................................................11
Kontrola gre{ke...................................................................................................................................................... 13
Bit parnosti: ............................................................................................................................................................. 13
Kontrolna suma bloka — BCC (Block Check Sum): .......................................................................................... 13
CRC (Cyclic Redundancy Code): .......................................................................................................................... 14
Tehnike potvrde prenosa ..................................................................................................................................... 17
ECHO tehnika:......................................................................................................................................................... 17
ARQ tehnka:............................................................................................................................................................ 17
Stop & wait protocol: ............................................................................................................................................ 18
Iskori{}enost kanala: ............................................................................................................................................ 20
Selektivna retransmisija ....................................................................................................................................... 22
Go back N: ............................................................................................................................................................ 24
Iskori{}enost komunikacionog kanala .............................................................................................................. 26
STOP & WAIT ......................................................................................................................................................... 29
Selectiv retransmition............................................................................................................................................ 29Go Back N ............................................................................................................................................................. 29
Zaklju~ak za razmatranja sa gre{kom: ........................................................................................................... 29
Verovatno}a nastajanja gre{ke ......................................................................................................................... 30
Protokoli data-link nivoa ..................................................................................................................................... 32
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 112/260
80/81 Ra~unarske mre`e (E lektronski Fakultet , Ni{) Marko Mil i~ i}
High Level Data Link Control .............................................................................................................................. 32
Vrste ramova: ........................................................................................................................................................ 33
PPP protokol........................................................................................................................................................... 35
Mre`ni nivo .................................................................................................................................................................37
Rutiranje paketa.................................................................................................................................................... 39
Princip optimalnosti .............................................................................................................................................. 40
Stati~ki algoritmi ..................................................................................................................................................... 41
Flooding Algoritam (bujica, poplava) ................................................................................................................ 42
Adaptivni algoritmi................................................................................................................................................ 42
Distance vector algorithm ................................................................................................................................... 43
Split horizon algoritam..........................................................................................................................................47
Link state algorithm.............................................................................................................................................. 48
Odre|ivanje novih puteva................................................................................................................................... 52
Link State Algoritam:............................................................................................................................................. 55
Mre@ni nivo INTERNETA - IP protokol ................................................................................................................... 56
IP Protokol .............................................................................................................................................................. 56
IP Adrese................................................................................................................................................................ 59
Internet Control Mesage Protocol...................................................................................................................... 60
ARP Protocol ...........................................................................................................................................................61
RARP — Reverse ARP............................................................................................................................................ 64
Transportni nivo......................................................................................................................................................... 65
Primitive transportnih servisa.............................................................................................................................. 68
TCP Protocol ............................................................................................................................................................... 69
Format TCP segmenta ..........................................................................................................................................70Uspostavljanje veze kod TCP ..............................................................................................................................74
TCP politika slanja poruka ...................................................................................................................................74
UDP (User data protocol) .....................................................................................................................................75
Multipleksiranje i demultipleksiranje ..................................................................................................................76
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 113/260
1/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
BEZBEDNOST MRE@E
Uvod
U prvih nekol iko deceni ja postojanja mre`e su uglavnom bile kori{}ene od strane
univerzi teta za razmenu e-maila, izme|u istra`iva~a, i za pristup {tampa~ima. Pod
ovim okolnost ima pitanju bezbednost i se ni je pridavala ve}a pa`nja. Me|utim
danas, kada mil ioni l judi koriste ra~unarske mre`e za obavl janje f inansi jskih
transakci ja, kupovinu, i td, bezbednost mre`e se pojavl juje kao vel ik i problem.
Bezbednost mre`e je {irok pojam. U svom najjednostavni jem obliku, bezbednos
podrazumeva da neovla{}ene osobe ne mogu ~itat i i l i jo{ gore, modif ikovat
poruke namenjene drugim osobama. Tako|e se odnosi na spre~avanje
neovala{}enog kori{}enja resursa. Ve}inu problema vezanih za bezbednost mre`e
uzrokuju zlonamerne osobe koje poku{avaju da izvuku neku korist na ra~un drugih
Problem bezbednost i mre`e se mo`e podeli t i na 4 oblast i koje se me|usobno
prepli}u:
Tajnost
Autent i f ikaci ja
Neporicanje
Kontrola ident i teta
Tajnost ima zadatak da sa~uva tajnost informaci je od neautorizovanih osoba
Autent i~nost ima zadatak da utvrdi verodostojnost osoba u~esnika u komunikaci j i
pre slanja poverl j iv ih informaci ja.
Neporicanje — jedna strana zahteva od druge da u~ini ne{to (npr transfer novca sajednog ra~una na drugi ) a zat im to pori~e. Takve stvari se nesmeju dozvol i t i
Postavl ja se pitanje kom protokolu pripada odgovornost za bezbednost mre`e. Na
nekol iko nivoa je mogu}e re{avat i ovaj problem. Svaki nivo mo`e da da svo
doprinos.
P r ime r i z a{ t i t e na r a z l i ~ i t im s l o j e v ima l e ye r - ima )
Na f iz i~kom nivou prenosne l ini je mogu bit i hermeti~ki zatvorene u cevima koje
sadr`e gas argon pod visokim pri t iskom. Svaki poku{aj da se prodre u cevoslobodi}e gas {to }e dovest i do smanjenja pri t iska i akt iviranja alarma. Neki vojn
sistemi koriste ovu tehniku.
Na data-l ink nivou paket i mogu bit i kodirani pri slanju i dekodirani pri pri jemu
izme|u dva ~vora. Me|utim, ako paket i na svom putu treba da pro|u kroz vi{e
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 114/260
2/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
rutera (a u svakom moraju da se kodiraju/dekodiraju) onda ruteri mogu postat
slaba ta~ka i meta zlonamernih napada.
Na mre`nom nivou mo`e se instal irat i f i rewall koj i vr{i f i l t r i ranje paketa, tako {to
nekim paket ima dozvol javaju prolaz, a nekim ne. Fi l t r i ranje se vr{i na osnovu IP
adrese.
Na t ransportnom nivou se mo`e izvr{i t i { i fr i ranje poruka koje se razmenjuju izme|u
krajnj ih ta~aka (host-host ) .
Me|utim, ni jedna od ovih tehnika ne re{ava problem autent i f ikaci je i neporicanja
Da bi se ovaj problem napao, r e{enje se mora potra`i t i na aplikat ivnom nivou.
Mehan i zm i za { t i t e - k r i p t og r a f i j a)
Kriptografi ja je proces prevo|enja informaci je u kodirani obl ik ({ i frovani tekst
kori{}enjem odre|enog algori tma i kl ju~a(nekog broja, tajne re~i i l i { i fre) . Ci l
kr iptografi je je za{t i t i t i privanost informaci ja. Proces kriptovanja se sastoj i od
algori tma i kl ju~a. Kl ju~ je vrednost koja je nezavisna od plaintext-a (originalnog
teksta koj i se kodira) . Ist i algori tam }e generisat i razl i~ i t iz laz u zavisnost i od
kl ju~a koj i se korist i . Kada je tekst {i fr i ran on se mo`e prenosit i . Po pri jemu
{ifrovani tekst se mo`e vrat i t i u originalnu informaci ju kori{}enjem algori tma za
de{ifrovanje i istog kl ju~a koj i je kori{}en za {ifrovanje. Na primer:
Ako je (X) poruka koju treba {ifrovat i , i neka je (K) kl ju~ za {ifrovanje, a (E
algori tam za {ifrovanje, tada proces {i frovanja mo`emo predstavi t i kao funkci ju
Y=EK (X) . (Y) je sada {ifrovani tekst koj i je ne~it l j iv u takvom obliku. Analogno ovom
postupku, de{ifrovanje }e se obavit i do slede}oj {emi: X=DK (Y ) . Jedina razl ika je u
tome {to je ovoga pu ta kori{}en algori tam za de{ifrovanje (D) umesto algori tma za
{ifrovanje (E ) .
Pode l a k r i p t og r a f s k i h s i s t ema
Mogu}e je izvr{i t i podelu kriptografskih sistema u odnosu na tr i nezavisna
kri teri juma (dimenzi je) .
U odnosu na t ip operaci ja koje se koriste za transformisanje informaci je
(plaintext-a) u {i frovani tekst . Svi algori tmi za {ifrovanje se zasnivaju na
dva osnovna principa. Ta dva principa su: Subst i tuci ja — kada se svak
element plaintext-a presl ikava u neki drugi element i Transpozici ja — kada
se vr{i preure|enje elemenata u plaintext-u. Fundamentalni uslov koj
mora bit i zadovol jen u ovim transformaci jama je da informaci ja ne sme
bit i izgubljena t j . da su sve operaci je 100% reverzibi lne.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 115/260
3/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
U odnosu na broj kl ju~eva koj i se koriste. Ako obe strane koriste ist i k l ju~
kriptografski sistem se naziva simetri~an kriptografski sistem . Ako po{i l jalac
i primalac koriste ral i~ i te kl ju~eve, sistem se naziva asimetri~an i l i s istem
sa 2 kl ju~a, i l i s istem sa javnim kl ju~em. Ovo je mogu}e zahval juju}
otkri}u da je mogu}e razvi t i algori tam koj i koris i jedan kl ju~ za {ifrovanje
a drugi za de{ifrovanje. Kl ju~ za {ifrovanje mo`e bit i javni, al i kl ju~ za
de{ifrovanje mora bit i privatni . Javni i privatni kl ju~ ~ine par kl ju~eva.
U odnosu na na~in procesiranja (obvrade) plaintext-a metode se dele na{ i f rovanje blokova — u jednom trenutku se {ifruje ceo blok i {ifr iranje
niza (s tream) — {i fr ira se svaki element sekvenci jalno.
Dob r i a l go r i tm i i K r i p t oana l i z a
To je poku{aj da se otkr ije X (or iginalna poruka, i l i kl ju~ K). Strategi ja koja se
korist i u kriptoanaliz i zavis i od {eme koja se korist i za {ifrovanje i raspolo`ivih
informaci ja. Najte`i slu~aj je ako je poznat samo {ifovan tekst . U nekim
slu~ajevima ni algori tam {ifrovanja ni je poznat. U op{tem slu~aju se ipak mo`e
uzet i da je kriptoanalizatoru poznat algori tam {ifr iranja.
Jedan od mogu}ih napada(poku{aja) je proba svih mogu}ih kl ju~eva. Ako je bro
kl ju~eva vel ik i , ovaj pri laz postaje prakt i~no neupotrebl j iv. Mogu}e je zat im da
kriptoanali t i~ar ima neki {i frovani tekst i njegov plaintext , pa da onda na osnovu
toga proba da otkri je kl ju~ za {ifrovanje.
Dobar algori tam za {ifrovanje treba da zadovol j i jedan i l i oba od slede}ih
kri teri juma:
Cena razbi janja {i frovanog teksta prevazi lazi vredno st {i fr irane informaci je
Vreme potrebno za razbi janje {i fre je du`e od vremena va`enja
informaci je.
U slede}oj tabl i je prikazano kol iko je vremena potrebno za razbi janje {i fre t j
pronala`enje kl ju~a, za razl i~ i te vel i~ ine kl ju~eva.
Vel i~ ina k lj u~a u b it ov ima Broj mogu}ih kl ju~eva Pot rebno v reme
32 4.33 x 109 35.8 min
56 7.2 x 10 1 6 1142 god.
128 3.4 x 1038 5.4 x 1024 god.
DES algori tam korist i k l ju~ du`ine 56 bitova.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 116/260
4/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Subs t i t u c i o ne t ehn i k e
Subst i tucione tehnike su tehnike kod koj ih se slovo plaintexta zamenjuje drugim
slovima i l i brojevima, i l i s imbolima. Ako se plaintext posmatra kao niz bitova, tada
subst i tuci ja podrazumeva zamenu grupe bitova grupom simbola.
Ceza r o v { i f r a t o r
Najstari j i i naj jednostavni j i { i frator koj i korist i subst i tuci ju je {i frator Jul i ja Cezara
Cezarov {i frator radi tako {to svako slovo rimskog alfabeta zamenjuje slovom koje
je 3 pozici je u desno udaljeno od njega u alfabetu.
Primet imo da se kod supst i tuci je slova vr{i l inearno pomeranje u desno za 3
mesta, tako iza Z ponovo dolazi A t j . Vr{i se rot iranje a ne {ifrovanje. Ako svakom
slovu dodelimo numeri~ki ekvivalent, tada algori tam mo`emo izrazi t i na slede}
na~in. Svako slovo plaintexta, p se zamenjuje sa slovom c u {ifrovanom tekstu na
slede}i na~in:
C = E(p) = (p+3) mod 26
Vrednost pomeraja mo`e bit i bi lo koja vel i~ ina (K) tako da Cezarov algori tam
mo`emo opisat i formulom:
C = E(p) = (p+k) mod 26 (Za K mora da vai da je izme|u 1 i 25)
Na osnovu ovoga, mo`emo napisat i algori tam de{ifrovanja kao:
P = D(c) = (c-k) mod 26
Ako se zna da je tekst {i frovan cezarovim algori tmom, tada se kriptoanaliza vr{metodom iscrpl j ivanja svih poku{aja. Dakle, vrlo je slaba za{t i ta, al i za to vreme
bilo je i tekako doba za{t i ta.
Tri va`ne karakterist ike ovog problema su nam omogu}i le da korist imo metod svih
mogu}ih poku{aja u kriptoanaliz i :
Algori tam {ifrovanja i de{ifrovanja nam je poznat
Ima samo 25 mogu}ih kl ju~eva
Jezik plaintext-a je poznat i lako se prepozna original od zbrke simbola.
U mnogim situaci jama, kada je re~ o komunikaci jama u ra~unarskim mre`ama
mo`emo smatrat i da nam je algori tam {ifrovanja i de{ifrovanja poznat. Ono {to
metod svih mogu}ih poku{aja u kriptoanaliz i ~ini neprakt i~nim je kori{}enje
algori tma sa vel ik im brojem kl ju~eva.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 117/260
5/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Tre}a karakterist ika je tako|e zna~ajna. Ako je jezik plaintext-a nepoznat, onda
prepoznavanje originala mo`e bit i vrlo te{ko, jer neznamo {ta tra`imo t j . {ta
ho}emo da proval imo.
P l a y f a i r - o v { i f r a t o r
Dobio je ime po Barno Playfair-u koj i je ovaj na~in {i frovanja uveo u bri tansk
Foreign Off ice (1854). To je algori tam {ifr iranja parova slova u tekstu parom slova
u {ifrovanom tekstu.
Algori tam se bazira na kori{}enju matrice slova dimenzi ja 5x5 konst i tuisane na
osnovu neke kl ju~ne re~i . Evo jenog primera te matrice. Ako je kl ju~na re~
MONARCHY, tada matrica izgleda ovako.
M O N A R
C H Y B D
E F G I/J K
L P Q S T
U V W X Z
Matrica se konst i tui{e popunjavanjem slova kl ju~ne re~i s leva u desno i od vrha
ka dole. Zat im se u ostatku matrice upi{u ostala slova u alfabetskom redosledu
Slova I i J se ra~unaju kao jedno slovo. Tekst se {i fr ira po dva slova po{tuju}i
s lede}a pravi la:
Teks t se del i na parove slova. Ista slova koja bi se na{la u jednom paru
se razdvajaju, tako da se re~ ballon del i na bal x lo x on .
Par slova koj i se javi u istoj vrst i matrice se zamenjuje slovom koje se
nalazi desno (cik l i~no u desno). Na primer: Ako se u nekoj re~i javi pa
slova AR, on se zamenjuje sa RM zato {to se ta slova dobijaju {i f tovanjem
(pogledajte tabl icu) .
Par slova koj i se nalazi u istoj koloni se zamenjuje slovom ispod, pri ~emu
se poslednje slovo u koloni zamenjuje prvim (cik l i~no). Na primer: MU se
zamenjuje u CM. Ovde se korist i is t i princip, samo {to se cik l i~no
pomeranje vr{i po kolonama.
U ostal im slu~ajevima svako slovo teksta se zamenjuje slovom koje se
nalazi u preseku vrste u kojoj se slovo nalazi i kolone u kojoj se nalaz
drugo slovo iz para. NPR: HS se smenjuje u BP.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 118/260
6/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Po{to ima 26 slova, postoj i 26x26=676 razl i~ i t ih parova slova {to ~ini ident i f ikaci ju
pojedinih parova mnogo te`om. Dalje, relat ivna u~estanost pojavl j ivanja pojedinih
slova u jeziku se mnogo lak{e otkri je nego u~estanost pojavl j ivanja parova. Ova
algori tam je kori{}en kao standard za vreme prvog svetskog rata u bri tansko
armij i i dosta ~esto u ameri~koj vojsci za vreme drugog svetskog rata.
T r an spo z i c i o ne t ehn i k e c i k - ca k ma t r i c e )
Ove tehnike se svode na neku vrstu permutaci je slova u originalnom tekstu
Najjednostavni ja metoda ovog t ipa je onaj kod koga se plaintext pi{e cik-cak po
dijagonalama. [i fr irani tekst se dobija ~i tanjem vrsta. Za kriptoanali t i~ara je
nala`enje plaintext-a iz ovog {ifrovanog teksta vrlo lak posao.
Komplikovanija {ema je da se poruka upisuje u jedan pravougaonik ( t j . Matricu
vrsta po vrsta, a {i frovana poruka se dobija ~i tanjem matrice po kolonama pr
~emu kolone mogu bit i permutovane. U tom slu~aju, redosled kolona postaje kl ju~
za algori tam. NPR:
Kl ju~: 4 3 1 2 5 6 7
Plaintext :
n a p a d o D
l o ` e n z a
d v a s a t a
p o p o d n e
Ukoliko se kolone permutuju po kl ju~u, a mi ih ~i tamo, dobi}emo:
P`apaesoaovonldpdnadoztndaae
^ist transpoziciono {ifrovani tekst se lako prepoznaje jer ima istu u~estanost
pojavl j ivanja slova kao i original. De{ifrovanje se svodi na upisivanje {i frovanog
teksta u mtricu i igranje sa rasporedom kolona matrice.
Transpozicioni {i frator mo`e bit i mnogo bezbednij i , ako se obavi vi{e puta. Kao
rezultat se dobija mnogo slo`eni ja permutaci ja koju je te{ko otkri t i . Tako, na gornj
tekst mo`e ponovo da se primeni transpozici ja, pa da se dobije:
Aodnpvnd`aptpodzaoaaendasloe
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 119/260
7/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
DES Da t a E n c r i p t i o n S t anda r d )
Ovo je t ipi~an primer modernog algori tma {ifr iranja. Ovaj algori tam korist i
supst i tuci ju i transpozici ju. Po~e}emo od pojednostavl jene verzi je DES alogori tma
da bi lak{e shvat i l i kako funkcioni{e. Ozna~imo ovaj algori tam kao S-DES
(simpli f ied-DES).
Algori tam {ifr iranja ukl ju~uje 5 funkci ja:
Inic i jalna permutaci ja ( IP)
Funkci ja fk koja obuhvata i subst i tuci ju i permutaci ju i zavis i od kl ju~a
Funkci ju permutaci je(swap) koja menja levu (L ) i desnu (D) polovinu
Funkci ja fk ponovo
Funkci ja permutaci je koja je inverzna inic i jalnoj permutaci j i IP
Ulaz za funkci ju fk su podaci koj i se {i fr iraju i 8-bitni kl ju~. Algori tam je mogao da
bude projektovan tako da radi sa 16-bitnim kl ju~em, koj i se sastoj i od dva 8-bitna
kl ju~a, po jednim za svaku primenu funkci je fk . Mogu}e je korist i t i is t i 8-bitni kl ju~u oba slu~ajua. Kompromis je na~injen da se korist i 10-bitni kl ju~ na osnovu kojeg
se generi{u dva 8-bitna podkl ju~a, kao {to je prikazano na slede}oj sl ic i :
IP
IP
Fk Fk
SW SW
Fk Fk
Inv(IP)
Inv(IP)
P10
Shift
P8
Shift
P8
K1 K1
K2 K2
8-bitni {ifrirane tekst 8-bitni {ifrirane tekst
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 120/260
8/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
U ovom slu~aju, kl ju~ se prvo permutuje funkci jom P10, zat im se primnjuje
shif tovanje. Iz laz iz shif t bloka prolazi kroz funkci ju permutaci je P8 koja generi{e
8-bitni podkl ju~ K1. Iz laz iz prvog {if t bloka se dovodi i na ulaz drugog {if t bloka,
a odat le na ulaz P8 permutacione funki je oda kle se dobija K2.
Koncizno bi smo mogli izrazi t i S-DES algori tam {ifr iranja kao kompozici ju onih 5
funkci ja o koj ima je bi lo re~i na po~etku:
IP f SW f IP k k
oooo 121−
gde je:
( )( )( )
( )( )( )( )~klju10pshiftshift8pK
~klju10pshift8pK
2
1
=
=
De{ifrovanje je proces inverzan {ifrovanju. Dakle, sve {to treba uradit i je primenit
svih 5 funkci ja inverznim redom.
Generisanje kl ju~eva u S-DES algori tmu. Iz 10-bitnog kl ju~a koj i je pozna
po{i l jaocu i primaocu, generi{u se dva 8-bitna podkl ju~a, K1 i K2. Procesgenerisanja kl ju~eva prikazan je na sl ic i :
P10
LS-1 LS-1
P8
LS-2 LS-2
P8
10
5 5
10
5 5
8
8
Ova sl ika otkriva kako se vr{i {i f tovanje.
Permutovanje 10-bitnog kl ju~a : Neka je 10-bitni kl ju~ ozna~en sa
(k1,k2,k3, . . . . . . ,k10) . Permutaci ja P10 je definisana kao: P10(k1,k2,k3, . . . . . . ,k10
= (k3,k5,k2,k7,k4,k10,k1,k9,k8,k6). Na primer: 1010000010 -> 1000001100
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 121/260
9/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Cikl i~no rotoranje : Primenjuje se cik l i~no pomeranje ulevo ( i l i rotaci ja) za 1
mesto prve i druge grupe od 5 bitova. Na primer:1000001100 ->
0000111001
Permutaci ja P8 koja uzima 8 bitova i permutuje ih po slede}em pravi lu
P8(k1,k2,k3, . . . . .k10) = (k6,k3,k7,k4,k8,k5,k10,k9). Rezultat je podkl ju~ k1. U
na{em primeru to je 10100100.
Svaka petorka bitova iz koraka -2- se cik l i~no pomera (rot ira) za 2 mesta
u levo, LS-2. U na{em primeru dobijamo: 0000111000 -> 0010000011
Sada se nad ovim nizom bitova primenjuje P8 i dobija se podkl ju~ K2. U
na{em primeru K2=01000011.
P r o c e s S -DE S { i f r i r an j a
Kao {to smo rekl i {i fr i ranje ukl ju~uje primenu 5 funkci ja. Evo kako su te funkci je
definisane.
Inic i jalna IP i poslednja inv IP) :
Ulaz je 8-bitni plaintext koj i se permutuje pomo}u IP funkci je IP(p1,p2,p3,. . . .p8) =
(p2,p6,p3,p1,p4,p8,p5,p7). Na kraju primene algori tma primenjuje se odgovaraju}a
permutaci ja koja je inverzna permutaci j i IP. Dakle, invIP(p1,p2,p3,. . . . ,p8) =
(p4,p1,p3,p5,p7,p2,p8,p6).
Funkci ja fk:
Najslo`eni j i deo algori tma je funkci ja fk koja se sastoj i od kombinaci je funkci ja
permutaci je i subst i tuci je. Funkci ja fk se mo`e opisat i na slede}i na~in. Ozna~imo
sa L i R prva 4 bita i poslednja 4 bita 8-bitnog ulaza u funkci ju fk. Zat im
ozna~imo sa F presl ikavanje 4-bitnog niza i 4-bitni niz. Tada fk mo`emo definisat
na slede}i na~in:
( ) ( )( )R,Sk ,RFLR,Lf k ⊕=
Ovde je SK podkl ju~ (k1 i l i k2) a zaokru`eni plus je logi~ka XOR operaci ja. NPR
Neka je iz laz iz IP stepena L=1011 R=1101. Tada je za neki kl ju~ SK ->
F(1011,SK)=(1110) . Na osnovu svega ovoga, mo`emo da napi{emo funkci ju fk kao:
( ) ( ) ( )010111011101,111010111101,1011f k =⊕=
Funkci ja F:
Ulaz je 4-bitni broj (n1,n2,n3,n4). Prva operaci ja je ekspanzi ja sa permutaci jom
definisana kao:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 122/260
10/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
EP(n1,n2,n3,n4) = (n4,n1,n2,n3,n2,n3,n4,n1) .
Sada se 8-bitni podkl ju~ K1=(k11,k12,k13,k14,k15,k16,k17,k18) sumira po modulu 2
(XOR-uje se) sa gornj im nizom bitova na slede}i na~in:
18k 1n,17k 4n,16k 3n,15k 2n,14k 3n,13k 2n,12k 1n,11k 4n ⊕⊕⊕⊕⊕⊕⊕⊕
Ozna~imo sada dobijeni rezultat sa:
13p,12p,11p,10p,03p,02p,01p,00p
Sada se prva ~et ir i bi ta uvode u S-box S0 odakle se dobija dvo-bitni iz laz, a
druga 4 bita se uvode u S-box S1, odakle se tako|e dobijaju 2 bita. Box-ovi S0 i
S1 su definisani na slede}i na~in:
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
3012
0103
3102
3210
1S
2313
0120
0123
2301
0S
S-boxovi rade na slede}i na~in: Prvi i ~etvrt i bi t ulaza (p00 i p03 {to se t i~e S0 p10 i p13 {to se t i~e S1) se tret iraju kao 2 bitni brojevi koj i defini{u vrstu S-boxa, a
drugi i tre}i bit defini{u kolonu S-boxa. Element u preseku vrste i kolone
odgovaraju}eg S-boxa predstavl ja 2-bitni iz laz (ekvivalent se predstavl ja u
binarnom obliku) .
NPR: ako je (p00,p03)=00 i (p01,p02)=10 tada je selektovana vrsta 0 i kolona 2
Odgovaraju}i element je 3 t j . 11 u binarnom sistemu je 3 u dekadnom. Apsolutno
se ista strategi ja primenjuje za S-box S1.
Zat im se dobijena 4 bita iz S0 i S1 permutuju po formuli :
P4(n1,n2,n3,n4) = (n2,n4,n3,n1)
Iz laz iz P4 je funkci ja F.
SW Switch) funkci ja:
Funkci ja deluje samo na prva 4 bita ulaza. SW funkci ja zamenjuje mesta ovim
~etvorkama bitova, tako da druga ~etvorka postaje prva i obratno, pa druga
primena funkci je fk sada deluje na nova ~et ir i bi ta. Druga primena fk korist i k l ju~K2. Za razl iku od upro{}enog DES algori tma DES algori tam radi na slede}i na~in
DES radi sa 64-bitnim blokovima podataka. Korist i 56-bitni kl ju~ i generi{e 16 48-
bitnih podkl ju~eva. Proces {i frovanja se mo`e opisat i kao:
IPf SW....................................................................SWf SWf IP 1k 15k 16k 1
oooooooo−
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 123/260
11/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
A l go r i tm i s a j a vn im k l j u ~ em as ime t r i ~ n i a l go r i tm i )
Is tori jski posmatrano, problem distr ibuci je kl ju~a je uvek bio najslabi ja karika u
kriptosistemima. Bez obzira kol iko je jak kriptosistem, ako ul jez ukrade kl ju~, sistem
je beskoristan. Po{to su kl ju~ za {ifr iranje i de{ifrovanje ist i ( i l i se bar jedan mo`e
izvest i iz drugog) i moraju se distr ibuirat i svim korisnic ima, postoj i problem: kl ju~
mora bit i za{t i}en od kra|e i u isto vreme distr ibuiran.
1976. godine dva istra`iva~a sa Stanford Univerzi teta, predlo`i l i su radikalno novu
vrstu kriptosistema. Sistem kod koga kl ju~ za {ifrovanje i de{ifrovanje nisu ist i , a
kl ju~ za de{ifrovanje se ne mo`e izvest i iz kl ju~a za {ifrovanje. U nj ihovom
predlogu algori tam za {ifrovanje (E ) i algori tam za de{ifrovanje (D), moraju da
zadovol javaju slede}e zahteve:
1. Mora da bude reverzibi lno {i fr iranje: D(E(p) ) = p
2. Mora bit i izuzetno te{ko da se na osnovu D prona|e E algori tam.
Ako primenimo algori tam D na kriptovanu poruku E(p) , moramo dobit i originaln
plaintext (p) . Pod ovim uslovima, ne postoj i razlog da kl ju~ za {ifrovanje bude
tajni , t j . on mo`e bit i javni.
Metod radi na slede}i na~in. Osoba, recimo Ana, koja `el i da primi tajnu poruku
prvo odabira dva algori tma, Ea i Da, koj i zadovol javaju navedene kri teri jume
Zatim se algori tam i kl ju~ za {ifrovanje (Ea i Ka) obelodane. Ovo mo`e da se urad
tako {to se oni zapamte u faj l koj i mo`e da pro~ita ko god `el i . Algori tam i kl ju~
za de{ifrovanje (Da i Ka) ostaju u tajnost i .
Da vidimo kako se sada mo`e uspostavi t i pouzdani kanal za komunikaci ju izme|u
dve osobe, A i B (Ana i Marko), koje rani je nisu nikada komunicirale. Pri tome
usvajamo da su kl ju~evi za {ifrovanje obe osobe, Ea i Eb javno dostupni. Sada
osoba A (Ana) uzima svoju prvu poruku, P, {i fr ira je algori tmom Eb(p) i {al je je
osobi B. Primet imo da je Ana korist i la algori tam za {ifr iranje osobe B (Marka) a ne
svoj! Osoba B zat im de{ifruje poruku koriste}i svoj privatni kl ju~ i algori tam za
de{ifrovanje Db, t j . Izra~una Db(b(p) ) = p.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 124/260
12/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
RSA a l go r i t am
Jedini problem je na}i algori tme koj i zadovol javaju sva tri kr i ter i jumka. Zbog svoj ih
prenost i u odnosu na tradicionalnu kriptografi ju, mnogi istra`iva~i su se anga`oval
na pronala`enju algori tama sa javnim kl ju~em.
Jedan dobar metod je otkri la grupa istra`iva~a sa M.I .T Univerziteta 1978. godine
On je poznat pod nazivom RSA, koj i pot i~e od inic i jala tr i istra`iva~a (Rivest ,
Shamir, Adleman). Nj ihov metod se zasniva na nekim principima iz teori je brojeva.
Koraci su slede}i:
Odabrat i dva vel ika prosta broja, p i q
Izra~unat i n kao proizvod: n = pxq i z kao proizvod z = (p -1)(q -1)
Izabrat i broj d, relat ivno prost u odnosu na z
Na}i e, tako da va`i exd = 1 mod z
Sa ovako odre|enim parametrima, spremni smo za {ifr iranje. Dalj i koraci su
slede}i:
Podel i t i plaintext na blokove vel i~ ine k bitova, pri ~emu je k najve}i broj za
koj i va`i da je 2 k <n.
[i fr irana poruka c se dobija kao: C=pe mod n
Da bi se de{ifrovala poruka potrebno je izra~unat i P=Cd mod n
Mo`e se pokazat i da su za svako P iz opsega 0<=p<=n, funkci je {i frovanja
de{ifrovanja inverzne. Dakle, da bi se obavi lo {i frovanje potrebno je znat i e i n, a
da bi se obavi lo de{ifrovanje potrebno je znat i d i n. Prema tome, javni kl ju~ se
sastoj i od para (e,n) a privatni od para (d,n) .
Bezbednost metoda se zasniva na te{ko}ama vezanim za faktorisanje vel ik ih
brojeva. Ako bi kriptoanali t i~ar mogao da faktori{e t j . Prona|e proste ~inioce broja
n, on bi mogao da na|e p i q, a na osnovu nj ih z.
Sa poznavanjem z i e (koj i je javni ) mo`e se prona}i d. Na sre}u, matemati~ari ve}300 godina poku{avaju da prona|u metod za faktorisanje vel ik ih brojeva, a
iskustvo govori da je to veoma te`ak i dugotrajan posao. Tako na prmer
faktorisanje broja od 200 cifara zahteva 4 mil i jarde godina ra~unarskog vremena
Za 500-cifreni broj potrebno je 1023 godina pod pretpostavkom da se korist
najbol j i poznat i algori tam i da se 1 instrukci ja izvr{ava za 1 mikrosekundu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 125/260
13/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
P r ime r za RSA
Evo jednog tr ivi jalnog primera RSA algori tma koj i je odabransamo i lustraci je radi
Neka je p=3 i q=11 (p i q moraju bit i prost i brojevi ) . Izra~unavamo da je
n=pxq=33, z=2x10=20. Za vrednsot d se mo`e uzet i 7, jer 7 i 20 nemaju
zajedni~kih ~ini laca. Sa ovakvim izborom d-a, e se mo`e izra~unat i iz:
(7e) mod 20 = 1 -> e=3
[ifrovani tekst C za plaintext p se dobija iz:
C=P3 mod 33
De[ifrovanje se dobija iz:
P=C7 mod 33
Po{to smo odabral i p i q da budu mali brojevi , P mora bit i manje od 33, pa svak
blok plaintext-a sadr`i samo jean karakter (s lovo). Kao rezultata se dobija
monoalfabetski subst i tucioni {i frator, {to i ni je ne{to naro~ito impresivno. Da smo
odabral i p i q reda vel i~ ine 101 00
n bi bi lo reda 10200
, pa bi svaki blok mogao dabude vel i~ ine 664 ( jer je 2 664 pribl i`no jednako 10200 ) i l i 83 8-bitna karaktera.
Iako je veoma mo}an, RSA algori tam se uglavnom korist i za distr ibuci ju tajnih
kl ju~eva za DES i l i s l i~ne algori tme.
RSA je veoma spor za kriptovanje ve}e kol i~ ine podataka.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 126/260
14/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
PROTOKOL I ZA AUTENT I F I KAC IJU
Autent i f ikaci ja je tehnika pomo}u koje proces veri f ikuje da l i je njegov
komunikacioni partner zaista onaj koj i treba da bude, a ne neki la`ni. Ovaj proces
dokazivanja autent i~nost i je veoma slo`en i zahteva kompleksne protokole
zasnovane na kriptografi j i . Ne treba me{at i autorizovanost i autnt i f ikaci ju
Autent i f ikaci ja je dokaz verodostojnost i procesa i l i osobe a Autorizovanost zna~
pravo pristupa t j . pravo da se u~ini ne{to. Evo jednog primer. Kl i jent proceskontakt ira server i ka`e: >>Ja sam Markov proces i `el im da obri{em faj
cookbook.old<<. Sa ta~ke gledi{ta faj l servera, treba odgovori t i na dva pitanja:
Da l i je to zaista Markov proces (autent i f ikaci ja) i
Da l i Marko ima pravo da obri{e Cookbook.old (autorizaci ja)
Samo ako je na oba pitanja odgovor DA, mo`e se izvr{i t i zahtevana akci ja. Kada
faj l server utvrdi autent i~nost , autorizaci ja se lako proverava jednostavnimpretra`ivanjem lokalne tabele. Zbog toga }emo se skoncentrisat i na problem
autent i f ikaci je.
Mehan i z am au t en t i f i k a c i j e
Op{t i model koj i svi protokol i za autent i f ikaci ju koriste je slede}i. Inic iraju}i korisnik
(realno mo`e bit i i proces), recimo Ana `el i da uspostavi bezbednu konekci ju sa
drugim korisnikom, Markom. Marko je bankar sa koj im Ana `el i da posluje. Ana
otpo~inje komunikaci ju tako {to {al je poruku i l i Marku i l i poverl j ivom centru za
distr ibuci ju kl ju~a (KDC), koj i je uvek po{ten. Zat im sledi razmena nekol iko poruka
u oba smera. Dok se ove poruke razmenjuju, zlo~est i ul jez Miroslav I l i} , mo`e
presrest i te poruke modif ikovat i ih da bi Ana i Marko bi l i prevareni i l i samo da b
im upropast io posao. Ipak, kada se protokol okon~a Ana je sigurna da razgovara
sa Markom i Marko sa Anom.
Au t en t i f i k a c i j a za sno vana na za j edn i ~ k om t a j nom k l j u ~ u
Za po~etak pretpostavimo da Ana i Marko ve} poseduju tajni kl ju~ Kab. On je
mogo bit i dogovoren telefonom il i l i~nim kontaktom, al i nikako preko nesigurne
mre`e. Ovaj protokol se bazira na principu koj i se sre}e u mnogim protokol ima a
to je: Jedna strana {al je slu~ajno odabrani broj drugoj koja vra}a rezultat . Takv
protokol i poznat i su pod nazivom (izazov-odgovor) protokol i .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 127/260
15/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
U ovom protokolu korist i}emo slede}e oznake:
A,B - su oznake za Anu i Marka
Ri — su izazovi, pri ~emu indeks i o zna~ava izaziva~a ( indeksi mogu bit i a i l i b)
Ki — su kl ju~evi , gde i ozna~ava vlasnika
Ks — kl ju~ sesi je
Sada }u opisat i kako te~e razmena poruka u ovom protokolu za autent i f ikaci ju. U
prvoj poruci, Ana {al je svoj ident i tet (A) Marku tako da on to razume. Marko,
naravno nema na~ina da zna da l i ova poruka stvarno dolazi od Ane i l i od ul jeza
Miroslava I l i}a. Zato on bira izazov, vel ik i slu~ajni broj Rb i {al je ga u poruci 2
Ani. Ana zat im {ifr ira poruku pomo}u kl ju~a koj i del i sa Markom i {al je {i frovan
tekst KAB (RB ) koj i se zove odgovor. Ovo je poruka broj 3. Kada Marko vidi ovu
poruku, on zna da ona zaista pot i~e od Alise, jer Miroslav I l i} ne zna tajni kl ju~
KAB . Tako|e, po{to se Rb bira slu~ajno malo je verovatno da je Miroslav I l i} mogao
rani je da >>ulovi<< Rb i odgovor na Rb.
Za sada je samo Marko siguran da razgovara sa Anom, al i Ana ni je sigurna da
razgovara sa Markom. Zato tada Anaa {al je izazov Ra u poruci broj 4 Marku.
Marko {ifr ira Ra zajedni~kim kl ju~em KAB , KAB (Ra) i vra}a {ifr irani tekst u poruci bro
5. Kada primi ovu poruku i Ana je sigurna da razgovara sa Markom.
Ako `ele da uspostave poseban kl ju~ samo za ovu konekci ju (sesi ju) Ana mo`e da
odabere kl ju~ Ks i da ga {ifr ira sa KAB (KS ) i po{al je Marku. nakon toga se u
komunikaci j i za {ifrovanje i de{ifrovanje korist i k l ju~ Ks.
Uspos t a v l j a n j e za j edn i ~ k og t a j n og k l j u ~ a
— D i f f i e -he l lmano v p r o t o k o l
Do sada smo pretpostavl jal i da Ana i Marko ve} poseduju zajedni~ki tajni kl ju~
Me|utim, {ta ako ga nemaju? Diff ie-Hellmanov protokol (1976) omogu}ava da se
uspostavi zajedni~ki tajni kl ju~. Evo kako ova j protokol funkcioni{e:
Ana i Marko treba da izaberu dva vel ika prosta broja, n i g , za koje va`
da su i n-1)/2 i g-1)/2 tako|e prost i brojevi . Ovi brojevi mogu bit i javni.
Sada Ana bira vel ik i broj, recimo X, i ~uva ga kao tajni
Tako|e, Marko bira Y i ~uva ga kao tajni broj
Ana inic ira protokol za razmenu kl ju~a tako {to {al je Marku poruku koja
sadr`i (n, g, gX mod n).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 128/260
16/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Marko odgovara tako {to {al je poruku koja sadr`i (g Y mod n).
Sada Ana uzima broj koj i je dobila od Marka i di`e ga na stepen X, t j .
Izra~unava: ( ( gY mod n)X ) mod n
Marko sl i~no radi sa porukom koju je dobio od Ane: ( ( gX mod n)Y ) mod n
Po zakonima moduo ari tmet ike oba izra~unavanja da}e ist i rezultat : g XY
mod n, koj i predstavl ja tajni kl ju~ za {ifrovanje i d e{ifrovanje.
Miroslav I l i} je naravno video ove poruke. On zna g i n iz prve poruke. Ako bmogla da izra~una x i y, mogla bi da otkri je tajni kl ju~. Problem je u tome {to
poznavanje samo g
X
mod n ni je dovol jno da se odredi x. Ne postoj i ni jedan
algori tam koj i bi na osnovu g X mod n mogao da odredi x. Ovo }e najbol je bit
i lustrovano primerom:
P r ime r za D i f f i e -He l lmano v p r o t o k o l
Neka je n=47 i g=3
Neka Ana odabere x=8, a Marko y=10Ana {al je (47,3,28), jer je 38 mod 47 = 28
Marko {al je Ani 310 mod 47 = 17
Sada Ana ra~una 178 mod 47 = 4, a Marko ra~una 28 1 0 mod 47 = 4
ANA I MARKO SU NEZAVISNO ODREDILI TAJNI KLJU^ 4
Ipak, postoj i problem sa ovim protokolom. Naime, kada Marko primi trojku (47, 3
28) kako on zna da ju je poslala Ana a ne Miroslav I l i}? Na `alost , ne postoj i
na~in da to otkri je i Miroslav I l i} mo`e iskorist i t i ovo da prevari i Anu i Marka.
Dakle, dok Ana i Marko biraju svoje brojeve x i y, Miroslav I l i} mo`e odabrat i svo
broj z. Ana {al je poruku 1 Marko. Miroslav I l i} je presre}e i umesto nje {al je
poruku 2 Marku, koriste}i korektne n i g (koj i su ionako javni ) , al i sa svoj im z
umesto x. On tako|e {al je poruku 3 Ani. Kasni je Marko {al je poruku 4 Ani, koju
Miroslav I l i} ponovo presre}e i zadr`ava. Sada svi obavl jaju izra~unavanja. Ana
izra~unava tajni kl ju~ kao g
XZ
mod n , {to ~ini i Miroslav I l i} za poruku primljenu odAne. Marko ra~una g
YZ
mod n i Miroslav I l i} za poruku p rimljenu od Marka. Na ta
na~in Ana i Marko su uspostavi l i tajni kl ju~ sa Miroslavom Il i}em. Sada sva
komunikaci ja izme|u Ane i Marka ide preko zlo~estog Miroslava koj i mo`e svaku
poruku modif ikovat i kako `el i i poslat i Marku i l i Ani. Ova vrsta napada poznata je
pod nazivom woman-in-the-middle attack .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 129/260
17/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Au t en t i f i k a ci j a k o r i { }en j em Cen t r a za d i s t r i b u c i j u k l j u ~ a KDC-a )
Druga vari janta za uspostavl janje tajnog kl ju~a je kori{}enje KDC. U ovom modelu
svaki korisnik ima kl ju~ koj i del i samo sa KDC. Autent i f ikaci ja i uspostavl janje
kl ju~a za sesi ju izme|u korisnka sada ide preko KDC.
Najjednostavni j i KDC protokol ukl ju~uje dve strane i poverl j iv i KDC. Ideja je
jednostavna. Ana bira kl ju~ za sesi ju sa Markom, Ks i ka`e KDC da `el i da pri~a
sa Markom kori{}enjem kl ju~a Ks. Ova poruka se {ifr ira tajnim kl ju~em koj i Ana
deli samo sa KDC, Ka.
Ana {al je poruku KDC-u: = A,Ka(B,Ks)
KDC de{ifruje ovu poruku i iz nje izvla~i Markov ident i tet , B, i kl ju~ za
sesi ju, Ks.
Kat im KDC konstrui{e novu poruku koja sadr`i Anin ident i tet , A, kl ju~ Ks
ona se {ifr ira kl ju~em Kb koj i Marko del i samo sa KDC, t j . Kb(A,Ks)
Kada Marko de{ifruje ovu poruku, on ustanovl java da Ana `el i da
komunicira sa nj im kori{}enjem kl ju~a Ks.
Bezbednost metode se zasniva na poverl j ivom KDC. KDC zna da poruka 1
mo`e do}i samo od Ane. Sl i~no, Marko zna da poruka 2 mo`e st i} i samo
od KDC.
Au t en t i f i k a i j a k o r i { } en j em k r i p t og r a f i j e s a j a vn im k l j u ~ em
Uzajamna autent i f ikaci ja se mo`e obavit i i uz pomo} kriptografi je sa javnimkl ju~em. Pretpostavimo da Ana i Marko znaju javne kl ju~eve jedno drugog. On
`ele da uspostave sesi ju a zat im da koriste {i fr iranje tajnim kl ju~em za tu sesi ju
jer je ona 100 do 1000 puta br`a od kriptografi je sa javnim kl ju~em.
Svrha inic i jalne razmene poruka je da se izvr{i autent i f ikaci ja i dogovori tajni kl ju~
za dalju komunikaci ju. Sada }u opisat i jedan od ovih metoda.
Ana po~inje komunikaci ju tako {to {i fr ira svoj ident i tet , A, i slu~ajni broj Ra
kori{}enjem Markovog javnog kl ju~a Eb, t j . Eb(A,Ra). Kada Marko primi poruku on
ne zna da l i ona pot i~e od Ane i l i Miroslava I l i}a, al i {al je natrag poruku koja
sadr`i Anin Ra(slu~ajni broj ) , njegov sopstveno odabrani slu~ajni broj, Rb,
predlo`eni kl ju~ za sesi ju Ks i sve to {i frovano Aninim javnim kl ju~em, Ea t j
Ea(Ra,Rb,Ks) .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 130/260
18/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Kada Ana primi poruku 2, ona je de{ifruje uz pomo} svog tajnog kl ju~a. Ona
prepoznaje Ra u poruci. Ova poruka mora do}i od Marka jer Miroslav I l i} nema
na~ina da odredi Ra.
Ana {al je poruku 3 Marku {ifrovanu predlo`enim kl ju~em Ks, t j . Ks(Rb). Kada Marko
primi ovu poruku on zna da je Ana primila poruku 2 i veri f ikuje Ra.
[ta mo`e da uradi zlo~est i Miroslav I l i} ovde? On mo`e da generi{e poruku 1
poku{a da prevari Markaa da je on Ana, al i kada Ana primi Ra ona zna da ga
nije ona generisala i odbija zahtev. Miroslav ne mo`e fals ikovat i poruku 3
o~igledno, jer on ne zna Rb i l i Ks koje ne mo`e odredit i bez Aninog privatnog
kl ju~a.
D i g i t a l n i po t p i s
Autent i~nost mnogih pravnih, f inansi jskih i drugih dokumenata se veri f ikuje
potpisom odgovaraju}e osobe. Za prenos takvih dokumenata kroz mre`u mora se
na}i re{enje koje }e zamenit i l i~ni potpis. U su{t ini ono {to je potrebno, je sistem
pomo}u kojeg jedna strana mo`e poslat i potpisanu poruku drugoj strani, tako da:
Primalac mo`e veri f ikovat i po{i l jaoca
Po{i l jalac ne mo`e kasni je poricat i sadr`aj p oruke
Pri jemnik ne mo`e sam izmisl i t i poruku
Kriptografske metode sa javnim kl ju~em se mogu iskorist i t i za re{enje ovog
problema. Industr i jski standard je digi talni potpis baziran na RSA algori tmu.
Pretpostavimo da algori tam za {ifr iranje i de{ifrovanje sa javnim kl ju~em ima
slede}u osobinu:
E(D(p) ) = p
Pored uobi~ajene
D(E(p) ) = p
RSA algori tam ima upravo tu osobinu. Ako je to tako, Ana mo`e poslat i Marku
potpisani tekst , P, tako {to }e poslat i poruku
Eb(Da(p) ) ,
Gde je Da — Anin tajni kl ju~ za de{ifrovanje, a
Eb — Markov javni kl ju~ za {ifrovanje.
Kada Marko primi ovu poruku on je transformi{e koriste}i svoj privatni kl ju~, Db t j .
Db(Eb(Da(p) ) ) = Da(p),
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 131/260
19/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Marko zat im zapamti ovaj tekst na bezbedno mesto i de{ifruje ga kori{}enjem
Aninog javnog kl ju~a, Ea t j .
Ea(Da(p) ) = p,
Tj . Dobija izvorni tekst, p.
Da bi se uveri l i da ovo zaista korektno funkcioni{e, pretpostavimo da Ana kasni je
pori~e da je poslala tekst P, Marku. Kada slu~aj do|e na sud, Marko }e kao dokaz
imati P i Da(p). Sud }e na osnovu toga mo}i da ustanovi da Marko ima zaista
va`e}u poruku, P, koja je {i frovana Aninim tajnim kl ju~em (Da) jednostavnom
primenom Aninog javnog kl ju~a Ea t j .
Ea(Da(p) ) = p.
Zakl ju~ak: Po{to Marko ne zna tajni Anin kl ju~ (Da) jedini na~in da do|e do poruke
koja je {i frovana sa Da je da je zaista tu poruku napisala Ana.
F i r ewa l l — Be zbednosn i z i d
Firewall je kombinaci ja hardwera i softwera koja izoluje lokalnu mre`u jedne
organizaci je od interneta, tako {to dozvol java i l i ne dozvol java prolazak paketa
ka/iz lokalne mre`e.
Organizaci je koriste f irewall-ove zbog nekog od slede}ih razloga:
Da spre~e ul jeze da naru{e operat ivnost i raspolo`ivost interne mre`e
Konkurenci ja, i l i neki haker `el jan zabave mo`e napravit i pusto{ u
neza{t i}enoj mre`i. Kod napada t ipa odbijanje usluge (DOS — Denial ofService) ul jez mo`e okupirat i kri t i~ne mre`ne resurse, tako da mre`a ne
mo`e da pru`i o~ekivane usluge. Primer ovakvog napada je takozvana SYN
poplava, kod kojeg napada~ {al je TCP segmente za odre|eni host . Host po
pri jemu svakog TCP segmenta odvaja baferski prostor (deo memori je) za
svaku konekci ju, i za nekol iko minuta ceo baferski prostor }e bit i okupiran
i ne}e bit i mesta za prave konekci je npr. Od strane mu{teri ja.
Da spre~e brisanje i l i modif ikaciu informaci ja zapam}enih u lokalnoj mre`i
NPR. Napada~ mo`e poku{at i da pristupi web serveru i promeni zvani~n
web sajt organizaci je. Rezultat i ovog napada bi}e vidl j iv i za nekol iko
minuta hi l jadama l judi. Napada~i, tako|e mogu poku{at i da do|u do
informaci ja o platnim i l i kreditnm kart icama sa web servera koj i podr`ava
elektronsko poslovanje.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 132/260
20/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Da spre~e ul jeze da pristupe poverl j iv im informaci jama. Mnoge
organizaci je imaju zapam}ene poverl j ive informaci je u ra~unarima —
poslovne tajne, razvojne planove a nove proizvode, market in{ke strategi je,
informaci je o zaposlenima, f inansi jske analize i td . . .
Naj jednostavni j i Firewall sadr`i f i l ter paketa a mo}nij i i f i l tere aplikaci ja t j
Apl icat ion gateways.
F i l t r i r an j e pake t a
Svaka organizacja sadr`i najmanje jedan ruter preko kojeg se lokalna mre`a
povezuje na internet preko internet provajdera. Sav saobra}aj iz lokalne mre`e ka
spoljnjem svetu i obrnuto, prolazi kroz taj ruter. Ve}ina proizvo|a~a rutera
obezbe|uje opci ju za fi l t r i ranje. Kada se ove opci je ukl ju~e, ruter postaje i f i l ter
Kao {to samo ime ka`e fi l ter dozvol java da neki paket i pro|u a neki ne kroz f i l ter
Kri teri jumi na koj ima se zasniva fi l t r i ranje naj~e{}e se baziraju na:
IP adresi - paket ima sa odre|enom IP adresom mo`e bit i zabranjen pro laz
Na IP adresi odredi{ta (mo`e bit i zabranjeno slanje paketa na odredi{ne IP
adrese.
Na broju izvornog i odredi{nog porta. (Na svakom ra~unaru se mo`e
izvr{avat i vi{e mre`nih aplikaci ja. Svakj takvoj apl ikaci j i se dodeljuje bro
porta preko kojeg se pristupa mre`i. Npr: za HTTP broj je 80, a za telnet
je 23.
Naravno, mogu}e je korist i t i i kombinaci ju IP adrse i broja porta.
Ap l i c a t i o n ga t eway — kap i j e ap l i k a c i j a
Fi l teri dozvol javaju organizaci j i da obave srednje f ino f i l t r i ranje paketa na osnovu
IP adresa i broja porta. Ovakav na~in f i l t r i ranja mo`e da omogu}i internim
korisnicima telnet konekci ju izvan lokalne mre`e, a da zabrani telnet za spoljne
korisnike na ra~unar u lokalnoj mre`i jedne organizaci je. Me|utim, {ta ako
organizaci ja `el i da dozvol i telnet konekci ju samo dre|enim korisnic ima. Takav
zadatak f i l t r i ne mogu da podr`e, jer informaci ja o ident i tetu korisnika ni jedostrupna u zaglavl ju IP i l i TCP/IP poruka, ve} se nalazi u podacima aplikat ivnog
nivoa.
Aplikat ivna kapija je specif i~ni server odre|ene aplikaci je kroz koj i prolaze sv
podaci sa aplikat ivnog nivoa. Na primer, na jednom hostu se mo`e izvr{avat i vi{e
aplikat ivnih kapija, al i svaka kapija je poseban server sa svoj im sopstvenim
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 133/260
21/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
procesom. Da bi shvat i l i kako funkcioni{e aplikat ivna kapija, pretpostavimo da
ho}emo da konfiguri{emo firewall koj i }e dozvol i t i Telnet konekci ju samo
odre|enom broju internih korisnika, a zabranit i Telnet iz spol jne mre`e. Ovo se
mo`e post i} i kombinaci jom fi l tera u ruteru i Telnet apl ikacione kapije. Ruterski f i l te
je konfigurisan da blokira sve Telnet konekci je osim one koja pot i~e od aplikat ivne
kapije — t j . IP adrese aplikat ivne kapije. Ovo pris i l java da sve Telnet konekci je iz
lokalne mre`e ka spoljnom svetu idu preko aplikat ivne kapije, G. Kada intern
korisnik `el i da ostvari Telnet konekci ju sa ra~unarom koj i ni je u lokalnoj mre`i, onprvo uspostavl ja Telnet sesi ju sa aplikatovnom kapijom. Aplikaci ja koja se izvr{ava
na kapij i zahteva od korisnka ident i f ikaci ju (username i pasword). Kada korisnik
navede svoju ident i f ikaci ju, apl ikat ivna kapija proverava da l i korisnik ima dozvolu
da se Telnetuje na spoljnju ma{inu. Ako nema, aplikat ivna kapija okon~Ava Telnet
sesi ju sa korisnikom. Ako pak korisnik ima dozvolu, onda kapija tra`i od korisnika
ime spoljnjeg hosta sa koj im se zahteva Telnet konekci ja. Zat im se uspostavl ja
Telnet sesi ja izme|u kapije i odgovaraju}eg HOSTA i na kraju se prosle|uju sv
podaci od strane korisnka ka spoljnjem svetu i obrnuto.
Interne mre`e ~esto imaju vi{e aplikat ivnih kapija, npr kapiju za telnet , Http, Ftp
E-mail i td.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 134/260
22/23 Ra~unarske mre`e (E lektronski Fakultet , Ni{) - Marko Mil i~ i}
Bezbednost mre`e....................................................................................................................................................... 1
Uvod........................................................................................................................................................................... 1
Primeri za{tite na razli~itim slojevima (leyer-ima)............................................................................................. 1
Mehanizmi za{tite - (kriptografija) .......................................................................................................................2
Podela kriptografskih sistema ...............................................................................................................................2
Dobri algoritmi i Kriptoanaliza ..............................................................................................................................3
Substitucione tehnike...............................................................................................................................................4
Cezarov {ifrator ........................................................................................................................................................4
Playfair-ov {ifrator ...................................................................................................................................................5
Transpozicione tehnike (cik-cak matrice) ............................................................................................................6
DES (Data Encription Standard)..............................................................................................................................7
Proces S-DES {ifriranja ...........................................................................................................................................9
Algoritmi sa javnim klju~em (asimetri~ni algoritmi)..........................................................................................11
RSA algoritam......................................................................................................................................................... 12
Primer za RSA ........................................................................................................................................................ 13
Protokoli za autentifikaciju........................................................................................................................................ 14
Mehanizam autentifikacije ................................................................................................................................... 14
Autentifikacija zasnovana na zajedni~kom tajnom klju~u ............................................................................. 14
Uspostavljanje zajedni~kog tajnog klju~a ......................................................................................................... 15
Diffie-hellmanov protokol ..................................................................................................................................... 15
Primer za Diffie-Hellmanov protokol ................................................................................................................. 16
Autentifikacija kori{}enjem Centra za distribuciju klju~a (KDC-a) ................................................................ 17
Autentifikaija kori{}enjem kriptografije sa javnim klju~em ............................................................................ 17
Digitalni potpis........................................................................................................................................................ 18
Firewall — Bezbednosni zid.................................................................................................................................. 19
Filtriranje paketa.................................................................................................................................................... 20
Aplication gateway — kapije aplikacija............................................................................................................. 20
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 135/260
1/28 Marko Mil i~ i}
LOKALNE MRE@E
Robert Metclafe , zajedno sa Davidom Boggsom i ostal ima iz XEROX korporaci je
razvi l i su 1976. LAN mre`u zasnovanu na mehanizmu detekci je nosioca signala
(carrier sensing). Ovakva LAN mre`a premo{}avala je razdalj inu od 1Km
podr`avala 100 personalnihstanica i dost izala brzinu prenosa od 2.94 Mbps. Ova
sistem je nazvan Ethernet u slavu supstance ETAR za koju se smatralo da prenos
elektromagnetno zra~enje. Ethernet su podr`al i kao standard Digital Equipmen
Corporat ion, Intel i Xerox . Prvi put je objavl jen kao standard septembra 1981
nazvan je DIX1 (po po~etnim slovima firmi) . Novembra 1982 objavl jen je i DIX2 .
U me|uvremenu, IEEE je preuzeo poslove oko standardizaci je LAN mre`a. Digital ,
Intel i Xerox su predlo`i l i usvajanje Etherneta kao standarda. IBM, na osnovu
protot ipova ugra|enih u nj ihov Zurich Lab predla`e Token Ring i td . . . Zato IEEE
usvaja sve predloge vel ik ih f irmi u okviru svog IEEE 802 standarda donetog
po~etkom 1980. )
IEEE Standard Zna~enje
IEEE 802.1 Premo{}avanje LAN mre`a
IEEE 802.2 Kontrola Logi~ke veze (LLC)
IEEE 802.3 CSMA/CD Standardizaci ja Ethernet tehnologi je
IEEE 802.4 Token Bus Standard
IEEE 802.5 Token Ring Standard
IEEE 802.11 Be`i~ne LAN mre`e
Najprost i j i obl ik ETHERNET mre`e korist i pasivni 50 omski koaksialni kabl ~i ja je
maksimalna brzina 10 Mbps. Dakle, koaksialni kabl ustvari f iz i~ki povezuje sve
ra~unare u mre`i. ETHERNET mre`a ne mo`e imati vi{e od 1024 ra~unara u mre`i
Jedan segment koaksialnog kabla u mre`ama ograni~en je sa dva otpornika od 50
oma da bi se spre~i la refleksi ja signala u vodovima. Ra~unari se povezuju na
sistem preko t ransivera i l i mre`nih kart ica .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 136/260
2/28 Marko Mil i~ i}
Transiveri :
Medium Access Control (MAC) ~esto je poznat i kao Medium Access Unit (MAU)
Ovaj elektronski ure|aj slu`i da obezbedi ra~unaru interfejs ka mre`nom medijumu
Mre`na kart ica, mo`e da ima svoj interni trasiver i l i da korist i eksterni kao {to je
to prikazano na sl ic i .
Danas, ethernet ne mora samo da korist i koaksialni kabl, ve} mo`e da korist i
druge vrste kablova. Naravno, ovo je posledica evoluci je ETHERNET mre`a. Danas
postoj i nekol iko razl i~ i t ih vrsta ETHERNET mre`a.
Frejmovi koj i se {al ju kroz mre`u formiraju se po protokolu MAC (Medium Acces
Control ) i kodiraju se Manchester (man~ester) kodom. Eternet korist i Carrier-Sense
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 137/260
3/28 Marko Mil i~ i}
Mult iple Access protocol with Coll is ion Detect ion CSMA/CD) da bi spre~io da dva
i l i vi{e ra~unara poku{avaju da emituju frejmove na mre`u.
Postoj i nekol iko vrsta ethernet mre`a. Njihov pregled dat je slede}om tabelom:
Segment type
Max Number ofsystems per cablesegment
Max Distance of acable segment
10B5 (Thick Coax) 100 500 m
10B2 (Thin Coax) 30 185 m
10BT (TwistedPair)
2 100 m
10BFL (FibreOptic)
2 2000 m
Da bi se uskladi l i razl i~ i t i protokol i , Datal ink sloj je razbi jen na Logical L ink Contro
sloj koj i upravl ja vezom (nepotvr|eni datagram, potvr|eni datagram, uspostavl janje
veze i td. ) i Media Access Control koj i upravl ja pristupom medijumu. LLC je
zajedni~ki za sve t ipove LAN-a dok se MAC pri lago|ava specif i~nost ima nekog od
ponu|enih standarda.
Iako se ~esto poistove}uju IEEE 802.3 i Ethernet su razl i~ i t i standardi. I Ethernet I
(DIX2) i IEEE 802.3 imaju vel i~ inu okvira od 64B do 1528B.
Ethernet I :
Prva verzi ja mogla je da ostvaruje brzine od oko 2.94 Mb/s. Najve}e rastojanje
bi lo je 1000 m i mogao je da se sna|e sa 100 hostova. Idejni tvorac ove mre`e
bila je ro x korporaci ja. Ovaj Ethernet bio je podr`an DIX1 standardom. 1982godine nastao je standard DIX2 (tzv Ethernet 2) i sada se korist i .
Neki me|unarodni standardi se bave definisanjem standardnog pona{anja. IEEE
802.3 je taj koj i defini{e pona{anje na ethernet-u. IEEE 802.4 defini{e topologi ju
IEEE 802.5 standard je IBM uspeo da progura kao standard. Data l ink nivo je
podeljen na LLC (Logical L ink Control ) i MAC. LLC je zajedni~ki za sve mre`e ( IEEE
802.2), a MAC je poseban za svaku mre`u u zavisnost i od topologi je mre`e.
Frejm je du`ine od 74 do 1058 B. IEEE 802.3 se ipak malo razl ikuje od etherneta 2
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 138/260
4/28 Marko Mil i~ i}
ETHERNET I I :
8 6 6 2 4-1500 4
P reambu la Odred i{na adresa I zvor i{ na adresa T ip Podac i CRC
IEEE 802.3
7 1 2-6 2-6 2 4-1500 4
P reambu la S FD Odred i{na adresa I zvor i{ na adresa Du` ina L LC Podaci CRC
IEEE = 802.3 preambula + SFD = Ethernet I I preambula = 7 x 10101010 + 10101011
Izvori{na i odredi{na adresa je jedinstveni kOd ethernet adrese. Ako je adresa FF-
FF-FF-FF-FF-FF {al je se svim kart icama koje su na mre`i.
Pol je t ip je ustvari t ip protokola kome se {al je paket
Pol je du`ina je du`ina LLC dela
CSMA/CD
- Ca r r i e r S en se W i t h Mu l t i p l e A c c e s s / Co l i s i o n De t e c t i o n
Ra~unari koriste jedan kabl kao zajedni~ki mre`ni medijum. Kabl je ustvari ono {to
je zajedni~ko svim ra~unarima i ono {to im omogu}ava da komuniciraju. [ta se
ustvari de{ava? Svi frejmovi koj i se po{alju na kabl f iz i~ki dolaze do svih ostal ih
ra~unara. Samo onaj ko prepozna svoju adresu u zaglavl ju dolaze}eg frejma
zadr`ava frejm, a ostal i se ne obaziru na p rispel i frejm (ni je za nj ih) .
Ra~unar oslu{kuje kanal i tek posle 9.6 mikro sekndi od detekci je poslednjeg bita
mo`e da po~ne sa slanjem. Ovo je neophodno zbog rastojanja izme|u frejmova
>> interframe spacing<< tokom slanja. Ukol iko utvrde kol iz i ju ra~unari prekidaju
dalj i prenos. Prva stanica koja otkri je kol iz i ju ( t j . ako adapter detektuje signa
drugog adaptera dok traje njegova emisi ja) , on prestaje sa slanjem korisnih paketa
i {al je 48-bitni JAM signal (s ignal zagu{enja) da bi osigurala da druge stranice
tako|e detektuju kol iz i ju (detekci ja kol iz i je je na primer ako oset i jaku struju, i l i u
nekom trenutku po{alje 0 a isto tad pro~ita 1 sa kanala. Nakon prekida slanja
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 139/260
5/28 Marko Mil i~ i}
frejma t j . JAM signala (koj i se 32 i l i 48 b) adapter ulazi u fazu ~ekanja , koja je
odre|ena nekim algori tmom - (Truncated binary) exponent ial backoff algort ihm
Kada utvrdi n-tu uzastopnu kol iz i ju (za ist i frejm koj i po ku{ava da po{alje) , adapte
bira proizvol jnu vrednost za k (od 0 do 2m-1 ) gde je m=min(n,10) i ~eka k*512=td
Bitskih intervala nakon ~ega po~inje ponovo da {al je svoj frejm (oslu{kuje kanal) .
Ef ikasnost eterneta zavisi od optere}enost i mre`e. Ne mo`e se korist i t i za rad u
realnom vremenu jer nema garanci je da }e paket bit i poslat u nekom vremenskom
intervalu (u najgorem slu~aju vel ike zagu{enost i mre`e frejm mo`e ostat i zauvekneposlat ) .
Formula za odre|ivanje efikasnost i etherneta kada nema kol iz i je i sve stanice
imaju frejmove spremne za slanje:
Ttrans = Maximalno vreme za koje se {al je frejm
Tprop = maximalno ka{njenje izme|u dva ~vora
TtransTprop E ff /51
1
⋅+=
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 140/260
6/28 Marko Mil i~ i}
S t anda r dn i debe l i E t h e r ne t
Dobio je naziv po deblj ini koaksi jalnog kabla koj i se korist i za povezivanje RG-8
deblj ine 0.4-0.5 in~a . Ova mre`a se u IEEE zove 10BaseBand5 (ono 10 zna~i da je
brzina oko 10 Mb/S a ono Base zna~i da radi u osnovnom opsegu t j . ni je
moduliran signal. 5 je maksimalna du`ina koaksi janog segmenta i pribl i`no iznos
500 m.
10 — 10Mbps
BASE — rad u osnovnom opsegu (BaseBand) t j . ni je moduliran signal
5 — 500m po segmentu
Adapteri {al ju podatke preko spolja{njeg ure|aja — t ransivera , koj i je preko 15-to
`i lnog kabla povezan sa mre`nom kart icom. Da ne bi do{lo do refleksi je na vodu
krajevi vodova su zatvoreni terminatorima (to su otpornici jednaki otpornost i voda
Vod mora nj ima bit i zatvoren na oba kraja, a oba terminatora imaju uzemljenje,
da ne bi postojala struja curenja samo jedan terminator se uzemljuje.
Dva ethernet kabla se mogu spoji t i val jkast im konektorom .
500 metara naj~e{}e ni je dovol jno za mre`u. Da bi se mre`a produ`i la koriste se
speci jalni ure|aji koj i se zovu r ipi teri (repeateri ) . Ripi ter izme|u dva koaksi jalna
segmenta naziva se ful l repeater . Ripi teri sa vi{e portova (Mult iPort Repeater ) kao
{to je DEMPR mogu povezato vi{e Ethernet segmenata. Mo`emo imati maksimalno
dva ful-ripi tera u okviru LAN-a. Ripi ter je, kao i obi~na stanica, na koaksi jalni kab
prik l ju~en preko transivera, pa se i on tret ira kao ostale stanice.
Na jednom segmentu mo`e bit i najvi{e 100 stanica. . Da bi se mre`a jo{ produ`i la
korist i se ripi ter koj i je sa jedne strane vezan za kabl, a sa druge strane preko IRL
inter repeat l ink) i drugog istog takvog half r ipi tera vezan za drugi opt i~ki kabl.
Maksimalna du`ina Inter Repeat Linka je tako |e 500 metara. Na IRL ne mogu da
se ve`u ra~unari . Minimalno rastojanje izme|u stanica je 2.5m (preporu~uje se da
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 141/260
7/28 Marko Mil i~ i}
bude umno`ak od 2,5m zbog minimizaci je interferenci je uzrokovane stoje}im
talasima). U slede}oj tabl ic i dato je pore|enje debelog i tankog etherneta:
Parametar Debel i E T Tanki ET
Brzina prenosa 10 Mb/s 10 Mb/s
Maksimalni broj r ipi tera bez IRL-a 2 2
Maksimalni broj r ipi tera sa ILR-om 4 4
Maks imalna du`ina koaks ija lnog segmenta 500m 185m
Maksimalni broj l ink segmenata 2 2
Maksimalna du`ina komb. l ink segmenta 1000m 400m
Maksimalni broj stanica po segmentu 100 30
Maksimalni broj stanica 1024 1024
Razdal jina izme|u s tanica N * 2.5m >0.5
Brzina prost iranja signala 0.77*c 0.65*c
Maksimalna du`ina kabla transivera 50m
Ovaj kabl je vrlo nezgodan za instal iranje. Vrlo je krut i te`ak. Upravo zato korist
se uglavnom za prave relaci je, kao {to su na primer hodnici poslovnih prostori ja Jedan prime je dat na slede}oj sl ici .
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 142/260
8/28 Marko Mil i~ i}
Tan k i T h i nW i r e ) E t h e r ne t
Tanki ethernet u potpunost i odgovara debelom ethernetu, samo {to se korist i tank
koaksi jalni kabl. Ovoje mnogo savit l j iv i j i i lak{i kabl. Naravno, zbog toga ga je
lak{e i instal irat i .
Njegova oznaka je 10 base 2 (10 Mb/s). Me|utim maksimalna du`ina segmenta
ni je 200 ve} 185m. Ovde ne postoj i t ransiver, ve} se preko jednog BNC T konektora
koaksi jalni kablovi prik l ju~uju na mre`nu kart icu. Isto imaju terminatore. Do skoro
je ovo bi la naj jeft ini ja LAN mre`a.
Thin Ethernet kabl je pre~nika 0.2 in~a i oznaku RG-58 A/U 50(oma). Na
raspolaganju su razl i~ i to ise~ene du`ine sa standardnim BNC ut ika~em na oba
kraja. BNC teminator se prik l ju~uje na jednu od dve ut i~nice T konektora na koju n
jedan kabl ni je prik l ju~en. Ovaj kabl mo`e povezat i sve sobe na spratu jer mo`e
da se savi ja i zbog toga ni je ograni~en samo na hodnike.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 143/260
9/28 Marko Mil i~ i}
10 BASE — T 802 .3 i — 1990 god .
Porast interesovanja za 10 BASE T po~inje 1990, zbog ni`ih cena za komponente
jednostavnog konfigurisanja. Za povezivanje se korist i UTP (Unshelterd Twisted
Pars ) — neza{t i}ena uvi jena parica. Mre`na kart ica ima telefonski port RJ-45 , koj
se slu`beno naziva i Media Dependent Interface (MDI) port . Rani je su se kod
ovakvih parica kablovi oklapali zbog vel ikog ut icaja {umova, pa su kablovi bi l
skupi. Sa napretkom tehnologi je mogu}e je bi lo otklonit i ove {umove, pa je
mogu}e korist i t i neza{t i}ene upredene parice (UTP).
Korist i se model zvezde - topologi ja zvezde . Svaki koncentrator prihvata kablove
od vi{e ra~unara sa UTP konektorima, a `ice su {ir ine 0.4-0.6 mm. Dakle,
koncentrator slu`i kao centralna skretnica. Koncentrator prihvata `ice sa nekol iko
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 144/260
10/28 Marko Mil i~ i}
(naj~e{}e 12) radnih stanica. Svaka `ica se sastoj i od 2 para upredenih parica.
Kabl se sastoj i od 8 `ica od koj ih su prve dve za slanje, slede}e 4 za pri jem a
poslednje 2 za broadcast.
10 Base — T koncentrator ima ulogu ripi tera i :
Osve`ava paket sa podacima
Test ira integri tet veze za dat i port
Auto del jenje po portu, {to omogu}ava odjavl j ivanje porta u slu~aju 30
uzastopnih kol iz i ja, i l i ukol iko je jedna al i posebno duga kol iz i ja, i l i ~ak
usled preteranog brbl janja porta.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 145/260
11/28 Marko Mil i~ i}
Potrebno je ograni~i t i maksimalno vreme propagaci je od jedne do druge stanice
Pravi la konfigurisanja za povezivanjepomo}u koncentratora (HUB-ova).
Najvi{e 4 HUB-a na putu izme|u bilo koje dve stanice.
UTP segmenti ne smeju bit i du`I od 100 metara (u praksi se uvek
postavl jaju upola manje vrednost i ) i moraju bit i ve}i od 60 cm.
Hub se tret ira kao stanica i tu se vr{i broadcast
Fiz i~ka topologi ja je zvezdasta, a logi~ka je topologi ja BUS-a ( jedan {al jea dostupno je svima). Dakle, sve {to hab dobije na jedan ulaz, on {al je na
sve ostale.
Switch mo`e da usmerava signal ta~no na odre|ene ra~unare, pa mo`e bolje da
upravl ja saobra}ajem. Hab je pasivna komponenta.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 146/260
12/28 Marko Mil i~ i}
Token R i ng LAN
To su point-to-point mre`e, za razl iku od Etherneta, t j . sekvenci jalne mre`e sa
vezama od ta~ke do ta~ke, koje ~ine krug. Smatraju se za digitalne mre`e u
odnosu na ethernet koj i je analogna mre`a. Determinist i~ko vreme odgovora, ~ak
pri vel ikom optere}enju. Optere}enje ne ut i~e na vreme odgovora kod ovakve
mre`e, {to ga ~ini pogodnim za real-t ime sisteme (kod nj ih ne zna~i da odgovor
odmah st i`e, ve} da se dobija za ta~no odre|eno vreme). Naj~e{}e se sre}u
EThernet I I 802.5 odnosno IBM token ring mre`e. Svaka stranica deluje kao r ipi ter
(poja~ava i koriguje signal) . Medijum mo`e bit i koaksi jalni kabl, uporedna parica i l
opt i~ko vlakno.
Da bi mre`a funkcionisala post j i jedan kontrolni token frejm koj i kru`i mre`om i on
izgleda ovako:
SD PPP TM RRR ED
PPP tr i Priori ty bit-a
T bit Token-a (da li je slobodan i l i ne)
M je bit nadzornika (monitor-a)
RRR su tr i bi ta za rezervaci ju
Token mora neprekidno da kru`i i ~ak ako nema nikakve aktivnosti na mre`i
Point-to-point veza podrazumeva da su sve stanice ukl ju~ene da bi mre`a mogla
funkcionisat i t j . Da bi token mogao da kru`i . Zato se ovde korist i f iz i~ka topologi ja
zvezde sa nulom u centru. Da bi se omogu}i lo da mre`a funkcioni{e i kada
stanica ni je ukl ju~ena korist i se re{enje sa relej ima koja se zatvaraju kada se
stanica iskl ju~i tako da se veza kratkospoji i da se t ime omogu}i dal ja
komunikaci ja mre`e. Token ring stanice funkcioni{u u jednom od 4 re`ima:
Re`im slanja
Re`im slu{anja
Re`im premo{}avanja
Re`im pri jema
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 147/260
13/28 Marko Mil i~ i}
Zamisl imo da su stanice A, B, C i D povezane u prsten.
A
B
C
D
Stanica A u re`imu slanja i po~inje sa slanjem kada dobije slobodni token. B
prihvata podatke i upore|uje ga sa DA pol jem i ako ni je, onda prelazi u re`im
slu{anja. Frejm mo`e da ukloni samo stanica koja ga je poslala. Token je vel i~ ine
24b i ako imamo 4 kb mre`u 24b/4kb = 6 mikrosekundi. Tol iko treba signalu od
izlaznog pina do onda kada se ponovo primi na ulaznim portovima. Treba nam
24b-ni bafer koj i }e da unosi to ka{njenje jer u mre`i mo`e da se na|e na prime
samo 5b, a frejm mo`e bit i proizvol jne du`ine ograni~eno je samo dr`anje tokena
po stanici , pa se na osnovu toga mo`e izra~unat i maksimalna du`ina frejma
(Frejm ne mo`e bit i du`i od onoog kol iko ima vremena da se frejm po{alje. )
SD AC FC DA SA PODACI FCS ED FS
FC — Frame control
AC — Access control
FCS — Frame control sum
FS — Frame status (ovo polje mo`e da modif ikuje svaka stanica i to su flegovi ) :
A — Address Recognized (0-ni jedna stanica ni je prepoznala svoju adresu
1-uspeh)
F — Frame Copied (0 — Frejm ni je iskopiran, 1 — frejm je iskopiran)
E — Error (0 — ne postoj i gre{ka, 1 — postoj i gre{ka t j . Ne poklapa se bit
kontrolne sume)
Postoj i neregularno stanje a to je AC = 01. Sve ostale kombinaci je AC susozvol jene.
SD — Start derimiter (po~etak frejma)
DA — Dest inat ion adress
SA — Source adress
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 148/260
14/28 Marko Mil i~ i}
Samo stanica koja je poslala frejm mo`e da ga ukloni, al i pi tanje je {ta se des
ako se ona iskl ju~i pre nego {to ga ukloni. Token ring ima akt ivnog korisnika AM
(MONITOR) za brzi oporavak mre`e. M=1 zna~i da frejm kru`i mre`om i ne mo`e
da se ukloni. Kada monitor prepozna ovu si tuaci ju on vr{i uklanjanje.
Ako se po{alju prva 2-3 bita a ostalo se izgubi, takvu si tuaci ju re{ava TRT Token
Rotat ion Time . To je maksimalno vreme za koje token mora da se vrat i do
monitora AM. Ako AM otka`e neka od ostal ih stanica treba da preuzme funkci ju
monitora. AM periodi~no {al je AMP (Act Man Present ) . Kada nema AMP-a a vreme
za ~ekanje AMP-a istekne, onda sve stanike konkuri{u za funkci ju monitora t ime
{to {al ju CLAIM TOKEN FRAME CL-TK.
Stanica ne}e poslat i CL-TK ako:
Ako je primljen drugi CL-TK a adresa po{i l jaoca je ve}a od adrse teku}e
stanice.
Ako je primljen MAK okvir upozorenja BEACON (BCN). On se {al je u slu~aju
nekog ve}eg otkaza na mre`i.
Primljen je MAK okvir pro~i{}enja (purge) PRG. Njega {al je stanica koja je
pobedila u trc i za akt ivnog monitora.
Ovi BNC, PRG imaju svoje kodove u FC.
DAT — Duplicat Adress Test
Bi lo koja stanica koja se prik l ju~uje na adresu {al je svoj DAT t j . Prazan frejm sa
svojom adresom u dest inat ion pol ju da bi utvrdi la da l i postoj i jo{ neka stanica sa
istom adresom na ta nova.
Priori tet pristupa :
Set imo se da ono PPP odre|uje priori tet a da je ono RRR reservat ion bits. Naime
stanica koja je vi{eg priori teta, stavi u RRR i kada se oslobodi token RRR se kopira
u PPP i posle toga samo ta stanica mo`e da dobije token.
NPR: 011=5 -> samo stanice koje imaju ve}i priori tet od 5 mogu da pribave taj
token.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 149/260
15/28 Marko Mil i~ i}
I BM 8228 Mu l t i s t a t i on Acces s Un i t MAU )
MAU ima logi~ku strukturu prstena, a fiz i~ki je vezana kao zvezda (preko nekog
centra) .
Za 3:
I E E E 802 . 5 p r a v i l a za po ve z i v an j e To k en R i ng m re`e :
Token Ring parametri Tip 1 i 2 Tip 3
Max. broj ure|aja po prstenu 260 96
Brzina prenosa 16MB/s 4MB/s
Rastojanje od stanice do MAU
Za mre`e se 1 MAU
300m 100m
Rastojanje od stanice do MAU
Za mre`e se vi{e MAU
100m 45m
Max. broj MAU 12 2
Rastojanje MAU-MAU 200m 120m
*Tip 1 i 2 koriste 16 pinske prik l ju~ke za povezivanje a Tip 3 korist i telefonsku
paricu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 150/260
16/28 Marko Mil i~ i}
Mos t o v i
Mostovi povezuju dve zasebne mre`e u jednu logi~ku cel inu. Na primer IBM 8209
most se korist i za povezivanje etherneta i TokenRing LAN mre`e.
Orion
Orion Orion
Most
Orion
Orion
Orion
Orion
Orion
IEEE 802.3
8209
IEEE 802.5
U ovom slu~aju most mora imati 2 mre`ne kart ice i to jednu Ethernet i jednu Token
Ring , za povezivanje na odgovaraju}e mre`e. Mostovi rade na Data-Link nivou
tako da ne razmatraju zaglavl je mre`nog nivoa (ve} direktno kopiraju pakete vi{ ih
nivoa) zato se ne mogu korist i t i za povezivanje mre`a sa razl i~ i t im mre`nim
protokolom.
Razlozi za upotrebu mostova su:
Postojanje vi{e cel ina (u kolekt ivu) , svaka sa sopstvenim potrebama
odgovaraju}om LAN mre`om, koje treba povezat i .
Geografska razu|enost i ve}a isplat ivost formiranja zasebnih LAN mre`a
koje se zat im povezuju mostovima.
Rastojanje izme|u najudaljeni j ih stanica je ve}e nego {to dozvol java LAN
tehnologi ja
Ve}a pouzdanost, jer neispravna stanica/l ini ja ometa ( i l i spre~ava
saobra}aj samo lokalno (do prvog mosta).
Ve}a sigurnost , jer mostovi mogu zabranit i protok nekih paketa koj i su
potenci jalna opasnost za sigurnost organizaci je. Tako|e je i ve}a
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 151/260
17/28 Marko Mil i~ i}
pouzdanost je ukol iko do|e do katastrofe u jednoj prostori j i , mre`a u
drugoj prostori j i , koja je iza mosta radi nesmetano.
Zadaci mosta pri l ikom preformatiranja ramova:
Preformatiranje frejmova i izra~unavanje nove CheckSume
Okrenut i red bitova
Generisat i f ik t ivne priori tete (Ethernet ih nema a 802.5 ima, pa treba da ih
napravimo makar da budu fikt ivni .
Odbacit i priori tete
Zaokru`it i token (Ring drain) Povla~enje podataka sa mre`e (svaka stanica
koja {al je podatke treba i da ih povla~i ) .
Setovat i A i C bitove (pri ~emu se zapravo >>la`e<< da je odredi{te
primilo frejm
Regulisat i zagu{enje pri slanju na spori j i LAN (uvo|enje bafera)
Ako je frejm suvi{e vel ik i za odredi{ni LAN on se odbacuje (mogu}a je
neka signalizaci ja al i problem nije re{iv)
802.5 zapravo nema ograni~enja u vel i~ ini okvira, osim {to se mo`e desit i da
stanica ne mo`e emitovat i frejm du`i od token-holding t ime-a (vreme dr`anja
tokena) {to po defaultu iznosi 10 ms, odakle se izvodi maximalna du`ina okvira od
5000 b.
Zbog rada sa LAN-ovima razl i~ i t ih brzina i l i pojave kol iz i je, mostovi moraju imat
baferski prostor za sme{tanje prist igl ih ramova (okvira) . Prolaskom paketa kroz
most, gubi se semantika mre`e jer se mnogi parametri (na primer priori tet )
postavl jaju proizvol jno i gube pri l ikom prolaska kroz mre`u koja ih ne zahteva
Potrebno je maksimalno smanji t i komunikaci ju izme|u LAN-ova. Ako neka stanica
~esto (vi{e od 20% paketa) komunicira sa stanicom van LAN-a na koj i je
prik l ju~ena, treba razmotri t i njeno presel jenje u drugi LAN.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 152/260
18/28 Marko Mil i~ i}
T r an spa r en t B r i dges i l i S pann i ng t r ee b r i dges
Zami{l jeni su tako da sve samostalno rade, dovol jno je samo utaknut i prik l ju~ke za
mre`e, pri ~emu su potpuno transparentni za sve stanice na mre`ama. Zadatak
Transparent Bridge-a je da prosledi pr ist igl i frejm il i ga odbaci. Odluku donosi na
osnovu vel ike Hash Tabele koju neprekidno a`urira. Kada se prvi put ukl ju~i most,
hash tabela je prazna, pa se korist i algori tam preplavl j ivanja ( f looding) pri ~emu
se prist igl i paket {al je na sve ostale portove (most ne mora imati samo 2 porta)
Vremenom se hash tabela putni adresama iz prist igl ih okvira, ~ime se zahtev za
plavl jenjem sve vi{e smanjuje, a most sve perfektni je funkcioni{e. Algori tam u~enja
o polo`aju stanica naziva se Backward Learning .
Okvir je primljen
bez gre{ke na portu X
Dest. Add. Na|ena uHASH Tabeli
Izlazni port= port X ???
Prosledi okvir na sveportove osim X-a
Prosledi okvir naizlazni port
Sour. Add. Na|ena uHASH Tabeli
Dodati Sour. Add. Utablicu zajedno sa
smerom i novim tajmero,
A`urirati smeri tajmer
KRAJ
True
False
Learning
Prosle|ivanje
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 153/260
19/28 Marko Mil i~ i}
Izgled tabl ice:
Kada se stavka doda u tabelu, i l i se a`urira ({to se de{ava svaki put kada
prist igne okvir ) a`urira se tajmer, koj i je inic i jalno postavl jen na 300 s. Nakon tog
vremena, ako ne prist igne novi okvir od date stanice, odgovaraju}i ulaz u tabl icu
se bri{e. Time se omogu}uje samostalna rekonfiguraci ja mre`e (na primer. Ako se
stanica iskl ju~i i prenese na drugo mesto, za par minuta (zavisno od postavl jenog
vremena) most }e sam odredit i njen novi polo`aj bez ikakve dodatne intervenci je.
Primer:
Za mre`u na sl ic i , skic irat i putanje paketa i stanja odgovaraju}ih Transparen
Bridge tabela , pri l ikom razmene okvira izme|u stanice A i E.
A B C
D E
F G H
LAN 1 LAN 2LAN 3
LAN 4
B1 B21 2 1
2
3
1. A -> E
Inic i jalno su tabele prazne
A
E
LAN 1 LAN 2LAN 3
LAN 4
B1 B21 2 1
2
3
Stanica Port# Timer
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 154/260
20/28 Marko Mil i~ i}
Most B1 ce imati slede}u tabelu:
Stanica Port Timer
A 1 300
Most B2 }e imati slede}u tabelu:
Stanica Port Timer
A 1 300
2. E -> A
A
E
LAN 1 LAN 2LAN 3
LAN 4
B1 B21 2 1
2
3
Po{to nema informaci ja o stanici E, ona se unosi u tabele.
Most B1 ce imati slede}u tabelu:
Stanica Port Timer
A 1 -
E 2 -
Most b2 }e imati slede}u tabelu:
Stanica Port Timer
A 1 300
E 3 300
Sada je putanja poznata i vi{e se ne korist i f looding algori tam.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 155/260
21/28 Marko Mil i~ i}
Prethodno prikazani algori tam u~enja zahteva da mre`a ima topologi ju stabla je
postojanje pet l j i izaziva vel ike probleme. Ovo mo`emo videt i na slede}em primeru:
A
B1B1
B
LAN Y
LAN X
- Javljaju se dva ista frejma na LAN-u Y
- Ako B1 prest igne B2 -> B2 menja ulaz za A i pomera ga na stranu LAN Y jer
odat le dolazi paket sa A-ovom Source Addr. Zat im B2 {al je okvir -> B1 menjasvoju tabelu -> nakon toga A vi{e nikako ne mo`e da primi okvir jer i B1 i b2
misle da su na strani LAN Y.
- Jo{ je gori slu~aj ako ni B1 ni B2 neznaju gde se nalazi B.
Da bi se ovo prevazi{lo, koriste se elementi teori je grafova koj i od zadate mre`e
formiraju minimalno spre`no stablo (spanning tree). Za formiranje ovog stabla
korist i se zaseban protokol koj im mostovi razmenjuju informaci je izme|u sebe
pomo}u BPDU (Bridge Protocol Data Unit )-a.
Algori tam:
1. Odredit i root-bridge (na primer onaj sa najmanjim seri jskim brojem, mada se
~esto dodaje i priori tet mosta.
2. Odredit i root-port na svim ostal im mostovima (port najbl i` i root-mostu, t j . sa
najmanjim brojem skokova paketa.
3. Odre|ivanje akt ivnog mosta ( t j . designated Port-a) za svaku LAN mre`u.
Minimalno spre`no stablo se pravi tako {to se jedan LAN bira za koreni (osnovni ) ,
LAN-ovi se presl ikavaju u ~vorove a mostoviu grane.
Mostovi omogu}avaju autonomno funkcionisanje mre`a.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 156/260
22/28 Marko Mil i~ i}
Sou r c e Rou t i ng B r i dges
Transparent Bridges se jednostavno instaliraju i koriste (samo se utaknu) al
nedovol jno dobro koriste propusnost mre`e jer upotrebl javaju samo deo topologi je
( t j . spre`no stablo) . Za razl iku od Transparent Bridges koj i se koriste kod CSMA/CD
i Token Bus-a, IBM je za svoje Token Ring mre`e predlo`io novu {emu — Source
Rout ing!
Kod ovog algori tma, po{i l jalac mora da zna da l i je odredi{te na istom LAN-u
Ako ni je, po{i l jalac postavl ja najvi{ i bi t izvorne adrese (Source Address) na 1 (~esto
se taj f leg ozna~ava sa RI I (Rout ing Information Indicat ion ) . [tavi{e u zaglavl je
okvira se unosi ta~na putanja koju okvir mora da sledi i to u okviru RD ( Rout ing
Designator ) pol ja.
RD pol je sadr`i par podataka: Broj prstena (12 bitova) i broj mosta (4 bita) . Svaki
LAN ima jedinstven 12-bitni broj i svaki most 4-bitni broj koj i ga jedinstveno
odre|uje u kontekstu datog LAN-a, tako da je putanja jedinstveno odre|enasekvencom LAN,MOST,LAN. Postoj i ukupno 14 RD polja. Dakle, maksimalan
brojskokova je 13, me|utim IBM-ova implementaci ja trenutno ograni~ava ukupan
broj RD polja na 8 t j . 7 skokova.
Postoj i 4 razl i~ i ta t ipa Rout ing direkt iva t j . 4 t ipa rut iranja.
NULL — nema rut iranja -> frejm mogu primit i samo stanice na istom LAN-u
NonBroadcast —> Rd polje sadr`i ta~nu rutu koju frejm mora da sledi
Samo mostovi na toj rut i ( t j . oni koj i prepoznaju svoje adrese i iz lazne LANadrese) prosle|uju frejm. Samo jedna kopija frejma se isporu~uje
odredi{tu.
All-Routs Broadcast -> Svaki most prosle|uje paket jednom kroz svak
port , osim onog sa koga je primio. Mogu se pojavi t i vi{estruke kopije istog
okvira na LAN-u. Odredi{te prima po jednu kopiju okvira sa svake mogu}e
putanje kroz mre`u. Ovo je jedan od mehanizama otkrivanja trase do
odredi{ta. PI I bi t je postavl jen, al i su RD(x) pol ja prazna ( inic i jalno). Svak
most koj i propust i okvir upisuje svoj broj, kao i broj iz lazne LAN mre`e u
odgovaraju}e polje, tako da odredi{te, zajedno sa okvirom, dobija i celu
putanju. Da bi se izbeglo besprekidno kru`enje pa keta u mre`i, svaki mos
proverava da l i je u putanj i ve} zapisana mre`a na koju `el i da prosled
okvir. Ako jeste, okvir ne}e bit i prosle|en. Odredi{te odgovara na svak
prist igl i okvir, al i korist i NonBroadcast jer ta~no zna povratnu putanju do
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 157/260
23/28 Marko Mil i~ i}
izvora). Izvor na osnovu svih prist igl ih odgovora mo`e da izabere
opt imalnu putnju i unese ga u svoju tabl icu putanja (Source Rout ing
Bridges nemaju nikakve tabl ice nit i s l i`nu strukturu, dakle, oni su mnogo
prost i j i od Transparent Bridges-a)
Single Rout Broadcast -> obezbe|uje da odredi{te primi ta~no jednu
kopiju okvira. Da bi se to post iglo, okvir trebaju da proslede samo mostov
iz spre`nog stabla (sa korenom u izvornom ~voru — t j . ~voru koj i {al je
okvir ) . Tako|e se korist i za pronala`enje trase do odredi{ta! Kadaodredi{te primi okvir, odgovara preko AllRout Broadcast prist igl i okvir i (na
izvoru) otkrivaju sve mogu}e putanje . Problem formiranja spre`nog stabla
mo`e se re{i t i automatski (Delegiranjem po jednog mosta za svaki LAN i l
ru~no.
Ove pet l je sa putanjom se nalaze u host ra~unarima (a ne u mostovima kao kod
BUS topologi je) . Ove tabele se a`uriraju ako se ~esto javl jaju otkazi i TimeOut-ov
({to zna~i da vi{e ne mo`e da se korist i neka trasa), pri l ikom svakog
uspostavl janja veze kod LLC-a i l i se uvodi tajmer pa se po isteku tajmera a`urira
tabl ica (ponovo {al je discovery frame).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 158/260
24/28 Marko Mil i~ i}
I z bo r op t ima l ne pu t an j e :
Postoje dva kri teri juma.
Minimalni broj skokova — Bira se put zapisan u RD polju okvira sa
najmanjim brojem RD(x) pol ja
Minimalna cena t j . izbor puta sa maksimalnim protokom. Ovo se nemo`e
ekspl ic i tno utvrdit i pa se koriste alternat ive.o Bira se putanja zapisana u okviru koja prvi st igne (pretpostavl ja se da
je pro{ao kroz mre`u sa najmanjim zagu{enjem).
o Slu~ajno se bira jedna od putanja, da bi se ravnomerni je opteret i l
mostovi/mre`e.
Kol iko ~esto treba a`urirat i tabelu putanja?
U slu~aju otkaza mre`e (neke na putu) i l i ve}eg zagu{enja
Kod connect ion-oriented LLC-ova, sa svakim novim uspostavl janjem veze.
Uvo|enjem tajmera, bez obzira na t ip veze (connect ion-oriented i l
connect ionless) sa istekom odre|enog perioda.
Imp l emen t a c i j a S R mos t o va :
Softverska: Most prima svaki okvir, kopira ga u svoju memori ju gdeproverava da l i su RI I=1, pa ako jeste nastavl ja sa dalj im ispit ivanjem
(zahteva brz procesor)
Hibridna: Mre`ni (LAN) interfejs mosta ispituje da l i je RI I=1, pa ako jeste
kopira ga u memori ju. Ovo se hardverski vrlo lako implementira a
zna~ajno redukuje broj okvira koje most mora da ispita.
Hardverska: LAN interfejs mosta ne ispituje samo RI I , ve} i celu putanju,
da bi utvrdio da l i treba da se obavi prosle|ivanje i l i ne. Zahteva
kompleksan hardware al i ne tro{i CPU cikluse mosta jer se svi nepotrebn
okvir i u startu odbacuju. ( tako da se mo`e primenit i i neki spor procesor
za funkci ju mosta.
Vrlo lo{a osobina SR mostova je eksplozi ja okvira koja se javl ja pri l ikom slanja
Discovery frejmova (za tra`enje putanje) , jer se kod BroadCast ing-a broj frejmova
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 159/260
25/28 Marko Mil i~ i}
na mre`ama eksponenci jalno pove}ava (sl i~an problem postoj i i kod TB-a al i ni je
ni pribl i`no tako drast i~an).
Funkci ja koja simulira ovaj most bi la bi:
If RII =1
{
case tip_rutiranja:
Null .....
Non Broadcast .....
Al l_Routs_broadcast .....
Single_Route_broadcast ....
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 160/260
26/28 Marko Mil i~ i}
Po r e|en j e TB i S RB-a
Transparent Bridge Source Routing Br idge
Osnovna orjentaci ja Connect ionless Connect ion-oriented
Transparentnost Potpuno transparentan Nije transparentan
Konfiguraci ja Automatska Ru~na
Rut iranje SubOptimalno Optimalno
Lociranje BackWard Learning Discovery frames
Ispadi mre`e Ispadima rukuju mostovi Ispadima ukuju Hostovi
Kompleksnost U Mostovima U Hostovima
Kako povezat i IEEE 802.3 mre`e koje koriste TB-ove sa 802.5 koje koriste SRB-ove?
Pomo}u IBM 8200 koj i obezbe|uje prevo|enje podataka o rut iranju izme|u
ova dva mehanizma.
Upotreba kombinacionih mostova, t j . transparentnih mostova sa izvornim
rut iranjem (Source Rout ing Transparent — SRT). Oni koriste transparentnopremo{}avanje ako ne postoj i RI pol je, u prot ivnom korist i izvorno rut iranje
Po ve z i v an j e To k enR i ng i Bu s m re `e :
Kori{}enje kombinovanih mostova koj i rade istovremeno i kao transparentni i kao
SourceRout ing. Ako je RI I setovano korist i se Source Rout ing, a ako ni je korist i se
algori tam transparentnog mosta.
RI I je u stvari najvi{ i bi t SA ( izvori{ne adrese).
Most pre nego {to uput i paket (sa All-Broadcast ) ako se u tabel i nalazi adresa
mre`e na koju se {al je (ne {al je se, i l i ako je u RD ve} adresa tog mosta — isto se
paket ne {al je (da ne bi do{lo do lutanja paketa. ) )
Na slede}im sl ikama predstavl jeni su formati frejmova za nekol iko najpoznat i j ih
standarda:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 161/260
27/28 Marko Mil i~ i}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 162/260
28/28 Marko Mil i~ i}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 163/260
1/7 Marko Mili~i}
ZADATAK
Za mre`u sa 5 ~vorova, datu na sl ic i 2, prikazat i postupak punjenja
tabela rastojanja u svim ~vorovima primenomDistance Vector Rout ing
algori tma.
Re{enje:
A
A
A
B
B
B
C
C
C
D
D
D
E
E
E
B
B
B
C
C
C
D
D
D
E
E
E
A
A
A
C
C
C
D
D
D
E
E
E
A
A
A
B
B
B
D
D
D
E
E
E
A
A
A
B
B
B
C
C
C
E
E
E
A
A
A
B
B
B
C
C
C
D
D
D
B
B
3
3
B
3
3
3
7
7
12
9
9
E
E
5
5
E
11
11
14
13
8
8
5
5
5
A
A
3
3
A
3
3
3
10
11
8
8
C
C
4
4
C
11
4
4
4
9
9
13
12
E
E
6
6
E
11
11
15
14
9
9
6
6
6
B
B
4
4
B
7
7
4
4
4
13
10
10
D
D
5
5
D
13
14
5
5
5
8
8
E
E
9
9
E
14
14
15
15
12
12
9
9
9
E
E
3
3
E
8
8
9
9
12
11
3
3
3
C
C
5
5
C
12
9
9
5
5
5
14
13
A
A
5
5
A
5
5
5
8
8
12
13
B
B
6
6
B
9
9
6
6
6
10
10
15
C
C
9
9
C
16
13
13
9
9
9
14
14
D
D
3
3
D
11
12
8
8
3
3
3
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 164/260
2/7 Marko Mili~i}
Diskusi ja re{enja:
U prvom redu tabela, popunjavaju se samo razdalj ine do direktnih suseda.
U drugom redu tabela, sledi se slede}a logika:
1.
Da bi iz A do{ao do B, kre}u}i se preko B, potrebno mi je 3 ( jedinice cene)
Ovo je direktna veza.
2.
Da bi iz A do{ao do B, kre}u}i se preko E, prvo moram da izra~unam kol iko }e
mi trebat i da do|em od A do E. Nakon {to sam to izra~unao ( pogledav{i u
tabele iz prvog reda ) dopisao sam plavom bojom broj 5 iznad kolone E. Ova
broj mi ozna~ava da mi od A do E treba 5 jedinica cene. Sada, kada znam
koliko mi treba od A do E treba da na|em kol iko mi treba od E do B i da tu
razdalj inu saberem sa onim plavim brojem 5 iznad tabele. Hmmmm, od E do B
}e mi trebat i 6 jedinica cene. Dakle, kada saberem onu plavu pet icu i ovu
{est icu, dobijam 11.
3.
Is tom logikom se slu`imo za sve mogu}e dest inaci je.
U tre}em redu tabela se sledi sl i~na logika kao u drugom koraku. Ja }u dat
primer ponovo za tabelu A:
1. Da bi se iz A do{lo do B, kre}u}i se preko B, potrebno mi je 3 jedinica cene.
Ovo je, kao i u pro{lom primeru, direktna veza.
2.
Da bi se iz A do{lo do C preko E, moramo prvo da vidimo kol iko nam treba od
A do E, i da napi{emo onaj plavi broj iznad tabele. Po{to sam ve} jedared
odredio sve plave brojeve za prvi red tabl ica, prosto }u prepisat i plavu pet icu
iznad kolone za E. Sada, treba odredit i , kol iko mi je potrebno od E do C
Posmatram drugi red tabela i zakl ju~ujem da je ovog puta na raspolaganju tr
vari jant i . Te vari jante su 10, 9 i 8 jedinica cene. Naravno, slu`e}i se principom
ekonomi~nost i , biram ono 8. Dakle, sada treba sabrat i 8+5 i dobijamo 13
jedinica cene. Prime}ujemo da je za ovaj ist i put u drugom redu tabela bi lo
potrebno 14 jedinica cene! Naravno, jer tada smo za put izme|u E i C imal
samo jednu opci ju koja je ko{tala 9 jedinica cene. Sada su nam se otvori le
nove opci je, mi smo biral i naj jeft ini ju i tako je na{a tabela po~ela da
konvergira ka najjekonomi~ni jem re{enju.
3.
Is tom logikom se slu`imo za sve mogu}e dest inaci je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 165/260
3/7 Marko Mili~i}
Zadatak
Za mre`u sa 4 ~vora, zadatu tabelom i grafom, primenomDistance
Vector Rout ing
algori tma prikazat i postupak punjenja tabela rastojanja u svim
~vorovima. Ako se u trenutku T0, nakon uspostavl janja ravnote`nog stanja, te`ina
grane BC promeni sa 1 na 3, prikazat i postupak uspostavl janja nove ravnote`e.
6 6
3
1
2A C
D B
Poteg: AC AD BC BD CD
Te`ina 2 6 1 3 6
Re{enje:
A
A
A
B
B
B
C
C
C
D
D
D
B
B
B
C
C
C
D
D
D
A
A
A
C
C
C
D
D
D
A
A
A
B
B
B
D
D
D
A
A
A
B
B
B
C
C
C
C
C
2
2C
3
3
2
2
2
8
6
D
D
6
6D
9
9
12
10
6
6
6
C
C
1
1C
3
3
1
1
1
7
5
D
D
3
3D
9
9
9
7
3
3
3
A
A
2
2A
2
2
2
5
8
8
B
B
1
1B
4
1
1
1
4
4
D
D
6
6D
12
12
9
9
6
6
6
A
A
6
6A
6
6
6
9
8
8
B
B
3
3B
6
3
3
3
4
4
C
C
6
6C
8
8
7
7
6
6
6
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 166/260
4/7 Marko Mili~i}
Posle poreme}aja ravnote`e, nastupi}e novo ravnote`no stanje!
A
A
A
B
B
B
C
C
C
D
D
D
B
B
B
C
C
C
D
D
D
A
A
A
C
C
C
D
D
D
A
A
A
B
B
B
D
D
D
A
A
A
B
B
B
C
C
C
C
C
2
2
C
5
5
3
2
2
2
6
6
6
D
D
6
6
D
9
9
9
12
10
10
6
6
6
C
C
3
3
C
5
3
3
3
3
3
5
5
5
D
D
3
3
D
9
9
9
9
3
3
3
A
A
2
2
A
2
2
2
7
8
8
8
B
B
3
3
B
4
4
4
3
3
3
4
4
4
D
D
6
6
D
12
12
12
6
6
6
A
A
6
6
A
6
6
6
11
9
9
8
8
8
B
B
3
3
B
6
6
6
3
3
3
6
6
4
C
C
6
6
C
8
8
8
9
9
7
6
6
6
Kada nastane promena na nekom potegu treba ne{to promenit i , al i {ta?
U na{em slu~aju promenio se poteg BC. Dakle, gde god imamo rastojanje izme|u
B i C i l i C i B upisa}emo novu vrednost . A u tom istom redu, gde smo upisal i novu
vrednost , sve ostale brojeve zameni}emo beskona~nom udaljeno{}u. Sada
polazimo od ovih tabela, kao da su nam one startne.
U slede}em redu tabela tra`i}emo one plave brojeve i ponovite ceo postupak
punjenja tabela. Naravno, i u ovom zadatku smo korist i l i is tu logiku pr
popunjavanju tabela kao u predhodnom (apsolutno istu logiku).
Ni je bi l te{ko zar ne ; )
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 167/260
5/7 Marko Mili~i}
Zadatak: Za globalnu mre`u zadatu tabelom prikazat i postupak punjenja rout ing
tabela primenomDistance Vector Routring
algori tma. Parametri u tabel i zadat i su u
slede}em formatu (Oznaka ~vora, interfejs, IP adresa, te`ina iz lazne grane).
A: (1 ) 120.11.31.18 (2)
A: (2) 168.32.201.108 (3)
A: (3) 216.61.12.201 (7)
B: (1 ) 120.11.42.20 (1)
B: (2) 198.108.99.11 (3)
C: (1 ) 168.32.110.58 (4)
C: (2) 131.200.11.73 (2)
D: (1 ) 131.200.28.47 (3)
D: (2) 198.108.99.23 (4)
D: (3) 216.61.12.202 (6)
Re{enje:
N1 = 120.11.x.x
N2 = 168.32.x.x
N3 = 216.61.12.x
N4 = 198.108.99.x
N5 = 131.200.x.x
Na osnovu ovoga mo`emo nacrtat i graf!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 168/260
6/7 Marko Mili~i}
N1
N2
N3
N4
N5
A
2 7
3
B
1
3
C 4
4
D63
2
Treba naglasi t i da su u prethodnom grafu izostavljene povratne grane i da je
nj ihova te`ina 0.
Da bi primenioDistance Vector Rout ing algori tam
, mora}u da iz ovog grafa
pre|em u njemu ekvivalentan. Dakle, imaju}i u vidu izostavl jene grane, mo`emo
da uprost imo graf i na klasi~an na~in prika`emo punjenje Distance Vector Rout ing
Tabela.
A C
3
4
B
2 1
D
7
62 3
3
4
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 169/260
7/7 Marko Mili~i}
A
A
A
B
B
B
C
C
C
D
D
D
B
B
B
C
C
C
D
D
D
A
A
A
C
C
C
D
D
D
A
A
A
B
B
B
D
D
D
A
A
A
B
B
B
C
C
C
B
B
B
3
3
3
C
C
C
D
D
D
7
7
7
A
A
A
1
1
1
D
D
D
3
3
3
A
A
A
3
3
3
D
D
D
2
2
2
A
A
A
6
6
6
B
B
B
4
4
4
C
C
C
3
3
3
2
2
2
2
2
3
3
7
7
1
1
3
3
3
3
2
2
6
6
4
4
3
3
11
11
10
10
5
5
5
5
9
8
4
4
6
6
8
6
8
7
5
5
6
6
10
8
5
5
6
6
8
8
9
9
8
6 8
8
Ovim je zadatak zavr{en!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 170/260
1/13 Marko Mili~i}
ZADATAK: Za globalnu mre`u zadatu tabelom:
- skicirat i mre`u,
- uz pretpostavku da svaki router 2 x lak{e propu{t a pakete u smeru interf .1
interf .2 nego u suprotnom smeru (gde je te`ina dodeljena iz lazu dvostruko ve}a)
primenom L ink State algori tma odredit i i prikazat i rout ing tabelu u ro uter-u B,
- skicirat i razmenu paketa izme|u ra~unara A i J.
A 1 223.18.43.227 1 181.99.23.181 1 192.12.23.128
1 223.18.43.12E
2 223.18.43.200H
2 123.15.41.211B
2 128.77.23.110 1 223.18.43.117 1 123.18.12.111 128.77.23.220
F2 123.27.43.77
I2 181.99.23.14
C2 192.12.23.14 1 123.27.55.181 J 1 192.12.23.208
1 192.12.23.207G
2 128.77.180.33D
2 181.99.27.44
Re{enje:
N1 — C klasa 223.18.43.*
N2 — B klasa 128.77.*.*
N3 — B klasa 181.99.*.*
N4 — C klasa 192.12.23.*
N5 — A klasa 123.*.*.*
A B C D E F G H I J
N1N2
N3
N4
N5
Ustanovi}emo pravi lo da ukol iko neki ~vor ima samo jednu vezu, onda je to
interfejs 1 , a ukol iko ima dve veze, onda je prva veza interfejs 1 a druga veza
interfejs 2 . Sada, na osnovu ove mre`e treba nacrtat i di jagram koj i je zgodan za
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 171/260
2/13 Marko Mili~i}
primenu Dijkstra algori tma za nala`enje najkra}e putanje izme|u ~vorova. Ukol iko
neko mo`e i na osnovu ove sl ike samo napred. U principu i na ovoj sl ic i imamo
dovol jno podataka ako dobro znamo usvojena pravi la. Dakle, kada paket ide u
smeru od rutera B ka N1 koj i je na interfejsu 1, onda zna~i da je paket do{ao sa
interfejsa 2. Zna~i, imamo ote`ani slu~aj i tada pi{emo te`inu 2 na putu od B do
N1. Istom logikom zakl ju~ujemo da je na putu od B do N2 te`ina 1.
Sada na neki na~in trebamo sprovest i DIJKSTRA algori tam. O~ito da moramo skicu
mre`e prevest i u usmereni graf.
Sada na osnovu ove {eme mo`emo sastavi t i s lede}i di jagram:
N1
N3
N2
N4
N5
A
B C
DE
F
G H
I
J
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 172/260
3/13 Marko Mili~i}
Ovo ni je usmereni graf, al i zbog preglednost i , smerove i te`ine veza }u pisat i u
tabel i :
Po{to se u zadatku tra`i da napi{emo rut ing tabelu za ~vor B, onda treba na}
najkra}e puteve od ~vora B do svih mre`a (N1,N2,N3,N4,N5). Za ovo bi trebalo
upotrebit i DIJKSTRA algori tam. Po{to je vrlo nezgodno i nepregledno izvodit
algori tam direktno na grafu, ja }u poku{at i da izvedem tabelatni na~in za
Od Do Direktno Suprotno
A N1 0 0
B N1 2 0
B N2 1 0
C N2 2 0
C N4 1 0
D N4 2 0
D N3 1 0
E N3 2 0
E N1 1 0
F N1 2 0
F N5 1 0
G N5 2 0
G N2 1 0
H N4 2 0
H N5 1 0
I N5 2 0
I N3 1 0
J N4 0 0
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 173/260
4/13 Marko Mili~i}
nala`enje najkra}eg puta do svih ~vorova! Da bi uspeo da prona|em tabelarn
na~in, prvo moram detal jno opisat i DIJKSTRA algori ta.
Di j ks t ra a lgor i tam
Dijkstra algori tam je dobio ime po svom pronalaza~u E.W.Di jkstra. On se bavio
problemom nala`enja najkra}eg rastojanja od jedne do druge ta~ke u grafu
Rade}i na re{avanju problema, zakl ju~io je da tra`e}i najkra}i put izme|u dve
ta~ke u grafu mo`emo dobit i najkra}e puteve za bi lo koje dve ta~ke grafa
(odjedared).
Ovo sve ima itekako veze sa spre`nim stablom grafa. Dakle, neki podgraf, koga
zovemo spre`no stablo mora bit i takav da povezuje sve ta~ke u grafu. Tako|e
kada defini{emo spre`no stablo moramo re}i da ono nesme imati kru`ne veze
Nepostojanje kru`nih veza je nu`no, a to zapravo zna~i da ovakvo stablo nesme
imati vi{e od jednog puta izme|u bi lo koje dve ta~ke grafa.
Kako algori tam funkcioni{e:
Odaberemo izvori{te, t j . za koj i ~vor }emo tra`i t i najkra}e puteve do
ostal ih ~vorova.
Setujemo na beskona~nost cene svih ~vorova, osim onog kog smo odabral
u predhodnom koraku.
Sada treba odabrat i najbl i` i ~vor izvori{nom ~voru!
Po{to je ovo samo po~etak, za sada je jedino po~etni ~vor bl izak samom
sebi. Dakle, za najbl i`eg ~voru S biramo ~vor S (samog sebe).
Sada trebamo nekako obele`i t i ovaj ~vor jer smo za njega ve} prona{l
najkra}i put. Na primer, mo`emo oboji t i ovaj ~vor zelenom bojom .
Sada treba relaksirat i sve ~vorove koj i su susedni ~voru S a jo{ uvek nisu
obojeni u zeleno t j . jo{ uvek za nj ih ni je na|en najkra}i put. A {ta zna~i to
>>relaksirat i<<? Relaksirat i neki ~vor zna~i resetovat i njegovu cenu al
samo ako smo na{l i bol ju cenu t j . ako je cena preko trenutnog izvori{nog
~vora manja od trenutne cene. Pored nove cene pi{e se i ime ~vora koj i je
trenutno izvori{ni .
Od ovih relaksiranih ~vorova, odabrat i najbl i` i ! Sada zamisl imo da je on
izvori{ni! I boj imo ga zelenom bojom {to zna~i da smo ga obradil i t j . za
njega je na|en najkra}i put.
Relaksirat i sve ~vorove koj i su susedni novoizabranom izvori{tu!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 174/260
5/13 Marko Mili~i}
Sada ponovo biramo najbl i` i ~vor teku}em izvori{tu i proces nastavl jamo
do kraja t j . dok svi ~vorovi ne budu obojeni zelenom bojom.
ITD . . . . .
Biramo ~vor B i boj imo ga u zeleno. Njegovi susedi su N1 i N2
Dakle, nj ih relaksiramo i boj imo u `uto. Nova (relaksirana) cena
~vora N1 je BN1+cena(B) 2+0=2 a ~vora N2 je BN2+cena(B) 1+0=1
Dakle, labele su 2B i 1B. Sada biramo N2 za novi ~vor jer je on
jeft ini j i i boj imo ga u zeleno. Njegovi susedi su B, C i G. B je ve}
obojen u zeleno, tako da relaksiramo samo C i G. Nova cena
~vora C je N2C + cena(N2) 0+1=1 a ~vora G je N2G + cena(N2
0+1=1. Sada biramo ~vor sa najjeft ini jom labelom iz skupa
relaksiranih (`ut ih) . Biramo ~vor C i boj imo ga u zeleno. Njegov
susedi su N2 i N4. N2 je ve} pozeleneo pa zato relaksiramo samo
N4. Njegova nova labela je CN4+cena(C) 1+1=2. Nakon toga
ponovo biramo najjeft ini j i ~vor. Sada biramo G . Njegovi susedi suN5 i N2. N2 je ve} pozeleneo, pa zato relaksiramo samo N5
Njegova nova cena je GN5 + cena(G) 2+1=3. Sada ponovo biramo
najjeft ini j i ~vor . To je ~vor N1 . Njegovi susedi su A B E i F. Be je
ve} pozeleneo tako da relaksiramo samo A E i F. Nova cena A-a
je N1A + cena(N1) = 0+2=2. Nova cena E-a je N1E + cena(N1) =
0+2=2. Nova cena ~vora F je N1F + cena(N1) = 0+2=2. Saba biram
~vor A . Svi njegovi susedi suzeleni. Tako da tu ni{ta ne radim
Sada biram ~vor E . Njegovi susedi su N1 i N3. N1 je ve} zelen,zna~i relaksiram samo N3. EN3 + cena(E) = 2+2=4. Sada biram
~vor F . Njegovi susedi su N1 i N5. N1 je ve} zelen. Zna~
relaksiram samo ~vor N5. Njegova nova cena je FN5 + cena(F) =
1+2=3 ona ni je bol ja pa se ne apdejtuje. Sada biram ~vor N4
njegovi susedi su C D H J. relaksiram D. njegova cena je
N4D+cena(N4) = 0+2=2. Nova cena H-a je N4H+cena(N4)=0+2=2
Nova cena J-a je N4J + cena(N4) = 0+2=2. Sada biramo J . Svi njegovi ~vorovi su
zeleni. Zat im biramo ~vor H . njegovi susedi su N5 i N5. N4 je zelen a N5 }emorelaksirat i . Nova cena N5-a je HN5 + cena(H) = 1+2=3. ni je bol ja pa je ne uzimamo
u obzir. Sada biramo ~vor D . Relaksiramo N3. DN3 + cena(D) = 2+2=4. ni je bol ja pa
je ne uzimamo u obzir. Biramo N5 i relaksiramo I. N5I + cena(N5) = 0+3=3. Biramo
i apdejtujemo N3. IN3 + cena(I ) = 1+3=4 lo{i ja je pa je ne uzimamo u obzir.
Od Do + Cena
A N1 0 B,2N1
B N1 2
B N2 10
C N2 2
C N4 1
B,1N2
D N4 2
D N3 2B,2N4
E N3 2
E N1 1B,2N1
F N1 2
F N5 1B,2N1
G N5 2
G N2 1B,1N2
H N4 2
H N5 1B,2N4
I N5 2
I N3 1 B,3N5
J N4 0 B,2N4
N1 A 0
N1 B 0
N1 E 0
N1 F 0
B,2B
N2 B 0
N2 C 0
N2 G 0
B,1B
N3 I 0
N3 E 0
N3 D 0
B,4E
N4 C 0
N4 D 0
N4 H 0
N4 J 0
B,2C
N5 I 0
N5 H 0
N5 G 0
N5 F 0
B,3G
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 175/260
6/13 Marko Mili~i}
Na osnovu DIJKSTRA algori tma, na{ao sam minimalno spre`no stablo uz ~i ju pomo}
mogu lako na}i minimalnu putanju od ~vora B do bi lo kog drugog ~vora. Minimalno
spre`no stablo ~ine du`i:
AN1, CN2, DN4, EN1, FN1, GN2, HN4, IN5, JN4,
N1B, N2B, N3E, N4C, N5G
Ovo stablo se dobija kada po|emo redom iz tabele, i za svaki ~vor pro~i tamo koja
mu je zadnja labela. Dakle, skup ta~aka ~vor-zadnja labela predstavl ja jednu du`
Kada to uradimo za sve ~vorove, dobi}emo skup du`i koje ~ine minimalno spre`no
stablo.
Tabela za ~vor B:
Odred mre`a Ruter rast
N1 B 2
N2 B 1
N3 N2/C 4
N4 N1/E 2
N5 N2/G 3
Razmena izme|u ~vorova A i J bi bi la:
A N E N D J
J N C N B A
→ ⎯ →→ ⎯ →→
⎯→ ⎯ ⎯→ ⎯ ⎯→ ⎯ ⎯→ ⎯ ⎯→ ⎯
13
42
110
01010
Ovo poslednje ne korist i minimalno spre`no stablo, zato {to je to stablo za ~vor BMinimalno spre`no stablo za ~vor B predstavl ja skup putanja za najkra}i put do
bilo kog drugog ~vora polaze}i iz ~vora B.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 176/260
7/13 Marko Mili~i}
Globalna mre`a sastoj i se od ra~unara sa slede}im IP adresama:
A : 198.108.99.1
B : 198.108.99.2
C : 198.108.99.7
D : 198.108.99.18
F : 198.108.71.4
G : 198.108.71.9
H :201.11.107.5
J :201.11.107.17
K :216.61.12.3
L :216.61.12.11
E : 198.108.99.19
( interfejs 1)
E :201.11.107.1
( interfejs 2)
E : 198.108.71.23
( Interfejs 3)
I :201.11.107.19
( Interfejs 1)
I :216.61.12.7
( Interfejs 2)
-Skicirat i ra~unarsku mre`u,
-Prikazati kako izgledaju rout ing tabele za ~vorove A,E i I
-Objasnit i kako se {alje IP datagram od ra~unara C do ra~unara K
Re{enje:
198.108.99198.108.71
216.61.12
B C D
1 2 7
18
E
19
F G
4 9
H J I
5 17 19
H
3
I
11
201.11.107
7
1
23
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 177/260
8/13 Marko Mili~i}
C:
Network Direct/Indirect Router Interface
198.108.99 D 1
198 .108 .7 1 I 198 .108 .99. 19 1
201 .1 1. 107 I 198 .108 .99. 19 1
216.61 .12 I 198 .108 .99. 19 1
E:
Network D/I Router Interface
198.108.99 D 1
198.108.71 D 3
201.11.107 D 2
216.61.12 I 201.11.107.19 1
I :
Network D/I Router Interface
198.108.99 I 201.11.107.1 1
198.108.71 I 201.11.107.1 1
201.11.107 D 2
216.61.12 D 2
Ra~unar C {al je IP datagram u ~i jem zaglavl ju su navedene IP adrese izvora (C) i
odredi{ta (K) . Kako Ethernet frejm zahteva Ethernet adresu u lokalnoj mre`i, da b
mogao bit i poslat , kao odredi{na, navodi se Ethernet adresa IP ruter-a koj i dal je
prosle|uje paket (E ) . Kada paket prist igne u E, IP nivo ovog ra~unara prosle|uje
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 178/260
9/13 Marko Mili~i}
poruku dalje (po{to je utvrdio n eslaganje odredi{ne adrese sa svojom IP adresom)
Ra~unar E paket primljen preko interfejsta 1 prosle|uje na interfejs 2, navode}i kao
odredi{nu adresu ethernet adresu ra~unara I . Ra~unar I , utvr|uje da paket ni je za
njega, al i nalazi da je ra~unar na odredi{noj adresi direktno dostupan i prosle|uje
mu paket. Odluka o tome kom ra~unaru treba poslat i paket donosi se na osnovu
rout ing tabela i slaganja dela IP adrese odredi{ta sa prvom kolonom u njoj
S imboli~ki prikaz paketa sa IP i Ethernet adresama dat je na predhodnoj sl ic i .
Od C do K se ide preko C-E, E-I , I-K
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 179/260
10/13 Marko Mili~i}
Za globalnu mre`u zadatu tabelom skic irat i mre`u i odredit i sadr`aj routing tabele
u ~voru C primenom Link-state algori tma. Parametri u tabel i su dat i u slede}em
formatu:
(oznaka ~vora, interfejs, IP adresa, te`ina iz lazne grane).
A 1 223.18.43.227 - 1 181.99.23.181 3 1 192.12.23.128 2
1 223.18.43.12 3E
2 223.18.43.200 5H
2 123.15.41.211 4
B 2 128.77.23.110 7 1 223.18.43.117 3 1 123.18.12.11 61 128.77.23.220 5
F2 123.27.43.77 5
I2 181.99.23.14 3
C2 192.12.23.14 4 1 123.27.55.181 4 J 1 192.12.23.208 -
1 192.12.23.207 8G
2 128.77.180.33 7D
2 181.99.27.44 3
Re{enje:
N1 — C klasa 223.18.43.*
N2 — B klasa 128.77.*.*
N3 — B klasa 181.99.*.*
N4 — C klasa 192.12.23.*
N5 — A klasa 123.*.*.*
A B C D E F G H I J
N1
N2
N3
N4
N5
Umesto usmerenog grafa, ja }u napisat i s lede}u tabelu, u kojoj su svi podaci koj
bi bi l i u usmerenom grafu.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 180/260
11/13 Marko Mili~i}
Spre`no stablo se sastoj i od slede}ih du`i:
AN1, BN2, DN4, EN3, FN1, GN2, HN4, IN3, JN4
N1B, N2C, N3D, N4C, N5H
Tabele se mogu prikazat i na slede}i na~in:
Za ~vor C:
Network Direct/Indirect Router Interface
N1 I N2/B 1
N2 D 1
N3 I N4/D 2
N4 D 2
N5 I N4/H 2
Od Do + Cena
A N1 - B,(0+8)N1
B N1 3
B N2 7B,(0+5)N2
C N2 5
C N4 4
D N4 8
D N3 3B,(0+4)N4
E N3 3
E N1 5B,(0+7)N3
F N1 3
F N5 5 B,(0+8)N1
G N5 4
G N2 7B,(0+5)N2
H N4 2
H N5 4B,(0+4)N4
I N5 6
I N3 3B,(0+7)N3
J N4 - B,(0+4)N4
N1 A 0
N1 B 0
N1 E 0
N1 F 0
B,(3+5)B
N2 B 0
N2 C 0
N2 G 0
B,(5+0)C
N3 I 0
N3 E 0
N3 D 0
B,(3+4)D
N4 C 0
N4 D 0
N4 H 0
N4 J 0
B,(4+0)C
N5 I 0 N5 H 0
N5 G 0
N5 F 0
B,(4+4)H
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 181/260
12/13 Marko Mili~i}
Primer DIJKSTRA algori tma:
Graf je dat tabelom!
KORAK I:
Na samom po~etku treba resetovat i sve cene osim cene
izvori{ta na beskona~nost . Zat im, izaberemo ~vor S. Po{to
jo{ uvek ni je ni{ta relaksirano, onda je jedino on sam seb
najbl i` i sused, pa ga biramo i boj imo u zeleno. Sada treba
relaksirat i njegove susede. Njegovi susedi suU i X
jer za
suseda smatramo samo ~vor DO koga postoj i veza, a ne ~vor OD goga postoj
veza. Po{to je trenutna cena svih njegovih suseda (beskona~no) onda je logi~no da
ih trebamo relaksirat i . Dakle, nova cena ~vora U je 10 a predhodnik mu je S. Dakle
labela bi bi la 10 S . Naredni sused je X. Istom logikom dobijam da je labela za X
jednaka 5 S. Sve relaksirane ~vorove treba oboji t i `utom bojom.
KORAK I I :
Sada, biramo najjeft ini j i ~vor iz skupa relaksiranih
~vorova. To je ~vor koj i ima najmanju cenu u label i
Dakle, to je ~vor X. Sada X postaje izvori{te i boj imo
ga u zeleno. Relaksiramo njegove susede, a to su Y
U i V . Sada njegove susede bojimo u `uto. Poenta
relaksiranja je da vidimo da l i postoj i neki kra}i put
do S od trenutnog puta. Samo relaksiranje se izvod
tako {to vidimo sve susede datog ~vora koj i vode DO njega od trenutnog
odredi{ta.Ovde j e v a `no p r ime t it i da kada b i ramo su sede i z v o r i{ t a t o s u samo
sused i DO ko j i h vod i i z vo r a sada p r i r e la k s i r an ju sused i su samo on i sused i ko j
vode DO ~vo ra ko j i se r e la k s i r a
.
Znaju}i ovo pravi lo, po~injem relaksaci ju ~vora Y. Njegovi susedi su V i X. Od ova
dva, bira se onaj koj i pot i~e sa novoizabranog ~vora. Dakle, to je ~vor X ~i ja je
te`ina 2 a cena labele 5. Zat im se sabira ova cena sa te`inom grane XY +
cena(X). Dakle 5+2=7.
Za ~vor U, njegovi susedi su svi ~vorovi koj i vode ka njemu: S, X. Sabiramo X ~i ja
je te`ina 3. Sabiramo XU + cena(X) => 5+3=8
Za ~vor V, njegovi susedi su: U, Y, X. poteg koj i pot i~e sa X nosi te`inu 9 a cna
X-a je 5 dakle, sabiramo XV + cena(X) => 9+5=14.
A B A-B Cena
S U 10
S X 5
U V 1
U X 2B-,10S
V Y 4 B-
Y V 6
Y S 7B-
A B A-B Cena
S U 10
S X 50
U V 1
U X 2B-,10S,8X
V Y 4 B-,14X
Y V 6
Y S 7B-,7X
X Y 2
X U 3
X V 9
B-,5S
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 182/260
13/13 Marko Mili~i}
KORAK I I I :
Sada biramo najjeft ini j i ~vor. To je ~vor Y. Boj imo ga
u zeleno. Relaksiramo njegove susede, a to su: V.
Poteg YV ima te`inu 6 a cena Y-a je 7 dakle, nova
te`ina je YV + cena(Y) => 6+7=13.
KORAK IV:
Sada od svih relaksiranih ~vorova biramo U je
ima najmanju labelu. Boj imo ga u zeleno
relaksiramo njegove susede. Susedi U-a su V i X
Relaksiramo V. U-V grana je te{ka 1 a cena U-a
je 8 tako da je nova labela ustvari UV + cena(U= 1+8=9.
Na osnovu ovog postupka, mogu definisat i minimalno spre`no stablo za ovaj graf!
A to je:
X-S
Y-X
V-U
U-X
Ove du`i ~ine minimalno stablo koje povezi je sve ~vorove grafa i naziva se
minimalno spre`no stablo!
A B A-B Cena
S U 10
S X 50
U V 1
U X 2B-,10S,8X
V Y 4 B-,14X,13Y
Y V 6
Y S 7 B-,7X
X Y 2
X U 3
X V 9
B-,5S
A B A-B Cena
S U 10
S X 50
U V 1
U X 2B-,10S,8X
V Y 4 B-,14X,13Y,9UY V 6
Y S 7B-,7X
X Y 2
X U 3
X V 9
B-,5S
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 183/260
1/21 Marko Mili~i}
Zadatak. ^vor A preko ~vora B {al je pakete podataka ~voru C. ^vor B, na svaka
dva prosle|ena paketa prist igla od A, {al je i jedan svoj paket ~voru C. Odredit
brzinu prenosa paketa podataka izme|u ~vorova B i C, za slu~aj slanja vel ikog
broja paketa (<<30), tako da ne do|e do zastoja u protoku. Zadati su slede}
uslovi :
- Podaci se izme|u ~vorova A i B prenose brzinom od 25 Kb/s
- Ka{njenje je 10 mikrosekundi/Km za obe l ini je
- L ini je su Ful l-duplex
- Paket i sa podacima su du`ine 1000b
- ACK paket i su zanemarl j ive du`ine
- Za prenos izme|u ~vorova A i B korist i se selekt ivna retransmisi ja vel i~ ine
prozora 4
- Za prenos izme|u ~vorova B i C korist i se protokol Stop and Wait
- Nema gre{aka, nit i gubitaka paketa u kanalu
- Razdalj ine su: AB=2000 Km, BC=500 Km
- Vreme obrade paketa se zanemaruje.
A CSelektivnaretransmisija Stop & Wait
B
Re{enje:
Rab = 25 Kb/s
Dab = 2000 Km
L = 1000 b
Rbc = ?
Dbc = 500 Km
L = 1000 b
Brzina prost iranja signala dobija se kao recipro~na vrednost ka{njenja kroz
medijum.
V = 1/10*0.000001 = 100000 Km/s
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 184/260
2/21 Marko Mili~i}
A-B:
2
1
100000
50000==
⋅⋅
== LV
D R
R
LV
D
Aab
( )( )
⎪⎩
⎪⎨⎧
+⋅+⋅−
+⋅≥−=
22,12
112,1
awa
pwaw p
U p
4
212
=
=+⋅
w
a
Dakle, zakl ju~ujemo da je:
1=U t j . nema ~ekanja na deonici A-B.
Sada mo`emo da izra~unamo kol iko je potrebno vreme za slanje jednog frejma na
deonici A-B:
Tframe(ab)=L/R=1000b/25Kb/s=40ms. Ovo je vreme koje je jednako kol i~niku du`ine
rama i brzine na toj deonici .
Tako|e, mo`emo da izra~unamo kol iko je propagaciono ka{njenje na deonici B-C:
Tprop(bc)=D*Tprop= 10 mikrosekundi * 500 Km = 5 ms
Znamo da se na svaka 2 paketa od A do B dodaje i jedan od strane B-a i tako
se {al ju ka C-u.
N*Tframe(ab) = (3/2) N(2*5ms + Tframe(bc) )
40 = 3/2(10ms + Tframe(bc)
=>
Tframe(bc) = 16.6 ms
R=1000/16.6ms = 60Kb/s
Ovim je zadatak zavr{en!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 185/260
3/21 Marko Mili~i}
Zadatak: Saobra}aj izme|u dve stanice odvi ja se po algori tmu >> selekt ivna
retransmisi ja<<. Stanice su na me|usobnoj udaljenost i od 5000 Km i povezani su
komunikacionim kanalom koj i prenosi signal brzinom od 2*10 8 m/s. Neka je:
- Veli~ ina paketa 1000 b
- Veli~ ina prozora 10
- Brzina slanja 1000000 b/s.
a) Odredit i iskori{}enost kanala ako je bit error rate (BER) = 10 - 4 (0.0001)
b) Skic irat i vremenski di jagram razmene paketa izme|u izvora i odredi{ta, ako je
vel i~ ina bafera — 5 poruka, a pri l ikom transporta dolazi do naru{avanja INFO3
ACK4 rama.
Re{enje:
a)
D = 5000 Km
V = 2*108 m/s
L = 1000b
W = 10
R = 106 b/s
E=10 -4
U=?
( )⎪⎩
⎪⎨⎧
+
+≥
+−−
=12,
12,
12
1
1
aw
aw
a
pw
p
U p
( )
5112
2510210
10510
%5.9095.011
83
66
1000
=+
=⋅⋅⋅⋅
=⋅⋅
=
==−−=
a
LV
d Ra
E P
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 186/260
4/21 Marko Mili~i}
( )177.0
51
905.010==U
b)
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
3
3
4
4
8
8
0 0 0 0 01 1 1 1
1
2 2 2 22
3 3
3 33 3 3
44
4 4 4 43
55
5 5 5 4
66 6 6
6
7 7 778
0 1 2 3 4567
8
Itd...
Po{to je u pitanju pr otokol selekt ivna retransmisi ja, numerisanje moramo da vr{imo
po modulu jednakom 2w. Dakle, 20. U na{em slu~aju od 0 do 19. Po{to je bafer
manji od prozora, mora}emo da korist imo Negative Acknowledge Signal, da bi na
vreme mogli da reagujemo! [ta se ustvari de{ava?
Prvo sender {al je paket nroj 0. Paketu je potrebno izvesno vreme da st igne do
receiver-a. ^im po{alje paket, sender ga smest i u bafer nepotvr|enih paketa da b
eventualno mogao da ga ponovo po{alje ako se slu~ajno desi gre{ka u kanalu
Zat im sender {al je pakete broj 1,2,3,4. U trenutku kada po{alje paket broj 4 tada
st i`e potvrda da je paket broj 0 spe{no primljen. Dakle, sada je sender saznao da
je paket broj 0 uspe{no prenesen i u slede}m trenutku (kada {al je paket 5) }e
izbrisat i iz bafera paket broj 0. U trenutku slanja paketa broj 5 st i`e potvrda oprispe}u paketa 1 tako da }e sender, kada {al je paket broj 6 pre nego {to ga
smest i u bafer obrisat i iz bafera paket broj 1. Odmah nakon slanja paketa 6 st i`e
potvrda o paketu broj 2. Dakle, kada sender krene da {al je slede}i paket (pake
broj 7) , pre upisa paketa 7 u bafer, on }e izbrisat i paket broj 2 iz bafera jer je za
njega st igla potvrda.
E, {ta se u me|uvremenu de{avalo?
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 187/260
5/21 Marko Mili~i}
Sender je non-stop slao podatke iako ni je znao da l i su paket i prenet i bez gre{ke
On ih je za nedaj-bo`e stavl jao u bafer. Jedna takva nedaj-bo`e si tuaci ja je
nastala kada mu se izgubio paket broj 3.
Ris iver ima jedan speci jalni bafer u koj stavl ja sve pakete koj i st ignu do njega bez
gre{ke a ni je ga o~ekivao. Ris iver je primetio da mu je st igao paket 3 sa gre{kom
i umesto signala potvrde on {al je zahtev da se ponovo po{alje paket broj tr i .
Dakle, nakon slanja paketa broj 7, trebalo bi da mu st igne potvrda o paketu 3
me|utim po{to je paket o{te}en umesto potvrde si`e zahtev za ponovnim slanjem
paketa broj 3. Zbog ovoga, umesto da se nakon slanja paketa broj 7 {al je paket
broj 8, sender mora da ponovo po{alje paket broj 3. U trenutku ovog slanja
trebalo bi da st igne potvrda o paketu broj 4. Me|utim, iako je paket dobro st igao
njegova potvrda je izgubljena u kanalu, tako da do sendera ne dolazi potvrda. On
ovo shvata isto kao da se izgubio sam paket. Dakle, odmah nakon ponovnog
slanja paketa broj 3 {al je se paket broj 4 jer je i on o{te}en. U trenutku kada se
ponovo {al je paket broj 4 treba da st igne potvrda za paket broj 5, tako da }e u
narednom trenutku, kada se {al je paket broj 8, iz bafera bit i izba~en paket broj 5.
Detal jno sam opisao postupak o nastajanja gre{aka i za vreme otklanjanja
gre{aka, dal j i tok transmisi je }e bit i potpuno analogan onom po~etnom delu
transmisi je bez gre{aka i stoga ga je suvi{no opisivat i i komentarisat i !
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 188/260
6/21 Marko Mili~i}
Zadatak: Predajnik i pri jemnik se nalaze na udaljenost i od 1000 Km, a prenos
poruka se obavl ja pod kontrolom protokola Go Back N sa vl i~ inom prozora 7 i u
predajniku i u pri jemniku. Paket i su vel i~ ine 1000b. Signal se kroz kanal prost ire
brzinom od 2*108m/s
- Odredit i brzinu slanja podataka tako da iskori{}enost kanala u slu~aju da u
njemu ne nastaju gre{ke bude 50%
- Za brzinu slanja podataka dobijenu iz predhodne ta~ke, izra~unat i iskori{}enos
kanala u slu~aju da je verovatno}a naru{enost i nekog bita u poruci E=2*10 -5 .
NAPOMENA:
Iskori{}enost kanala se ra~una po formuli :
( )
( )( )⎪
⎪
⎩
⎪⎪⎨
⎧
+⋅
+−+⋅
−
+⋅≥+−
=12,
112
1
12,21
1
aw
wP P a
P w
awaP
P
U p
Re{enje:
D=1000 Km
W=7
L=1000b
V=2*108m/s
a)
U>0.5
Sa gre{kama:
( )( )( )⎪
⎪⎩
⎪⎪⎨⎧
+⋅+−+⋅
−
+⋅≥+−
=12,
112
1
12,21
1
awwP P a
P w
awaP P
U p
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 189/260
7/21 Marko Mili~i}
Bez gre{aka:
( )⎪⎩
⎪⎨⎧
+⋅+⋅
+⋅≥=
12,12
12,1
awa
waw
U p
sb D
LV R
wa
aw
aw
VL
RDa
/10135.6
5.65.0
5.0
5.012
5⋅=⋅⋅
=−
++
=
p
p
f
f
b)
( )( )
( ) ( ) 58.0
68.1
92.0
84.02
92.0
14.098.02
98.0
702.002.0114
029.017
029.011
1025.6
1000
5
==⋅
=−
=⋅−−
−=
=−−=
⋅==
−
U
E P
E a
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 190/260
8/21 Marko Mili~i}
Zadatak : Prikazat i saobra}aj izme|u 2 IMP-a, ako se korist i protokol Go Back N za
kontrolu toka protoka. Paket i su vel i~ ine 1000b, brzina prenosa je 100 Kb/s,
ka{njenje ful l-duplex l ini je je 10 mikrosekundi, a razdalj ina izme|u IMP-a je 2000
Km. Pretpostavi t i da su INFO3 i ACK5 naru{eni. (Numeraci ja po~inje od nule) . Ako
su vel i~ ine predajnog i pri jemnog bafera 7 poruka , predlo`i t i vel i~ inu prozora
objasnit i kako treba vr{i t i numeraci ju poruka, da ne bi do{lo do kol iz i je.
Ttimeout = 1s.
Objasnit i pri lo`eno re{enje!
Re{enje:
sTimeout
W
Km D
V
s
Kb R
b L
1
7
2000
10101
100
1000
6
=
=
=
⋅=
=
=
−
( )⎪⎩
⎪⎨⎧
+⋅+⋅
+⋅≥=
12,12
12,1
awa
waw
U p
2.021
1
512
2048.2
=+
=
=+
≈==
aU
a
LV
RDa
10010
1
100097.0
102400
1000
=
≈===
ms
s
ms
s
b
bTframe
R
L
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 191/260
9/21 Marko Mili~i}
Dakle, u toku jednog TimeOut-a mo`e se prenet i 100 poruka. Po{to je ovo
ogroman t ime out interval, moramo regulisat i vel i~ inu prozora. Moj predlog je da
vel i~ ina prozora bude 8 poruka, da bi odmah po pra`njenju prozora moglo da se
odreaguje na nedolazak potvrde za frejm broj 3. Drugo re{enje je da se korist
NACK signal, al i ja misl im da je bol je korist i t i kra}i prozor u ovom slu~aju.
Saobra}aj se mo`e prikazat i slede}om sl ikom!
0
0 0 0 0 0
1 1 1 1
1
2 2 2
2
2
3 3
3
3
3
4
4
4
4
5
5
5
6
6
7
1
0 1
2
2
3
3
4 5 6 7 3
3
3
4
3
4
4
5
3 3 3
4 4 4
5 5 5
5
6
6 6
7
4
5
6
7
7
8
8
5
6
7
8
0
6
7
8
0
0
1
1
6 7
7
8
0
1
2
2
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 192/260
10/21 Marko Mili~i}
Zadatak: Prikazat i saobra}aj izme|u 2 radne stanice koje koriste selekt ivnu
retransmisi ju za kontrolu toka podataka na transportnom nivou. Paket i su vel i~ ine
1000 b, brzina slanja je 100 Kb/s, ka{njenje ful l-duplex l ini je je 10 µs/KM, a
razdalj ina izme|u stanica iznosi 2000 KM.
Pretpostavi t i da su INFO4 i ACK5 ramovi naru{eni. Ako su vel i~ ine predajnog
pri jemnog bafera po 7 Kb, objasnit i kako treba vr{i t i numeraci ju poruka da ne b
do{lo do kol iz i je. Predlo`i t i >>optimalnu<< du`inu t ime-out intervala ( i obrazlo`i t
predlo`enu vrednost ) .
Re{enje:
m Kmd
s
mV
Km
s
V
s
b
s
Kb R
b L
6
8
1022000
10
1
101
102400100
1000
⋅==
=
=
==
=
µ
512
048.2
≈+⋅
=⋅⋅
=
a
V L
d Ra
Bafer = 7 dakle, w=7
Po{to je w=7 vr{imo numerisanje po modulu 14 (%14).
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 193/260
11/21 Marko Mili~i}
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
10
10
4
4
5
5
8 9 10 11 120 0 0 0 0
1 1 1 1
1
2 2 22
2
3 33
3
3
44
44
4 4 4 4 4 4 4 4
55
55 5 5 5 5 5 5 5
5
11
11
12
66
6 6 6
77 7 7
7
8 8 88
8
9 99
99
1010
1010
10
Time out
Ttimeout:
msTtimeput 68102400
7000==
Timeout treba da iznosi onol iko vremena koliko je potrebno da se prenese 7
paketa vel i~ ine 1000b brzinom 102400 b/s. Ovim se omogu}ava minimalizaci ja
ka{njenja t j . latenci je.
Ovim je zadatak zavr{en!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 194/260
12/21 Marko Mili~i}
Zadatak: Za protokol Stop & wait odredit i :
A) Vel i~ inu paketa ( frame -a), ako je brzina slanja 4Kb/s, propagaciono ka{njenje
20ms, vel i~ ina zaglavl ja 20b, vel i~ ina ACK/NAK paketa je 20b, brzina obrade
signala na izvoru i odredi{tu je 64Kb/s, tako da iskori{}enost kanala bude vi{e od
50%;
B) Za datu vel i~ inu paketa odredit i frekvenci ju gre{ke (bit error rate
) , tako daiskori{}enost kanala bude ve}a od 30%.
Re{enje:
A)
%50
64
20/
20
20
4
?
>
=
=
=
=
=
=
U
s
KbVab
b NACK ACK
b ZAG
msTpropS
Kb R
L
%50==
=
=
=
++++=
Tuk
TfrejmaU
R
Lak Tack
Vobr
LTobr
R
LTfrejma
TpropTack Tobr TpropTfrejmaTuk
152
172
31.4011
31.0/64
2040
0
2
22
=
=
=⎟ ⎠
⎞⎜⎝
⎛ −
=+=−
+=−
+++=
Lpak
L
msVob R
L
ms s Kb
bms
br V
L
R
L
Tack TpropTobr Tf
Tack Tobr TpropTf Tf
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 195/260
13/21 Marko Mili~i}
B)
( )
E
E P
Nr P
Uer
U Nr
Nr
U Uer
Lfrejma
Lfrejma
⇒
−−==
==−
===
=
=
114.0
6.01
1
66.130
50
172
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 196/260
14/21 Marko Mili~i}
Zadatak: Ra~unari A i B komuniciraju po protokolu Go Back N . Propagaciono
ka{njenje zadato funkci jom na sl ic i . U slu~aju da ra~unar A samo {al je, a B samo
prima poruke, skic irat i saobra}aj (prvih 5 poruka) ako su i vel i~ ina prozora
vel i~ ina bafera u predajniku po 3 poruke.
Uporedit i efikasnost saobra}aja u slu~aju da se koriste NAK ramovi u odnosu na
retransmisi ju samo na osnovu isteka t ime-out-a (bez NAK-a). Na osnovu sl ika
odredit i kol iko je potrebno vremena da se prenese 5 ramova ovim metodama (sa
bez NAK-a).
Re{enje:
Ova tabla nam otkriva odnos izme|u vremena propagaci je i vremena potrebnog za
slanje poruke (frejma). Sa sl ike se vidi da je:
3 _ _
2 _ _
1 _ _
3 _ _
2 _ _
=
=
=
=
=
poruku petu zaTfrm
Tprop
porukucetvrtu zaTfrm
Tprop
porukutrecu zaTfrm
Tprop
porukudrugu zaTfrm
Tprop
poruku prvu zaTfrm
Tprop
Odavde zakl ju~ujemo da je propagaciono ka{njenje:
- prve poruke jednako 2Tfrm
- druge poruke jednako 3Tfrm
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 197/260
15/21 Marko Mili~i}
i td . . .
Sada, daj da vidimo kol iko je ukupno vr emena potrebno:
Tuk=Tfrm + Tprop + Tobr + Tack + Tprop
Dakle, ukupno potrebno vreme je u op{tem slu~aju jednako zbiru vremena
potrebnog za slanje frejma (Tfrm), propagacionog ka{njenja (Tprop), vremena
obrate (Tobr) , Vremena potrebnog za slanje potvrde (Tack) i ponovo propagacionog
ka{njenja al i ovog puta za ack signal.
Tuk=Tfrm + Tprop + Tobr + Tack + Tprop
Po{to }emo da zanemarimo vreme obrade i vreme slanja ACK signala dobi}emo:
Tuk=Tfrm + Tprop + Tprop = Tfrm + 2Tprop
Tuk1=5Tfrm
Tuk2=7Tfrm
Tuk3=3Tfrm
Bez NACK!
0
0
1
0 0
1
2
0
1
2
12
0
0
1
2
1
0
1
2
2
1
2
0 12
3
1
2
3 4
0 1 2
3
2
4
3
2
2
2
3
4
4
4
2
3
4
4
4
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 198/260
16/21 Marko Mili~i}
Zadatak: Ako se kontrola toka obavl ja po protokolu Go Back N , odredit i grani~nu
brzinu slanja podataka, tako da iskori{}enost kanala bude 100% u slu~aju da ne
nastaju gre{ke u prenosu. Vel i~ ina prozora u predajniku je 5, rastojanje predajnika
i pri jemnika je 5000km, a brzina prenosa signala je 2*10 8 m/s. Neka je vel i~ ina
paketa 1000b.
- Da l i je dobijena brzina minimalna i l i maksimalna za slu~aj potpune
iskori{}enost i kanala?
- Za prethodno izra~unatu brzinu slanja nacrtat i razmenu paketa u slu~aju da su
izgubljeni INFO1 i ACK3.
- Objasnit i , kako bi naj lak{e bio izbegnut zastoj u slanju ako bi ACK0 zakasnio
12ms.
5
5000
/10
?
1000
8
=
=
=
==
W
Km D
smV
R
b L
( )⎪⎩
⎪⎨⎧
+⋅+⋅
+⋅≥=
12,12
12,1
awa
waw
U p
LV
RDa =
2
125
12
<=
+>=
+>=
a
a
aw
Da bi iskori{}enost bi la 100% a mora bit i manje od 2!
s Kb sb D
aVL RaVL RD /80/80000 ===⇒=
Ako je manje a, manja je i brzina, a po{to je ovo ra~unato za maksimalno a,
onda je ovo maksimalna brzina. Kada bi R1 bi lo ve}e od R, onda bi a1 bi lo ve}e
od a, a to ne bi bi lo dobro jer bi tada efikasnost opala!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 199/260
17/21 Marko Mili~i}
Sl ika koja predstavl ja saobra}aj izme|u dva ra~unara u slu~aju da su naru{en
INFO1 i ACK3 frejmovi.
0
0 0 0 0 01 1 1 1 1
2 2 2
2
3 33
445
1
0 E
2
D
3 4 5 1 2 3
3
4
34
5
345
0 1 2 3 4
1 12 12 12 12 3
45
2
0
34
501
45
012
50
123
01
234
D D D 1 2 3 4 5 0 1 2 3 4
0 1 2 3 4 5 0 1 2 3 4
Potrebna nam je informaci ja o t ime-out intervalu.
Po{to znam da bafer prima 5 paketa, idealno bi bi lo da t ime-out bude jednak
vremenu potrebnom za slanje 5 poruka. Dakle, to vreme je jednako proizvodu
5*L/R=TimeOut:
ms
s
b
bTframe
R
L5.120125.0
80000
1000≈===
Dakle, jednom frejmu je potrebno 12.5 ms da st igne do odredi{ta. Ukupan t ime-
out interval bi bio: 5*12.5 = 62.5ms
Najlak{i na~in za izbegavanje zagu{enja je da produ`imo t ime-out interval za
vreme ka{njenja frejma INFO0, {to za sobom poval~i pove}avanje pr ozora za jednomesto. Naravno, ukol iko bi pove}al i prozor za jedno mesto, onda bi nam bio
potreban ve}i skup za numeraci ju frejmova jer znamo da je n=w+1 za go-backN t j
numeri{emo po modulu w+1.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 200/260
18/21 Marko Mili~i}
Primer za Go-back-N
Go-back-n protokol ima bafer vel i~ ine 1 na pri jemnoj strani. Kada st igne potvrda
za frejm koj i se nalazi na dnu prozora na predajnoj strani, to zna~i da je ova
paket uspe{no prene{en i da se prozor mo`e pomerit i za jedno mesto na gore.
Pri l ikom svakog slanja frejma, setuje se tajmer. Ukol iko potvrda st igne pre nego
{to tajmer istekne, tajmer se cancel-uje. Me|utim, ukol iko tajmer istekne, svi ostal
tajmer koj i nisu istekl i , mogu se cancel-ovat i . Sada je potrebno da se retransmituje
ceo prozor frejmova po~ev{i sa frejmm najmanjeg broja koj i n i je potvr|en.
Na pri jemnoj strani postoj i prozor vel i~ ine 1. Svi frejmovi koj i ne pripadaju ovom
prozoru moraju bit i odba~eni. Naravno, frejm koj i pripada ovom prozoru se
korektno prima, i za njega se {al je potvrda.
[ta se de{ava ako se izgubi potvrda u kanalu?
Ukoliko se izgubi potvrda za frejm 3, a prva potvrda koju predajnik primi je za
frejm broj 4, onda on vrlo lako mo`e da zakl ju~i da je frejm 3 uspe{no prenet
preko komunikacionog kanala, jer u prot ivnom nikako ne bi mogla da bude
generisana potvrda za frejm broj 4.
Frejmovi 1 i2 su poslat i i primljeni bez gre{ke.
Frejm 3 je poslat , al i nastala je gre{ka u komunikacionom kanalu i on ni je
korektno primljen.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 201/260
19/21 Marko Mili~i}
Dakle, poslednj i ACK signal generisan je za frejm broj 2. Iako frejmovi 4 i
5 st i`u bez gre{ke, za nj ih ne}e bit i generisan ACK signal jer odredi{te
o~ekuje frejm broj 3.
Posle izvesnog vremena, tajmer koj i je setovan kada je poslat frejm broj 3
}e iste}i .
Ovde je va`no primeti i t i , da je jednino va`no koj i je prvi frejm do`iveo
gre{ku u kanalu. Svi frejmovi koj i st i`u posle takvog fr ejma tret iraju se kao
da su pretrpel i gre{ku (~ak iako mo`da i nisu). Dakle, jedno je bitna prva
gre{ka.
Nakon {to istekne tajmer, svi frejmovi iz prozora u predajniku se ponovo
{al ju kroz komunikacioni kanal. Dakle, to }e bit i frejmovi broj: 3, 4, 5 i td.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 202/260
20/21 Marko Mili~i}
Primer za Selekt ivnu retransmisi ju !
Protokol Select ive Retransmit ion poku{ava da redukuje broj retransmitovanih paketa
tako {to poku{ava da sa~uva maksimalni broj paket i}a koj i su korektno prispel i u
odredi{te. On to ~ini pove}avaju}i bafer u pri jemniku t j . odredi{tu. Dakle
predajnikov prozor je sada ve}i od jedne pozici je, kao {to je to bio slu~aj u tehnic
Go-Back-N.
Kada frejm prist igne, njemu se proverava redni broj. Ako je njegov broj jednak
najmanjem broju u okviru pri jemnikovog prozora, onda se taj frejm prosle|uje na
mre`ni nivo a prozor se pomera za jedno mesto na gore. Me|utim, ukol iko njegov
broj ni je jedank najmanjem broju u okviru prozora, a ipak je u okviru prozora
onda }e taj frejm bit i sa~uvan u lokalnom baferu. Tada se {al je potvrda o
poslednjem korektno primljenom frejmu.
U slu~aju da frejm koga smo o~ekival i st igne sa zaka{njenjem, onda se on
prosle|uje na mre`ni nivo. Tako|e se u mre`ni nivo prosle|uju svi frejmovi koj i su
privremeno sme{teni u pri jemnom baferu. Ovoga puta, potvrda se {al je za frejm
koji je poslednj i poslat na mre`ni nivo!
Primer za ovaj protokol je dat slede}om ilustraci jom:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 203/260
21/21 Marko Mili~i}
Ukratko }u komentarisat i kako te~e razmena frejmova i poku{at i da t ime objasnim
na~in funkcionisanja ovog protokola!
Kao prvo vel i~ ina predajnog i pri jemnog prozora je ista i iznosi 8 pozici ja.
Na samom po~etku, prozori na obe strane obuhvataju frejmove
1,2,3,4,5,6,7 i 8.
Prvo se {al je frejm broj 1, on uspe{no st i`e na odredi{te i po{to je u
pri jemnom prozoru on jednak sa najmanjim brojem prozora, on odmah
biva prosle|en na mre`ni nivo. Odmah nakon toga prozor u pri jemniku se
pomera za jedno mesto na gore, tako da sada prozor u pri jemniku
obuhvata brojeve 2,3,4,5,6,7,8 i 9.
Isto se de{ava sa frejmom 2 i nakon njegovog prosle|ivanja u mre`n
nivo, pri jemni prozor sadr`i brojeve 3,4,5,6,7,8,9 i 10.
Sada treba da st igne frejm 3. Me|utim, on se negde na putu o{tet io i na
pri jemu biva ignorisan. U tom trenutku se ne generi{ i nikakva potvrda.
Sada korektno prist i`e paket sa rednim brojem 4. Po{to on pripada
prozoru, al i ni je trenutno o~ekivan, on biva sa~uvan u baferu. Ovoga puta
se generi{e potvrda za poslednj i frejm koj i je prosle|en mre`nom nivou
Dakle, potvr|uje se frejm 2.
U trenutku kada je korektno prist igao frejm 4 prozor u pri jemniku je
obuhvatao brojeve 3,4,5,6,7,8,9 i 10. Nezavisno od toga {to je nastala
gre{ka, prozor u predajniku mora da se isprazni i emituju se svi paket i} i
nakon ~etvrtog. Dakle, 5,6,7,8,9 i 10. Nakon emitovanog desetog frejma{alje se ponovo tre}i frejm.
Kada prist igne tre}i frejm prozor u pri jemiku obuhvata brojeve
3,4,5,6,7,8,9 i 10. Tada se prihvata tre}i frejm. Po{to je on prvi u prozoru
on se odmah prosle|uje mre`nom nivou. Naravno, odmah za nj im se
prosle|uju i svi prikupl jeni frejmovi iz bafera.
Kada se svi ovi paket i} i proslede na mre`ni nivo prozor obuhvata brojeve
11,12,13,14,15,16,17 i 18.
Po inerci j i po{i l jalac {al je i pakete 4,5 i 6 nakon slanja tre}eg paketa
Po{to je u trenutku kada st i`u paket i 4,5 i 6 prozor na pri jemnoj strani od
11 do 18, ovi frejmovi bivaju ignorisani. Onog trenutka kada st igne potvrda
nastala pri l ikom uspe{noga prispe}a paketa broj 4, promeni}e se opseg
prozora na predajnoj strani. Dakle, kada predajnik primi ACK10 odmh }e
podesit i svoj prozor na opseg od 11 do 18 frejma.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 204/260
1/12 Marko Mili~i}
Zadatak : Projektovat i mre`u zasnovanu na token-ring arhitekturi za radnu
organizaci ju ~i ja je {ema prostori ja data na sl .1.
S l .1. [ema rasporeda prostori ja i ra~unara jedne radne organizaci je
Radi lak{eg izra~unavanja smatrat i da se svi ra~unari du` nekog zida nalaze na
njegovoj sredini . Ruteri , mostovi , habovi mogu se nalazi t i samo na mest ima za
povezivanje, a kablovi , ~i ja pojedina~na du`ina ne sme da pre|e 150m , moraju
prolazi t i kroz odgovaraju}e kanale u podu/zidovima (vidi sl iku) . Ni je dozvol jeno da
saobra}aj jedne prostori je ugro`ava ostale (u drugu prostori ju mogu u}i samo
paket i namenjeni ra~unaru iz te prostori je) . Maksimalan broj ra~unara po prstenu
je 24 .
Skic irat i predlo`eno re{enje, pobrojat i upotrebl jene komponente ( t ip i broj )
izra~unat i cenu takvog re{enja. Cenovnik komponent i dat je u nastavku:
Cenovnik:
RJ-45(UTP) 1$/m IBM 8228 MAU (HUB sa 8 porta) 600$TR kabl tipa 1 i 2 1$/m IBM 8209 Bridge 300$Repeater sa dva porta 80$ Transparentni most 200$Router 1000$ Source Rout. most 100$
Re{enje:
Po{to moramo da korist imo Token Ring arhitekturu, i to sa ograni~enjem da u
Ring-u ne sme bit i vi{e od 24 ra ~unara, idejno re{enje se samo name}e.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 205/260
2/12 Marko Mili~i}
Ring 1 Ring 2
Ring 3
Ring 4
Ring 5
Dakle, u sobi A }emo imati jedan prsten u kome }e se nalazi t i svi ra~unari (nj ih
15). Soba B }e svoj ih 18 ra~unara tako|e umre`it i u jedan prsten, jer jo{ uvek ne
prelazimo l imit od 24 ra~unara u jednom Ringu. Me|utim, problemati~na je soba
C, u kojoj ima 48 ra~unara. Teoretski bi moglo da se svi ra~unari u sobi C pove`u
u dva Ring-a al i zbog neophodnost i da ovakva mre`a bude povezana sa ostale
dve, moramo se odlu~i t i za vari jantu umre`avanja pomo}u tr i Ring-a. U tom
slu~aju u svakom ring-u }e bit i po 16 ra~unara.
Detal jna {ema:
3x15m
2x95m
6x55m
4x25m
8x55m
Ova linije predstavlja
skup od 8 kablova!
6x55m
Ova linije predstavlja
skup od 6 kablova!
30m130m
32x65m
15x60m
4x15m
Dakle, potrebno je:
12 MAU-a
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 206/260
3/12 Marko Mili~i}
5 Source Rout ing Bridge-a
Potrebno je 4355 m koaksi jalnog kabla
Dakle, iz ove specif ikaci je mo`emo izra~unari cenu mre`ne arhitekture!
12 MAU-a ko{taju 12*600$ = 7200$
5 SR Bridge-a = 5*100$ = 500$
4355*1$ = 4355$ za kabl
Ukupno potrebno:
12055$
Prva soba ima 15 ra~unara i zato nam je potrebno 2 MAU-a. Oni zajedno imaju 16
prik l ju~ka, al i jedan od nj ih je potreban za povezivanje ka prostori j i C tako da su
svi prik l ju~ci iskori{}eni.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 207/260
4/12 Marko Mili~i}
Soba B ima 18 ra~unara. Tako da je minimalan broj MAU-a 3. Oni ukupno imaju
24 prik l ju~ka tako da 6 prik l ju~aka ostaju neiskori{}eni. Naime, jedan od ta 6 }e
se iskorist i t i za povezivanje ka sobi C, tako da }e ostat i 5 neiskori{}ena prik l ju~ka.
Soba C ima 48 ra~unara i plus mora da prihvat i ulaze iz predhodne dve sobe.
Naravno, zbog toga {to je soba C organizovana kao 3 ring-a u sobi C mora bit i
infrastruktura koja }e podr`at i vezu izme|u t ih ringova. Dakle, soba C je pri l i~no
slo`ena.
Prvo, u jedan od ova tr i r inga, treba sprovest i kablove iz predhodne dve sobe
Kada to uradimo taj r ing ima vezu ka svim ra~unarima. OK posao za sada ide
dobro. Sada treba napravit i ostala dva ringa i nj ih povezat i me|usobno na ist
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 208/260
5/12 Marko Mili~i}
na~in na koj i je prvi r ing u sobi C uspeo da pove`e ostale dve sobe. Dakle, ta
prvi r ing koj i smo napravi l i t reba da ima dva Source Rout ing Bridge-a koj i }e
povezivat i ostala dva ringa u ovoj sobi. Naravno to ni je sve. Treba nam jo{ jedan
Source Rout ing Bridge, da bi povezao drugi i tre}i r ing sobe C. Ovo je neophodno
da bi svi r ingovi mogli nesmetano da komuniciraja. Smetanje u komunikaci j i b
predstavl jala uzajamna iskl ju~ivost pri komunikaci j i !
Dakle, da rezimiramo potrebno nam je:
12 MAU-a
5 Source Rout ing Bridge-a (Jedan za sobu A, 1 za sobu B i tr i za sobu C)
Potrebno je 4355 m koaksi jalnog kabla
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 209/260
6/12 Marko Mili~i}
ZADATAK: Na sl ic i 1. Prikazan je raspored prostori ja jedne radne organizaci je. U
prostori j i A treba formirat i Token Ring mre`u (na raspolaganju su MAU sa 8
portova), a u prostori j i B - 10BASE2 Ethernet mre`u. Predlo`i t i t ip mre`e u prostori j
C i obrazlo`i t i izabrano re{enje. Omogu}it i uzajamno povezivanje mre`a u svim
prostori jam. Svu opremu, izuzev kablova za povezivanje i krajnj ih ra~unara,
dozvol jeno je smest i t i samo na mest ima za povezivanje.
Skic irat i predlo`eno re{enje, pobrojat i upotrebl jene komponente ( t ip i broj )
Objasnit i da l i ponu|eno re{enje omogu}uje da svaka od prostori ja ima zaseban
mre`ni protokol (komponentu mre`nog nivoa). Ukol iko to ni je slu~aj ukazat i na
modif ikaci ju koja bi to omogu}i la.
Detal jna {ema:
8linija
7linija
12 linija
T konektor Terminator
Terminator
T konektor
8209
10 base 2 Token RingMre`a
TB
10 base T
6 linija
A B
C
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 210/260
7/12 Marko Mili~i}
Specif ikaci ja komponent i :
2 MAU-a
1 8209 Bridge
1 Transparent bridge
8 Hub-a
19 T Konektora
2 terminatora
9-pinski kabla za Token Ring mre`u (Tip 1 i 2)
UTP za 10 base T (RJ-45)
Koaksi jalni ( tanki ) za 10 base 2 (RG-58)
Obvo je detal jni r ikaz veza u sobi A
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 211/260
8/12 Marko Mili~i}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 212/260
9/12 Marko Mili~i}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 213/260
10/12 Marko Mili~i}
ZADATAK: Za organizaci ju prikazanu na sl ic i projektovat i LAN zasnovan na
10BASE T specif ikaci j i .
a) Pobrojat i pravi la povezivanja za ovaj t ip mre`e.
b) Skic irat i predlo`eno re{enje.
c) Odredit i ukupnu du`inu kabla i potreban broj dodatnih komponent i za
predlo`eno re{enje.
Napomena: Kabl i komponente za povezivanje mogu se na}i samo u {rafiranim
delovima objekta. Ne uzimati u obzir dodatnu du`inu usled savi janja kabla.
Re{enje:
a)
Pravi la konfigurisanja za povezivanjepomo}u koncentratora (HUB-ova).
Najvi{e 4 HUB-a na putu izme|u bilo koje dve stanice.
UTP segmenti ne smeju bit i du`I od 100 metara ( u praksi se uvek
postavl jaju upola manje vrednost i ) i moraju bit i ve}i od 60 cm.
Hub se tret ira kao stanica i tu se vr{i broadcast
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 214/260
11/12 Marko Mili~i}
Fiz i~ka topologi ja je zvezdasta, a logi~ka je topologi ja BUS-a ( jedan {al je
a dostupno je svima). Dakle, sve {to hab dobije na jedan ulaz, on {al je na
sve ostale.
Korist i se UTP kabl od 100 oma sa RJ-45 konektorima
b)
5m
3m
Ovo je mesto za HUB
Potrebno je 2 10BT HUB-a sa 8 po rta
RJ konektori , komada 16*2=32
Potrebno je:
3*(5+3+2.5)=31.5m
0.6m
13m
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 215/260
12/12 Marko Mili~i}
11m
16m
3*2.5=7.5m
8
3+3*2.5=10.5
Ukupno: oko 100 m UTP kabla!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 216/260
1/3 Marko Mili~i}
Zadatak: Ako je poruka M(x)=101101011 i ako je generatorski pol inom G(x)=10101
na}i poruku sa CRC-om!
Dodajemo 4 nule zato {to je generatorski pol inom G(x) n=5 -og stepena a m
uzimamo n-1 nula za dodavanje.
101101011
Sada treba podeli t i ovako pro{irenu M(x) sa generatorskim polinomom G(x)=10101
Pri del jenju nas ne interesuje re{enje ve} samo o statak. Upravo zbog toga del jenje
obavl jamo na slede}i na~in:
1011010110000:10101=
10101
11101
10101
10000
10101
10100
10101
1
Dakle ostatak je jedan. Treba primet i t i da smo ovde vr{i l i sabiranja po modulu dva
t j . ni je bi lo ni prenosa ni pozajmica.
Sada taj ostatak sa brojem cifara n-1 dopisujemo na originalno M(x) i dobijamo
CRC poruke M(x) .
T(X) = 1011010110001
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 217/260
2/3 Marko Mili~i}
ZADATAK: Na primeru mre`e date na sl ic i 1: o bjasnit i postupak nala`enja najkra}eg
puta od stanice A do stanice C, prikazat i sadr`aje RD polja svih ramova prist igl ih
do stanice C i odredit i najkra}i put i obrazlo`i t i {ta sve mo`e ut icat i na izbo
najkra}eg puta.
(Napomena: Na sl ic i su krugovima ozna~eni prstenovi, {estougaobicima - mostovi
a kvadrat ima - radne stanice. Ident i f ikacioni brojevi prstena i mostova dat i su na
samoj sl ic i . )
Re{enje:
RD1 RD2 RD3 RD4 RD5 RD6
1-9 AC1-1 BF3-9 BF4-0
1-2-3 AC1-1 BF3-2 AC2-3 BF4-0
1-2-6-4 AC1-1 B F3-2 AC2-6 AC3-4 BF4-0
1-2-7 -A-4 AC1-1 B F3 -2 AC2-7 A32-A AC3-4 BF4 -0
5-2-9 AC1-5 AC2-2 BF3-9 BF4-0
5-3 AC1-5 AC2-3 BF4-0
5-6-4 AC1-5 AC2-6 AC3-4 B F4 -0
5-7-A-4 AC1-5 AC2-7 A32-A AC3-4 BF4-0
8-7-2-9 AC1-8 A32-7 AC2-2 BF3-9 B F4-0
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 218/260
3/3 Marko Mili~i}
8-7-3 AC1-8 A32-7 AC2-3 B F4-0
8-7-6-4 AC1-8 A32-7 AC2-6 AC3-4 BF4-0
8-A-6-2-9 AC1-8 A32-A AC3-6 AC2-2 BF3-9 B F4 -0
8-A-6-3 AC1-8 A32-A AC3-6 AC2-3 BF4-0
8-A-4 AC1-8 A32-A AC3-4 B F4 -0
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 219/260
1/29 Marko Mili~i}
Zadatak: Napisat i program na Javi koj im se simulira rad kl i jenta po protokolu Stop
Wait (sa mogu}om pojavom naru{avanja i gubitka paketa u kanalu) . Server se
nalazi na adresi 160.99.34.311 na portu 1721 , a za prenos poruka korist i se UDP
(User Datagram Protocol ) .
Import java.io.*;
Import java.net.*;
Class UDPKli jent
{
Publ ic Static Void Main(Str ing Args []) Throws Exception
{
BufferedReader unos = new BufferedReader(new InputStreamReader (System.in)) ;
DatagramSocket kanal = new DatagramSocket();
InetAddress IPAddress = InetAddress.getByName(“hostname”);
byte[] zaslanje = new byte[1024];
byte NextFrameToSend = 0;
byte[] zapr i jem = new byte[1024];
Str ing poruka = unos.ReadLine();
Zaslanje = poruka.getbytes() ;
While(True)
{
Zaslanje[0] = nextframetosend;
Datagrampacket spacket = new datagrampacket(zaslanje, zaslanje.lenght,
“160.99.34.311”,1721)
Kanal.send(spaket) ;
Datagrampacket ppaket = new satagrampacket (zapr i jem, zapri jem.lenght) ;
Kanal.receive(rpaket) ;
Str ing odgovor = new str ing(rpaket.getbytes());
I f(odgovor[0] == nextframetosend)
{
Uzmipodatke(zaslanje);
I f (nextframetosend <1)
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 220/260
2/29 Marko Mili~i}
Nextframetosend ++;
Else nextframetosend = 0;
}
Poruka = unos.readl ine() ;
Zaslanje = poruka.getbytes() ;
}
Kanal.close();
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 221/260
3/29 Marko Mili~i}
Zadatak: Napisat i server-aplikaci ju u Javi koja kontrolu toka paketa obavl ja po
protokolu Stop Wait (smatrat i da paket i ne mogu bit i izgubljeni i l i u{te}eni u
kanalu) . Apl ikaci ja korist i UDP protokol za razmenu podataka sa kl i jentom i nalaz
se na portu 1678 .
Re{enje:
import java.io.*;
import java.net.*;
class SAWServer
{
publ ic stat ic void main(Str ing args[]) throws Exception
{
DatagramSocket serverSocket = new DatagramSocket(1678);
byte[] receiveData = new byte[1024];
byte[] sendData = new byte[1024];
whi le ( true)
{
DatagramPacket receivePacket=new DatagramPacket(receiveData,
receiveData.length);
serverSocket.receive(receivePacket) ;
Str ing sentence=new Str ing(receivePacket.getData()) ;
InetAddress IPAddress=receivePacket.getAddress();
int port=receivePacket.getPort() ;
Str ing capital izedSentence=sentence.toUpperCase();
sendData=capital izedSentence.getBytes() ;
DatgramPacket sendPacket=new
DatagramPacket(sendData,sendData.length,IPAddress,port) ;
serverSocket.send(sendPacket) ;
} / /whi le
}//main
}//class
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 222/260
4/29 Marko Mili~i}
Zadatak: Napisat i funkci ju na C-u koja vr{i izra~unavanje Internet ChechSume
Ukoliko je originalna poruka oblika: F10674A578549D34, napisat i kako izgleda
poruka koja se {al je na kanal, t j . nakon primene prethodne funkci je za
izra~unavanje kontrolne sume.
#define Bajt=256;
#define Rec=65536;
char* InternetCheckSum (char* Niz, int N)
{
unsigned Suma = 0;
int I ;
for ( I=0; I<N; I++)
if (I%2==0)
{
Suma += (unsigned) Niz[I] ;
}
else
{
Sum += (unsigned) Niz[I]*Bajt;
}
While (Suma >= Rec)
{
Suma = Suma/Rec + Suma%Rec;
}
Niz[N] = (char ) (255-Suma%Bajt) ;
Niz(N+1)=(char ) (255-Suma/Bajt) ;
Return Niz;
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 223/260
5/29 Marko Mili~i}
DRUGA VARIJANTA (java)
int InternetCheckSum (char* Data)
{
int Sabirak = 0;
long Zbir = 0;
char A,B;
int Pozici ja = 1;
A = Data[Pozici ja];
B = Data[Pozici ja+1];
while (A!=’\0’ && B!=’\0’)
{
Sabirak = (( int)A<<8) 9 ( int)B;
Zbir += ( long) Sabirak;
Pozici ja += 2;
}
int Pom
while (Zbir > MAXINT)
{
Pom – int(Zbir) ;
Zbir >> 16;
Zbir += Pom;
}
Pom = int(Zbir) ;
return(Pom);
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 224/260
6/29 Marko Mili~i}
Zadatak: Napisat i server apl ikaci ju u Javi koja kontrolu toka paketa obavl ja po
protokolu Stop Wait (sa mogu}no{}u gubitka paketa u kanalu) . Apl ikaci ja b
trebalo da se nalazi na portu 1789 i za prenos podataka korist i UDP protokol.
Import java.io.*;
Import java.net.*;
Class Rnit extends Thread
{
Public datagramPacket P;
Public DatagramSocket S;
Public byte ctr l ;
Publ ic Rnit (datagrampacket p1, datagramsocket s1)
{
P=p1;
S=s1;
Ctr l=0;
} //Rnit
Publ ic void run()
{
s.receive(p);
ctr l=1;
} //run
}//Class
Public stat ic void main (str ing args[]) throws exception
{
int brojac = 0;
datagramsocket kanal=new datagramsocket(1785);
byte[] poruka = new byte[1024];
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 225/260
7/29 Marko Mili~i}
while ( true)
{
datagrampacket ppacket = new datagrampacket(poruka,poruka.lenght) ;
Rnit ni t = new Rnit(ppacket, kanal) ;
Nit.start() ;
While (nit .ctr l == 0) && brojac <20)
{
Sleep(50);
Brojac++;
}//whi le
brojac = 0;
nit .stop();
str ing odgovor = new str ing (“NACK”);
i f (ni t .ctr l == 1)
{
system.out.pr int ln (“Pr ist ig la poruka:” + poruka);
else
system.out.pr int ln(“Poruka ni je st igla za 1s”) ;
poruka = odgovor.getbytes() ;
PortAddress adr = ppaket.getaddress();
Int port = ppaket.getport() ;
Datagrampacket sport = new datagram packet(poruka,
poruka.lenght, adr,port) ;
Kanal.send(spaket) ;
} / / i f
kanal.close();
} / /whi le
}//main
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 226/260
8/29 Marko Mili~i}
Zadatak: Napisat i server-aplikaci ju u Javi koja kontrolu toka paketa obavl ja po
protokolu Stop Wait (sa mogu}no{}u naru{avanja, al i ne i gubitka paketa u
kanalu) . Apl ikaci ja bi trebalo da se nalazi na portu 1728 i za prenos podataka
korist i UDP protokol. Paket i su vel i~ ine 128B i zadnja 4B slu`e za sme{tanje
kontrolne sume. Podrazumevat i da postoj i funkci ja GetCRC koja za dat i niz bajtova
ra~una kontrolnu sumu.
Import java.net.*;
Import java.io.*;
Class UDPServer
{
Publ ic stat ic void main(str ing args[]) throws Exception
{
Boolean pom = true;
Byte[] ack = new byte[3];
Str ing p = new str ing (”ACK”);
Ack = p.getBytes();
datagramSocket kanal = new DatagramSocket(1728);
Byte[] poruka = new byte[133];
Byte[] podaci = new byte[128];
Byte[] crc = new byte[4];
While ( true)
{
DatagramPacket PPaket = new DatagramPacket (poruka,133);
Kanal.receive(Ppaket) ;
I f( !(pom && poruka[0])==1)
{
For ( int i=1; i<129; i++) podaci[ i -1] = poruka[i ] ;
Crc = getCRC(podaci) ;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 227/260
9/29 Marko Mili~i}
I f(CRC[0]==poruka[129] && CRC[1]==poruka[130] &&
CRC[2]==poruka[131] && CRC[3]==poruka[132])
{
System.Out.Pr intLn(podaci) ;
InetAddress adr = Ppaket.getAddress();
Int Port = Ppaket.getPort();
DatagramPacket Sport = new DatagramPacket(ACK,3,Adr,Port) ;
Kanal.send(Spaket) ;
Pom = true
}// i f
e lse
pom=false
}// i f
Else
{
Inetaddress adr = ppaket.getaddress();
Int port ppaket.getport() ;
Datagrampacket spaket=new datagrampacket
(ack,3,adr,port) ;
Kanal.send(spaket) ;
} / /whi le
}//main
}//class
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 228/260
10/29 Marko Mili~i}
Zadatak: Nacrtat i Algori tam i napisat i program u Javi koj im se simulira rad HTTP
kl i jenta, sposobnog da prihvat i samo tekstualne i HTML dokumente. Preuzet
dokumenti se prikazuju na standardnom izlazu, a veza se raskida odmah nakon
prenosa.
import java.io.*;
import java.net.*;
import java.uti l .* ;
class HTTPClient
{
publ ic stat ic void main (Str ing argv[]) throws Exception
{
Str ing imefaj la;
Str ing poruka;
BufferedReader odkorisnika = new BufferedReader (new InputStreamReader
(new inputstreamreader(system.in)) ;
Socket kanal = new Socket(“server”,80);
BufferedReader odservera = new BufferedReader (new InputStreamReader
(new inputstreamreader(kanal.getinputstream));
System.out.pr int ln(“/ ime faj la”) ;
Imefaj la = odkorisnika.readl ine() ;
Poruka = “get_” + imefaj la + “_http/1.0\n Accept:text/html\n”;
DataOutputStream kaserveru = new DataOutputStream
(kanal.getOutputStream());
Kaserveru.writebytes(poruka);
Poruka = odservera.readline();
Str ingtokenizer t = new str ingtokenizer(poruka);
i f ( t .nexttoken().equals(“http/1.0”) && t.nexttoken().equals(“200”)
{
Poruka = odservera.readl ine() ;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 229/260
11/29 Marko Mili~i}
Str ingtokenizer t1 = new str ingtokenizer(poruka);
Poruka = t1.nexttoken();
Int n = integer.parseint(poruka);
Poruka = odservera.readl ine() ;
Datainputstream ulaz = new datainputstream (kanal.getinputstream());
Fi le inbytes = new byte[n];
Ulaz.read(f i le inbytes,0,n);
System.out.pr int ln(poruka);
}
Else
System.out.pr int ln(“greska u transferu”) ;
Kanal.close();
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 230/260
12/29 Marko Mili~i}
Zadatak: Nacrtat i algori tam i napisat i program u Javi koj im se simulira proces
autorizaci je korisnika (dostavl janje korisni~kog imena i lozinke) kori{}enjem POP3
protokola. Ukol iko server vrat i poruku o nastaloj gre{ki (-ERR), ponovit i komandu
koju server ni je razumeo.
import java.io.*;
import java.net.*;
import java.uti l .* ;
class POP3Client
{
publ ic stat ic void main (Str ing args[]) throws Exception
{
Str ing kor ime;
Str ing sifra;
BufferedReader odkorisnika = new BufferedReader(new InputStreamReader
(system.in)) ;
Korime = odkorisnika.readLine();
si fra=FromUser.readLine();
Socket kanal = new Socket(“adresa”,110);
DataOutputStream zaserver = new DataOutputStream
(kanal.getOutputStream());
BufferedReader odservera = new BufferedReader(new InputStreamReader
(kanal.getInputStream())) ;
zaservera.writeBytes(“Connect mail server:110\r \n”) ;
Str ing odgovor = odservera.readLine();
Str ingTokenizer st = new Str ingTokenizer(odgovor);
whi le(!st.nextToken().equals(“+OK”))
{
zaserver.wri teBytes(“Connect mailserver:110\r \n”) ;
odgovor = odservera.readLine();
st = new Str ingTokenizer(odgovor);
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 231/260
13/29 Marko Mili~i}
} / /whi le
zaserver.wri teBytes(“User: “+username);
odgovor = odservera.readLine();
st = new Str ingTokenizer(odgovor);
whi le(st.nextToken().equals(“-ERR”))
{
zaserver.wri teBytes(“User: “+username);
odgovor = odservera.readLine();
st = new Str ingTokenizer(odgovor);
} / /whi le
zaserver.wri teBytes(“Pass: “+password);
odgovor = odservera.readLine();
st = new Str ingTokenizer(odgovor);
whi le(st.nextToken().equals(“-ERR”)
{
zaserver.wri teBytes(“Pass: “+password);
odgovor=odservera.readLine();
st = new Str ingTokenizer(odgovor);
}
cl ientSocket.close();
} / /main
}//class
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 232/260
14/29 Marko Mili~i}
DRUGA VARIJANTA
Import Java.net.*;
Import java.io.*;
Class POP3Client{
Publ ic Static Void Main (Str ing args[]) throws exceptions
{
Str ing Poruka;
BufferedReader = new Soctek( ‘pop3.bankerinter.net’ .110);
BufferedReader = OdServera = new BufferedReader(new
InputStreamReader(kanal.getInputStream()));
DataOutputStream ZaServer = new DataOutputStream(kanal.getOutputStream());
While(true)
{
Poruka = “Connect mail Server:110\n”
ZaServer.wri teBytes(poruka);
Poruka = odServera.readl ine() ;
I f (poruka.StartsWith(“-ERR” == true) continue;
System.out.Pr intLn(“Unesite kor isni~ko ime:\n”) ;
Poruka=”user”;
Poruka += odKli jenta.readLine();
ZaServer.wri teBytes(poruka+”\n”) ;
Poruka = Oservera.readLine();
I f(Poruka.StartsWith(“-ERR” == true)) continue;
System.Out.Pr int ln(“Unesite lozinku:\n”) ;
Poruka = “Pass”;
Poruka += Odkl i jenta.readLine();
ZaServer.WriteBytes(poruka + “ \n”) ;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 233/260
15/29 Marko Mili~i}
Poruka = OdServera.readLine();
I f (Poruka.StartsWith(“-ERR”) == true)) continue;
Break;
} //whi le
kanal.close();
} / /main
}//class
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 234/260
16/29 Marko Mili~i}
ZADATAK: Napisat i HTTP kl i jenta u Javi , koj i sa zadate adrese u~itavai n e x h t m
stranicu i njen sadr`aj ispisuje na ekranu (u obl iku HTML koda). Kl i jent se
predstavl ja (User-agent: ) kao LabClient , zahteva zatvaranje veze nakon vra}anja
dokumenta (Connect ion: close) i prihvata samo tekstualne objekte (Accept
text/html) .Postoj i s l i~no resenje
Import java.net.*;
Import java.io.*;
Publ ic class HTTPC
{
Str ing Fi leName = “ \ index.html”
Publ ic stat ic Void main (str ing[] args)
{
Str ing host = www.elfak.ni.ac.yu;
Int port = 80;
Str ing f i leName = “ \ index.html” ;
{
Socket socket = new Socket (host,port) ;
Socket.SetGoTimeout(10000);
Pr intWriter WR = new PrintWriter(socket.getOutputStream());
WR.pr int ln(“GET + f i lename + “HTTP/1.0”) ;
WR.pr int ln(“User-agent:. .” ) ;
WR.pr int ln(“Accept: text/html”) ;
WR.pr int(“connection: CLOSE”);
WR.pr int ln() ;
WR.flush();
BufferedReader sd = new BufferedReader(new
InputStreamReader(socket.getInputStream());
Str ing STI;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 235/260
17/29 Marko Mili~i}
While ((sd=rd.readl ine()) ! = NULL)
System.out.pr int ln(sd);
Socket.close();
} / /
Catch IOEXCEPTION (e)
{
System.out.pr int ln(e);
}
NISAM SIGURAN ZA OVAJ ZADATAK!
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 236/260
18/29 Marko Mili~i}
ZADATAK: Napisat i program (na C-u, C++-u, Javi i l i Paskalu) koj im se simulira rad
Source Rout ing mosta. Pri l ikom obrade frejma, u obzir uzimati samo t ip_rut iranja
RD polja.
Class Paket
{
Publ ic:
Int RII;
Int t ip-rut iranja;
Int DA;
Int SA;
Int[] RD
Int getNextRD () ;
Int checkRD(int tekRD);
}
Class Ruter
{
Publ ic:
Paket paket;
Int adresaRutera;
SubNetMask[] adrPodMreze;
Ports[] portovi;
Int sled_ruter;
Int Element()
Void SendPaket(Paket.DA)
Void SendPaket(Paket.RD)
Void sendPaket(ports);
Void SendOdgovorNonBroadcast(ports);
Void SendOdgovorAllBroadcast(ports);
Ports getUlazniPort() ;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 237/260
19/29 Marko Mili~i}
Void SRB();
}
void Ruter::SRB()
{
i f (paket.RII == 0) do
{
Switch (paket.t ip-rut iranja)
Case ‘1’ Break;
Case ‘2’
Int next = paket.getNextRD();
I f (next != 0)
sendPaket(next) ;
else
sendpaket(Paket.DA);
break;
Case ‘3’
I f (element)
{
SendPaket(Paket.DA);
SendOdgovorNonBroadcast(getUlazniPort())
}
else i f ( !paket.check RD(adresaRutera))
sendPaket(GetUlazniPort()) ;
Break;
Case ‘4’
I f (element)
{
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 238/260
20/29 Marko Mili~i}
SendPaket (Paket.DA);
SendOdgovorAllBroadcast (getUlazniPort()) ;
}
else SendPaket (Sled-Ruter);
break;
Default:
Error()
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 239/260
21/29 Marko Mili~i}
Zadatak: HTTP server , na portu 8080, ustanju da prepozna 3 t ipa podatka
(Content-Type): text/html, image/jpeg, image/gif . Ako se zahteva neki drugi t ip vraca
kod >>400 Bad Request<<, a ako ne pronadje zel jenu datoteku, kod >>404 No
Found<<
import java.io.*;
import java.net.*;
import java.uti l .* ;
class HTTPServer
{
publ ic stat ic vodi main (Str ing args[]) throws Exception
{
Str ing requestMessageLine;
Str ing Fi leName;
ServerSocket l istenSocket = new ServerSocket(8080);
Socket connectionSocekt = l istenSocket.accept() ;
BufferedReader inFromClient = new BufferedReader(new InputStreamReader
(connectionSocket.getIntputStream());
DataOutputStream outToClient = new DataOutputStream
(ConnectionSocket.getOutputStream());
requestMessageLine = inFromClient.readLine();
Str ingTokenizer tokenizedLine = new Str ingTokenizer(requestMessageLine);
i f ( tokenizedLine.nextToken().equals(“GET”))
{
f i leName = tokenizedLine.nextToken();
i f ( f i leName.startsWith(“/”)) f i leName=fi leName.substr ing(1);
Fi le f i le = new Fi le(f i leName);
int numOfBytes = ( int) f i le. length() ;
i f (numOfBytes=0)
{
outToClient.wri teBytes(“404 Not Found”);
connectionSocket.close();
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 240/260
22/29 Marko Mili~i}
return;
} // i f
i f ( f i leName.endsWith(“ .html”) | | f i leName.endsWith (“ . jpg”) | |
f i leName.endsWith(“ .gi f”))
{
outToCLient.wri teBytes(“HTTP/1.0 200 OK\r\n”) ;
i f ( f i leName.endsWith(“ .html”) outToClient.wri teBytes (“ContentType:text/html \r \n”) ;
elseif ( f i leName.endsWith(“ . jpg”) outToClient.wri teBytes (“ContentType:
image/jpeg \r \n”) ;
else(f i leName.endsWith(“ .gi f”) outToClient.wri teBytes (“ContentType:
image/gif \r \n”) ;
outToClient.wri teBytes (“Content Length: “+numOfBytes+\r \n”) ;
Fi leInputStream inFIle = new Fi leInputStream(fi leName);
byte[] f i leInBytes = new byte[numOfBytes];
inFi le.read(f i leInBytes);
outToClient.wri te(f i leInBytes,0,numOfBytes);
connectionSocket.close();
} / / i f
e lse
{
outToClient.wri teBytes(“400 Bad Request \r \n”) ;
connectionSocket.close();
} / /else
}
else
{
system.out.pr int ln(“Bad request message”);
connectionSocket.close();
} / /else
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 241/260
23/29 Marko Mili~i}
TCP Server
Import java.io.*;
Import java.net.*;
Class TCPServer
{
Publ ic stat ic void main (str ing args[]) throws exception
{
Str ing cl ientsentence;
Str ing c apital izedsentence;
ServerSocket kSocket = new ServerSocket(6789);
While(true)
{
Socket connectionSocket = ksocket.accept() ;
Bufferedreader od korisnika = new bufferedreader (new inputstreamreader(
connectionsocket.getinputstream())) ;
Dataoutputstream zakl i jenta = new
dataoutputstream(connectionsocket.getoutputstream;
Clientsentence = odkl i jenta.readl ine() ;
Capital izedsentence = cl ientsentence.touppercase() + “ \n”;
Zakl i jenta.writebytes|(capital izedsentence);
}
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 242/260
24/29 Marko Mili~i}
TCP Kl i jent
Import java.io.*;
Import java.net.*;
Class TCPClient
{
Publ ic stat ic void main (str ing args[]) throws exception
{
Str ing sentence;
Str ing modif iedsentence;
Bufferedreader odkli jenta = new bufferedreader (new inputstreamreader(
system.in())) ;
Socket cl ientsocket = new socket(host” ,6789);
Dataoutputstream zaservera = new
dataoutputstream(cl ientsocket.getoutputstream());
Bufferedreader odservera = new bufferedreader(new
inputstreamreader(cl ientsocket.getinputstream);
Sentence = odkl i jenta.readl ine() ;
Zaservera.writebytes(sentence+”\n”) ;
Modif iedsentence = odservera.readl ine() ;
System.out.pr int ln(“od servea:” + modif ied)” ;
Cl ientsocket.close();
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 243/260
25/29 Marko Mili~i}
Stop Wait cl ient sa gubitkom paketa u kanalu!
Import java.io.*;
Import java.net.*;
Class udp cl ient
{
Publ ic stat ic void main(str ing args[]) throws exceptions
{
Bufferedreader unos = new bufferedreader (new inputstreamreader(system.in);
Datagramsocket kanal = new datagramsocket() ;
Byte nextframetosend = 0;
Byte[] zaslanje = new byte[1024];
Byte[] zapr i jem = new byte[1024];
Str ing poruka = unos.readl ine() ;
Zaslanje = poruka.getbytes() ;
While(true) {
Zaslanje[0]=nextframetosend;
Datagrampacket spaket = new datagrampacket (zaslanje, zaslanje.lenght ,
”154.54.54.4”,1654);
Kanal.send(spaket) ;
Datagrampacket ppaket = new datagrampacket (zapr i jem, zapri jem.lenght) ;
Kanal.receive(rpaket) ;
Str ing odgovor = new str ing (rpaket.getbytes()) ;
I f (odgovor[0] == nextframetosend)
{
Uzmipodatke(zaslanje);
I f (nextframetosend <1)
Nextframetosend ++;
Else nextframetosend = 0;
}
Poruka.unos.readl ine() ;
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 244/260
26/29 Marko Mili~i}
Zaslanje=poruka.getbytes;
}
Kanal.close();
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 245/260
27/29 Marko Mili~i}
Stop-and-wait (naru{avanje i gubitak paketa) — UDP
UDPClient. java
Import java.net.*;
Import java.io.*;
Class UDPClient{
Publ ic stat ic void main (str ing args[]) throws exceptions
{
Bufferedreader unos = new bufferedreader( inputstreamreader(system.in)) ;
Str ing poruka = unos.readl ine() ;
Byte[] zaslanje = new byte[1024];
Byte[] zapr i jem = new byte[1024];
Zaslanje = poruka.getbytes() ;
Datagramsocket spaket = new datagrampacket(zaslanje,
zaslanje.lenght,”160.99.34.311”,1721);
Datagrampacket rpaket = new datagram(zapri jem, zapri jem.lenght) ;
Str ing potvrda = new str ing(“OK!”) ;
Str ing pr i jem;
Do{
Kanal.send(spaket) ;
Kanal.receive(rpaket) ;
Str ing pr i jem = new str ing (rpaket.getbytes);
}
While (pr i jem!=potvrda);
Kanal.clse() ;
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 246/260
28/29 Marko Mili~i}
Stop&wait SERVER (gubitak paketa) UDP
Import java.io.*;
Import java.net.*;
Class UDPServer{
Publ ic stat ic void main (str ing args[]) throws exceptions{
Byte frameexpected = 0;
datagramSocket kanal = new datagramsocket(1789_;
byte[] zapr i jem = new byte [1024];
byte[] zaslanje = new byte [1024];
while (true) {
Datagrampacket ppaket = new datagrampacket (zapr i jem, zapri jem.lenght) ;
Kanal.receive(rpaket) ;
Str ing poruka = new str ing (rpaket.getdata()) ;
I f (poruka[0] ==frameexpected){
Obrada(zaslanje,poruka);
If ( frameexpected <1) frameexpected ++;
Else frameexcepted = 0;
}
Byte Ack = 1-frameexcepted;
Zaslanje[0]=ACK;
Inetadrdress ipadr = ppaket.getaddress();
Int port = ppaket.getport() ;
Datagramsocket spaket = new datagramsocket (zaslanje, zaslanje.lenght, Ipadr, port) ;
Kanal.send(spaket) ;
}
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 247/260
29/29 Marko Mili~i}
Stop&Wait bez naru{avanja i gubitaka, UDP.
UDPServer. java
Import java.io.*;
Import java.net.*;
Class UDPServer{
Publ ic stat ic void main (str ing args[]) throws exceptions{
Datagramsocket kanal = new datagramsocket(1678);
Byte[] receivedata = new byte[1024];
Byte[] senddata = new byte[1024];
While(true){
Datagrampacket rpacket = new datagrampacket (receivedata, receivedata.lenght) ;
Kanal.receive(rpaket) l
Str ing poruka = new str ing(rpaket.getdata()) ;
Inetaddress = ipadr = rpaket.getaddress();
Int port = rpaket.getport() ;
Datagram spaket = new datagrampacket (poruka, poruka.lenght, ipadr, port) ;
Kanal.send(spaket) ;
}
}
}
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 248/260
1/13 Marko Mil i~ i}
Zadatak: Projektovat i algori tam koj im se simulira rad CSMA/CD protokola.
Teori ja:
CSMA/CD
Carrier Sense With Mult iple Access / Col is ion Detect ion
Ra~unar oslu{kuje kanal i tek posle 9.6 mikro sekndi od detekci je poslednjeg bita
mo`e da po~ne sa slanjem. Ovo je neophodno zbog rastojanja izme|u frejmova
>>interframe spacing<< tokom slanja. Ukol iko utvrde kol iz i ju stanice (ra~unari )
prekidaju dalj i prenos. Prva stanica koja otkri je kol iz i ju ( t j . ako adapter detektuje
signal drugog adaptera dok traje njegova emisi ja) , on prestaje sa slanjem korisnih
paketa i {al je 48-bitni JAM signal (s ignal zagu{enja) da b i osigurala da druge
stranice tako|e detektuju kol iz i ju (detekci ja kol iz i je je na primer ako oset i jaku
struju, i l i u nekom trenutku po{al je 0 a isto tad pro~i ta 1 sa kanala. Nakon prekida
slanja frejma t j . JAM signala (koj i se 32 i l i 4 8 b) adapter ulazi u fazu ~ekanja,koja je odre|ena nekim algori tmom - (Truncated binary) exponent ial backoff
algort ihm. Kada utvrdi n-tu uzastopnu kol iz i ju (za ist i frejm koj i poku{ava da
po{alje) , adapter bira proizvol jnu vrednost za k (od 0 do 2m-1 ) gde je m=min(n,10) i
~eka k*512=td Bitskih intervala nakon ~ega po~inje ponovo da {al je svoj fr ejm
(oslu{kuje kanal) .
E f ikasnost eterneta zavis i od optere}enost i mre`e. Ne mo`e se korist i t i za rad u
realnom vremenu jer nema garanci je da }e paket bit i poslat u nekom vremenskom
intervalu (u najgorem slu~aju vel ike zagu{enost i mre`e frejm mo`e ostat i zauvek
neposlat ) .
Formula za odre|ivanje efikasnost i etherneta kada nema kol iz i je i sve stanice
imaju frejmove spremne za slanje:
Ttrans = Maximalno vreme za koje se {alje frejm
Tprop = maximalno ka{njenje izme|u dva ~vora
TtransTprop E ff /51
1
⋅+=
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 249/260
2/13 Marko Mil i~ i}
SlobodanKanal
Wait9.6 microsec
Slanje
Kolizija
[Alje do kraja
N=0
Slanje se prekida
48b JAM signal
N=N+1
N>15
M=Min(N,10)
K(0,1,2,.....2 )
^Eka k*512 bitnihintervala
M-1
Odbacuje sepaket
TrueFalse
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 250/260
3/13 Marko Mil i~ i}
Zadatak: Projektovat i algori tam koj i defini{e na~in funkcionisanjaoken ing
radne
stanice. Radi pojednostavl jenja smatrat i da stanica ne vr{i ulogu >>akt ivnog<< i l
>>pasivnog<< nadzornika.
Re`im slanja
^ekaj dok nai|e token
Token Slobodan T=0
Da li {alje{
Prioritet >ili = PPP
Pre|i u re`im
slanja
Prosledi
token
Prosledi
token
Da li {alje{
Uporedi RRR
PostaviRRR
Pre|i u re`im prijemai prosledi token
KRAJ
True
False
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 251/260
4/13 Marko Mil i~ i}
Re`im prijema
^ekaj dok nai|e poruka
UporediDA
True
False
A=1
E=0
Prover CHKSUMi eventualno postavi E
Kopiraj
C=1
Proslediporuku
Pre|i uoslu{kivanje
Re`im prijema
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 252/260
5/13 Marko Mil i~ i}
Re`im slanja
Upi{i svoj prioritetu PPP i o~isti RRR
True
False
Po{alji>>zauzet token<<
Framing, po{aljiporuku
po{alji SA, DA,o~isti flegove
Izra~unaj CHKSUM
Primi tokenzapamti RRR
Primi poruku
A=1 and C=1
A=1
Pre|i u re`imslanja
PPP = stari RR~isti RRR
[Alji slobodni token T=0
Pre|i u re`imslu{anja
Re`im slanja
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 253/260
6/13 Marko Mil i~ i}
Zadatak: Projektovat i algori tam za rad Source-rout ing mostova
Teori ja: Mostovi povezuju dve zasebne mre`e u jednu logi~ku cel inu. Na primer
IBM 8209 most se korist i za povezivanje etherneta i TokenRing LAN mre`e.
Orion
Orion Orion
Most
Orion
Orion
Orion
Orion
Orion
IEEE 802.3
8209
IEEE 802.5
U ovom slu~aju most mora imati 2 mre`ne kart ice i to jednu Ethernet i jednu
Token Ring, za povezivanje na odgovaraju}e mre`e. Mostovi rade na Data-Link
nivou, tako da ne razmatraju zaglavl je mre`nog nivoa (ve} direktno kopiraju pakete
vi{ ih nivoa) zato se ne mogu korist i t i za povezivanje mre`a sa razl i~ i t im mre`nim
protokolom. Razlozi za upotrebu mostova su:
- Postojanje vi{e celina (u kolektivu), svaka sa sopstvenim potrebama i
odgovaraju}om LAN mre`om, koje treba povezat i .
- Geografska razu|enost i ve}a isplativost formiranja zasebnih LAN mre`a koje se
zat im povezuju mostovima.
- Rastojanje izme|u najudaljeni j ih stanica je ve}e nego {to dozvol java LAN
tehnologi ja
- Ve}a pouzdanost, jer neisp ravna stanica/lini ja ometa (i l i spre~ava) saobra}aj
samo lokalno (do prvog mosta).
- ve}a sigurnost, jer mostovi mogu zabranit i protok nekih paketa koj i su
potenci jalna opasnost za sigurnost organizaci je.
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 254/260
7/13 Marko Mil i~ i}
Preformatiranje frejmova:
Zadaci mosta pri l ikom preformatiranja ramova:
-
Preformatiranje frejmova i izra~unavanje nove CheckSume
- Okrenut i red bitova
-
Generisat i f ik t ivne priori tete
-
Odbacit i priori tete
-
Zaokru`i t i token
-
Setovat i A i C bitove (pri ~emu se zapravo >>la`e<< da je odredi{te primilo
frejm
-
Regulisat i zagu{enje pri slanju na spori j i LAN (uvo|enje bafera)
-
Ako je frejm suvi{e vel ik i za odredi{ni LAN on se odbacuje (mogu}a je neka
signalizaci ja al i problem nije re{iv)
802.5 zapravo nema ograni~enja u vel i~ ini okvira, osim {to se mo`e desit i dastanica ne mo`e emitovat i frejm du`i od token-holding t ime-a (vreme dr`anja
tokena) {to po defaultu iznosi 10 ms, odakle se izvodi maximalna du`ina okvira od
5000 b.
Zbog rada sa LAN-ovima razl i~ i t ih brzina i l i pojave kol iz i je, mostovi moraju imati
baferski prostor za sme{tanje prist igl ih ramova (okvira) .
Prolaskom paketa kroz most, gubi se semantika mre`e jer se mnogi parametri (na
primer priori tet ) postavl jaju proizvol jno i gube pri l ikom prolaska kroz mre`u koja ih
ne zahteva.
Potrebno je maksimalno smanji t i komunikaci ju izme|u LAN-ova. Ako neka stanica
~esto (vi{e od 20% paketa) komunicira sa stanicom van LAN-a na koj i je
prik l ju~ena, treba razmotri t i njeno presel jenje u drugi LAN.
Re{enje:
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 255/260
8/13 Marko Mil i~ i}
Primio paket
Tip rut. Iz RDprva 3b
Po{alji naspecijalni portiz tablice
spre`nog stabla
Ako imaRD
Upi{i svoj RD uprvi slobodan izRD niza prosledina sve portoveosim ulaznog
Single Rout Broadcast
All Rout Broadcast
Prosledi na prvislede}i port iz
RD niza
Null
Non Broadcast
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 256/260
9/13 Marko Mil i~ i}
Druga vari janta:
Po~etak
Prihvati paketili iskopirajbafer mre`e
u bafer
Paket-RM== 1 Odbaci
Switch(tip_rut)case Null
case NonBroadcastcase AllRoutBroadcast
case SingleRout Broadcast
TrueFalse
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 257/260
10/13 Marko Mil i~ i}
Napisat i funkci ju u C-u kojom se simulira rad Token-Ring radne stanice. Potrebno
je implementirat i s lede}e funkcionalnost i :
- provera da l i je token slobodan i ako jeste i postoje podaci za slanje - zauzet
ga,
- postavi t i pr iori tet poruka koje se {al ju,
- postavl janje A, C i E bitova.
Skic irat i izgled okvira sa naznakom polja koja su kori{}enja u implementaci j
prethodno navedenih unkcionalnost i .
Re{enje:
^ekaj dok nai|e token
Token Slobodan T=0
Da li {alje{
Prioritet >ili = PPP
Pre|i u re`imslanja
Prosleditoken
Prosleditoken
Da li {alje{
Uporedi RRR
PostaviRRR
(RRR=Prior)
KRAJ
True
False
Prosledi token
Pre|i u re`im prijema
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 258/260
11/13 Marko Mil i~ i}
Re`im prijema
^ekaj dok nai|e poruka
E=0
True
False
A=1
E=0
Kopiraj
C=1
Proslediporuku
Pre|i uoslu{kivanje
KRAJ
Proveri FCDi postavi E
UporediDA
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 259/260
12/13 Marko Mil i~ i}
Re`im slanja
Upi{i svoj prioritetu PPP i o~isti RRR
True
False
Po{alji>>zauzet token<<
Framing, po{aljiporuku
po{alji SA, DA,o~isti flegove
Izra~unaj CHKSUM
Primi tokenzapamti RRR
Primi poruku
A=1 and C=1
A=1
Pre|i u re`imslanja
PPP = stari RR~isti RRR
[Alji slobodni token T=0
Pre|i u re`imslu{anja
Re`im slanja
7/17/2019 Racunarske_Mreze_-_Marko_Milicic
http://slidepdf.com/reader/full/racunarskemreze-markomilicic 260/260
Zadatak: Napisat i algori tam za funkci ju koja ra~una Internet CheckSum!
Internet_Check)Sum(char * ulaz)
Int sabirak = 0Long Zbir = 0
I = 0