1.57k likes | 2.05k Views
Mre ž ni sloj. Mrežni sloj. Glavni zadatak mrežnog sloja je rutiranje – usmeravanje paketa kroz usmerivače od izvorišta do odredišta Mrežni sloj mora da poznaje topologiju komutacione pod mreže i da bira putanje koje vode do odredišta Ravnomerno opterećenje različitih putanja do odredišta
E N D
Mrežni sloj • Glavni zadatak mrežnog sloja je rutiranje – usmeravanje paketa kroz usmerivače od izvorišta do odredišta • Mrežni sloj mora da poznaje topologiju komutacione pod mreže i da bira putanje koje vode do odredišta • Ravnomerno opterećenje različitih putanja do odredišta • Prolazak kroz različite mreže • Problematika se proučava na primeru Interneta i IP protokola koji služi za rutiranje
Komutiranje čuvaj i prosledi Usluge mrežnog sloja sa i bez direktnog uspostavljanja veze Usluge su nezavisne od tehnologije usmerivača Mrežne adrese koje vidi transportni sloj su uniformne
Algoritam za usmeravanje – Routing algorithm određuje jednu od više mogućih alternativnih putanja paketa upućenog na odredište
Uspostavljanje direktne veze podrazumeva formiranje virtuelnih kola unapred u toku čitavog trajanja prenosa svih paketa. Paketi nose oznaku uspostavljene virtuelne veze – parametar veze, što karakteriše direktno uspostavljenu vezu Label switching – komutiranje paketa na osnovu oznaka – parametra veze
Algoritmi za usmeravanje – Routing algorithms • Određuju na koju izlaznu liniju se prosleđuje pristigli paket • Ruteri u mreži sa datagramima donose odluku za svaki paket - zbog moguće promene stanja u mreži • Ruteri u mreži sa virtuelnim kolima donose odluku samo pri uspostavljanju veze – session routing • Prosleđivanje paketa – Forwarding na osnovu trenutnog stanja u tabelama • Ažuriranje i popunjavanje tabela za usmeravanje
Svojstva algoritma za usmeravanje • Tačnost • Jednostavnost • Robustnost – kontinuitet u radu pri promeni saobraćaja i topologije mreže usled kvarova • Stabilnost – dostizanje ravnoteže u opterećenju mreže • Pravičnost • Optimalnost • Pravičnost i optimalnost su često međusobno sukobljeni
Sukob pravičnosti i optimalnosti • Saobraćaj A-A’, B-B’ i C-C’ u potpunosti iskorišćava kapacitet horizontalnog dela mreže • Trebalo bi ukinuti saobraćaj X-X’ što nije pravedno ali je optimalno • Neophodan je kompromis uzmeđu globalne optimalnosti - efikasnosti i lokalne pravednosti
Šta optimizovati? • Min. srednjeg kašnjenja i max. Ukupnog protoka • Čak i tu postoji sukob, jer približavanje max protoku povećava čekanje paketa na opsluživanje, tj kašnjenje • Često se min broj skokova paketa – smanjuje se kašnjenje i povećava protok • Neprilagodljivi algoritmi – non adaptive ne uzimaju u obzir tekuću situaciju – topologiju i opterećenje, već su unapred određeni – statičko usmeravanje • Prilagodljivi algoritmi – adaptive uzimaju u obzir trenutno stanje mreže – dinamičko usmeravanje
Princip optimalnosti • Univerzalni princip optimalne putanje: • Ako se ruter J nalazi na optimalnoj putanji između I i K, tada se i optimalna putanja između J i K nalazi na istoj putanji • Skup putanja iz svih polazišta ka jednom odredištu formira stablo optimalnih putanja sa korenom u odredištu • Može postojati više različitih optimalnih stabala sa istim dužinama pojedinih putanja • Algoritimi za usmeravanje treba da otkriju stabla optimalnih putanja i da ih primene na usmerivače
Podmreža i ekvivalentno optimalno stablo • Odsustvo petlji kroz stablo – svaki paket stiže na odredište posle konačnog broja prelaza • Topologija mreže je vremenski promenljiva zbog otkaza u mreži
Rutiranje najkraćom putanjom • Podmreža se prikaže kao graf – čvorovi ruteri i grane veze između rutera • Razne varijante merenja najkraćeg rastojanja • Najmanji broj čvorova • Najkraće geografsko rastojanje • Merenje kašnjenja paketa (rastojanje, propusni opseg, prosečni saobraćaj, cena, srednja dužina redova čekanja, registrovano kašnjenje) • Najkraća je ona putanja kojom paket najbrže prolazi
Plavljenje - flooding • Svaki dolazni paket se šalje na sve izlazne linije osim na liniju sa koje je paket došao • Plavljenjem se generiše ogroman broj duplikata paketa koji raste sa udaljavanjem paketa i prolaženjem kroz uzastopne rutere • Neophodno je prigušivanje plavljenja • Zadavanje max broja skokova paketa kojim se paket inicijalizuje, pri svakom skoku se umanjuje za 1, kada dođe na nulu, paket se odbacuje • Problem izbora inicijalizacionog broja – idealno kada je jednak rastojanju do cilja, max da bude jednak prečniku podmreže • Evidencija rutera o poslatim paketima sa rednim brojem paketa primljenih sa svakog rutera preko brojača • Kada sa datog rutera stigne paket sa rednim brojem manjim od stanja brojača, znači da je paket ponovo poslat i taj se paket odbacuje • Plavljenje je generalno loše, ali se nekada namerno bira – ratni uslovi, ažuriranje distribuiranih baza podataka, kod bežičnih mreža plavljenje se prirodno javlja, služi za poređenje sa drugim algoritmima usmeravanja – efikasnost, performanse, • Plavljenjem se uvek pronalazi najkraći put – paketi se paralelno šalju svim mogućim putanjama
Usmeravanje preko vektora razdaljine • Distance Vector Routing: Belman – Fordov, Ford-Fulkerson-ov algoritam, RIP (Routing Information Protocol), korišćen na ARPANET-u) • Algoritam za dinamičko rutiranje – koji uzima u obzir trenutno stanje na mreži • Ruter poseduje tabelu sa najkraćim poznatim rastojanjima do svakog odredišta, kao i o linijama do odredišta. • Ruter ažurira tabele na osnovu komunikacije sa susedima - ruterima • Indeksirana tabela usmerivača u podmreži, za svaki usmerivač postoji najpovoljnija izlazna linija sa aspekta procenjenog vremena ili rastojanja – broj skokova, kašnjenje, broj paketa u redu čekanja na putanji
Usmeravanje preko vektora razdaljine 2 • Rastojanje do suseda, jedan skok • Kašnjenje preko ECHO paketa • Periodično svaki usmerivač šalje svakom susedu listu procenjenih kašnjenja do svih svojih prvih suseda • Na osnovu razmenjenih lista, analiziraju se procenjena vremena mogućih putanja i pravi se nova tabela za usmeravanje prema ruterima u mreži na osnovu najboljih procenjenih vremena
a) A počinje sa radom – širenje dobre vesti - brzob) A počinje prekid – širenje loše vesti - sporo n je max rastojanje u podmreži Kvar rutera kao rastojanje n+1 – “beskonačnost”
Usmeravanje na osnovu stanja veze • Link State Routing - LSR • Algoritam vektora rastojanja ne uzima u obzir propusni opseg • Spora konvergencija “beskonačnosti” kod algoritma vektora stanja • Novi algoritam – LSR ima pet osnovnih koraka. SVAKI ruter treba da: • Otkrije susede i njihove mrežne adrese • Da izmeri vremensko rastojanje ili troškove slanja do svakog suseda • Da napravi paket sa svim trenutno raspoloživim podacima • Da paket pošalje svim ruterima • Da izračuna najkraću putanju do svakog drugog usmerivača
Upoznavanje rutera sa susedima • Slanje HELLO paketa svim susedima preko svake PPP linije • Na HELLO paket se odgovara predstavljanjem • Imena rutera moraju biti globalno jedinstvena
Merenje troškova slanja linijom Svaki usmerivač treba da proceni vreme putovanja paketa do svojih suseda Procena vremena slanjem ECHO paketa Opterećenje kao parametar?
Paket sa stanjem veze • Kada praviti pakete – vizit karte rutera? • a) Periodično? • b) Kada se promeni stanje mreže?
Distribuiranje paketa sa stanjem veze • Zbog vremenskog trajanja distribucije paketa, ruteri mogu imati različite verzije topologije mreže u svojim tabelama, što može dovesti do brojnih problema – petlje, nedostupni računari • Paketi sa stanjem veze se distribuiraju mehanizmom plavljenja a kontrolišu rednim brojem paketa koji usmerivač šalje, a koji se koristi za otkrivanje duplikata paketa • Problem sa oštećenjem rednog broja paketa • Starost paketa – sekundni brojač unazad, kada stigne do 0 paket se odbacuje • Ko smanjuje brojač? Ruteri naravno – usputni i odredišni.
Čekaonica za pakete • Paket sa stanjem veze za distribuciju se stavlja u “čekaonicu” za pakete • Ako pre slanja paketa od nekog rutera dođe novi paket stanja veze od tog rutera, na osnovu rednog broja se odbacuje duplikat ili se šalje noviji • Za svaki paket sa stanjem veze se šalje potvrda • Svaki ruter ima tabelu za označavanje kome se distribuiraju pristigli paketi stanja veze – indikator za slanje kao i kome se šalje potvrda – indikator za potvrdu
Tabelarna struktura podmreže za B • Paket stanja veze od E dolazi preko A i F pa ga treba proslediti samo na C, ali potvrdu treba poslati A i F ruterima od kojih je paket dobijen – u duplikatu • Ako stigne duplikat dok je original u čekanju, onda se samo šalje potvrda, a ne i paket. Primer: C preko F
Izračunavanje novih putanja • Graf podmreže se konstruiše na osnovu podataka od svih rutera podmreže • Svaka veza je u podacima sa rutera predstavljena dva puta • Najkraća rastojanja – Dijkstra algoritam • Potrebna memorija rutera u podmreži sa n rutera i k suseda je kn • Mogući problemi usled grešaka u proceni u velikim mrežama sa više (desetina, stotina) hiljada čvorova • Mere za ograničenje štete
Hijerarhijsko usmeravanje • Hijerarhija – složena struktura na više nivoa koja je istovremeno i jasno i detaljno predstavljena • Rast mreže je praćen porastom potrebne memorije rutera, porastom vremena izračunavanja putanja, propusnog opsega za komunikaciju rutera • Hijerarhijsko usmeravanje deli rutere u oblasti • Usmerivači znaju topologiju oblasti kojoj pripadaju • Višestepena hijerahija – oblasti -> skupine -> zone -> grupe -> itd.
Kriterijumi hijerarhije • Hijerarhijsko pojednostavljenje ima cenu da se ne bira najkraći put • Mreža sa 720 rutera ima 720 odrednica • Dvostepena hijerarhija sa 24 mreže sa 30 rutera daje 23 + 30 = 53 odrednice • Trostepena hijerarhija sa 8 skupina, sa po 9 oblasti i sa po 10 rutera daje 10 + 8 + 7 = 25 odrednica • Optimalan broj hijerarhijskih nivoa podmreže sa N čvorova bi bio lnN sa elnN odrednica • Prihvatljivo je povećanje dužine putanje usled hijerahijskog usmeravanja
Neusmereno emitovanje • Broadcasting se vrši u nekim slučajevima – slanje poruka na više adresa • Varijanta da se poruka posebno pošalje na svaku adresu – nepoželjno • Plavljenje za broadcasting – opterećuje mrežu • Multidestination routing – usmeravanje na više odredišta – paket sadrži listu odredišta. Pri svakom rutiranju, se pravi kopija paketa sa redukovanom listom odredišta samo za adrese preko te linije, pa na kraju paket postaje običan – samo za jedan ruter
Prosleđivanje ispitivanjem odredišta Reverse Path Forwarding Čvorovi sa kružićem se smatraju najboljom putanjom Efikasan neegzaktan metod bez zahteva i potrebe poznavanja optimalnih putanja
Višesmerno usmeravanje – multicasting • Zajednički rad više udaljenih procesa – ditribuirani sistemi • Potrebna je komunikacija sa članovima grupe • Grupa je apsolutno velika ali je relativno mala u odnosu na mrežu • Ruteri moraju da znaju topologiju grupe • Na osnovu znanja o topologiji grupe ruteri prave redukovana stabla grupa koja koriste za multicasting ka članovima grupa
Usmeravanje u ad hoc mrežama • Privremene mreže u uslovima mobilnosti računara ali i rutera • Topologija i uslovi u ad hoc mrežama se mogu promeniti bilo kada • AODV (Ad hoc On-demand Distance Vector) algoritam • ROUTE REQUEST paket sa zahtevom za putanju se emituje difuzno • Ovaj paket primaju čvorovi u dometu
Otkrivanje putanje, formati ROUTE REQUEST i ROUTE REPLY paketa
Održavanje putanje • Periodična emisija Hello poruke • Na osnovu odgovora na Hello poruku zna se ko je u blizini i odbacuju se putanje koje više ne važe • Aktivni susedi u određenom vremenskom intervalu
Tabela za usmeravanje čvora D pre nego što se čvor G isključio. Kada se čvor isključi, briše se iz tabele i javlja se aktivnim susedima
Pretraživanje čvorova u mrežama ravnopravnih računara • Napster – oko 50 106 korisnika razmena muzike • Sistemi ravnopravnih računara su sasvim distribuirani – svi čvorovi su simetrični i ravnopravni • Ne postoje centralno upravljanje ili hijerarhija • Svaki korisnik ima podatke koji mogu biti značajni za ostale korisnike • Stavka ima naziv kao ASCII text • n korisnika od kojih svaki ima zapise i podatke o tome koje će koristiti drugi korisnici
Identifikator čvora – Node identifier • IP adresa -> 160 bit identifikator čvora preko Hash SHA1 funkcije • identifikator čvora = hash(IP) • 2160 identifikatora je raspoređeno po krugu • Neki – osenčeni čvorovi postoje • Sledbenik(k) je identifikator koji stvarno postoji • Sledbenik(6)=7, sledb(8)=12, sedb(22)=27 • Ime zapisa -> 160 bit ključ • Ključ = hash(ime) • Zapis koji se distribuira dublet(ime, IP adresa) pa onda sledbenik (ključ) što daje čvor gde se upisuje IP adresa čvora gde se nalazi zapis sa imenom
Pretraživanje sadržaja • Ako postoji više čvorova sa istim sadržajem, onda se svi dubleti upisuju u čvor sledbenik(ključ) • Svaki čvor mora da održava minimalnu tabelu strukture mreže • To može biti podatak o čvoru sledbeniku, prethodniku ili tabela prstiju sa m odrednica • Odrednica je početak, IP adresa sledbenika • Početak = k + 2i, i < m, 2m broj čvorova mreže • K je identifikator čvora koji traži neki podatak • Podatak je ključ = hash(ime podatka) • hash(IP adresa)= sledbenik(hash(ime podatka)) • Sledbenik(hash(ime podatka)) sadrži IP adresu podatka
Pretraživanje sadržaja 2 • Traži se čvor = sledbenik(ključ) • ključ = hash(ime) • Pretraga preko sledbenika • Pretraga preko tabele prstiju • Dinamika čvorova – umetanje novih i odjavljivanje postojećih čvorova • Novi čvor traži od nekog čvora u mreži da za njega pronađe čvor koji je njegov sledbenik • Novi čvor zatim od nađenog sledbenika traži njegovog prethodnika • Taj prethodnik, novi čvor uvrštava kao svog sledbenika • Novi čvor je sada član mreže • Sledi ažuriranje postojećih tabela prstiju – vrši se periodično • Iznenadni otkaz čvorova – čvor vodi evidenciju ne samo o direktnom sledbeniku, već o više indirektnih sledbenika
Algoritmi za upravljanje zagušenjem • Kada je broj poslatih paketa u mrežu manji od prenosnog kapaciteta mreže, svi se isporučuju • Ako saobraćaj premaši prenosni kapacitet mreže, dolazi do zagušenja – congestion, što prouzrokuje gubljenje paketa • Dalje povećanje saobraćaja – poslatih paketa dovodi do naglog pada isporučenih paketa • Uvećanje memorije rutera delimično rešava problem, a ruteri sa “beskonačnom” memorijom pogoršavaju stanje zbog isticanja timer-a
Razlozi zagušenja – uska grla • Spore linije • Spori usmerivači – raste red čekanja • Neusaglašenost svih delova mreže • Kontrola zagušenja – Congestion control je globalna i treba da obezbedi isporuku svih paketa na podmreži • Kontrola toka – Flow control deluje point to point i sprečava da brzi pošiljalac pretrpa sporog primaoca • Ili primalac ne može da dovoljno brzo obradi sve podatke ili mreža ne može da ih prenese