7. protokoli rutiranja

Upload: singidunum112

Post on 02-Mar-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/26/2019 7. Protokoli rutiranja

    1/6

    7. Protokoli rutiranja

    Zadatak ruting protokola je da osposobe ruting tabele. To mozemo uraditi rucno staticko rutiranje. Ali to nije skalabilno, pa se cesce koristi dinamicko rutiranje. Dakle,

    ruting protokoli sluze da nauce rutere kako da rutiraju. Osnovne funkcije ruting protokola

    jesu da prikupljaju informacije o drugim podmrezama, treba da obaveste druge rutere osvojim podmrezama za koje oni imaju informacije, do odredjenih podmreza moze da

    postoji vise ruta, pa treba da biraju najbolju i ako dodje do promene topologije,

    oglasavaju drugim ruterima novo stanje i ponovo biraju najbolju rutu. Dinamicki ruterprotokoli dele se na interne (Interior) i eksterne (Exterior). eksternom se samo

    koristi !"#. $nterni su kategorizovani u dve osnovne grupe Distance Vector Protocols i

    Link-State Protocols.

    $nternet kao jako rasprostranjena mreza mora da funkcionise na stabilan nacin. %vaki

    korisnik je zaduzen za svoj deo mreze i te celine se nazivaju Autonomni sistemi. Oni se

    medjusobno mogu povezati i to su eksterne veze. A unutar jednog autonomnog sistematreba da postoje usaglasena pravila i to je zadatak prvo mreznih administratora i onda se

    uspostave protokoli rutiranja koji ce to omoguciti.

    Distance &ector i 'ink %tate rade dosta razlicito jedan od drugog. D& je konvencionalniji

    pristup, informacije se razmenjuju samo izmedju susednih rutera i to na osnovu dva

    parametra. To su distanca do odredjene podmreze, a vektor nosi informaciju o pravcu gdese ta mreza nalazi, a u ovom slucaju to je ne(t)hop. %vaki ruter zna svoje mreze koje su

    povezne na njega. Dakle, svi ruteri u mrezi znaju sve mreze. $ oni prenose ono sto oni

    znaju, a i ono sto su naucili od svojih suseda. 'ink state protokoli razmenjuju mnogo vise

    informacija i ideja je da svaki ruter zna celu topologiju mreze.

    *uting protokole mozemo da posmatramo i prema tome kako tretiraju mreze, podmreze,

    odnosno maske. %tariji nisu predvidjali koncept maski, a bez maski mi ne znamo koja jevelicina mreze. Odnosno, mozemo da znamo tako sto mozemo da uspostavimo masku

    odredjene duzine sto nam daje fikse mreze, mreze fiksne velicine. Ovakvi ruting

    protokoli nazivaju se +lassful ruting protokoli. A danas koristimo varijabilne maske&'%- i to su +lassless ruting protokoli.

    Metrika oznacava vrednost, parametar koji nam oznacava koliko je dobro odredjena

    ruta. /ao metrika se moze koristiti Hop count broj koraka rutera do podmreze,

    Ban!it" kapacitet veze, brzina veze, #ost cena, koja moze da se definise, Dela$

    kasnjenje *TT, Loa opterecenje linka, %elia&ilit$ pouzdanost veze. Tipicno se

    koriste ili hop count ili band0idth.

    #rema nekim mrezama mozemo da imamo i dva puta i mi biramo najbolji preko metrike.Ako je ista za obe putanje ne mozemo da izaberemo jednu, nego podelimo saobracaj, deoide na jednu, deo na drugu stranu. To se zove Loa Balancin'. %lucaju otkaza jedne,

    druga ce preuzeti njen deo.

    inistrati*na istancaukazuje koliko zelimo da dodelimo prioritet nekoj ruti. Ona je

    vezana za ruting protokol i ima vecu tezinu u odnosu na ruting protokol. Dakle, ona

    odredjuje preferencu prioritet ruta.

    1

  • 7/26/2019 7. Protokoli rutiranja

    2/6

    Distance &ector ruting protokoli rade tako sto se razmenjuju informacije izmedju

    susednih rutera. Ta razmena poruka naziva se routing update, koji sadrzi adresu podmreze

    koja se oglasava i metriku do podmreze. *uter moze da dobije sa vise strana informacijeo jednoj istoj mrezi. On dobija npr redom metrike 2, 3, 4. A zadatak rutera je da samo

    najbolju rutu ubaci u ruting tabelu. On odlucuje na osnovu metrike, najmanja metrika ima

    najmanje koraka i najbolja je. Distance vector protokoli stalno moraju da oglasavajusvoje informacije. -ora periodicno da se oglasava i to se sprovodi na red velicine

    nekoliko desetina sekundi, u slucaju *$# protokola to je 35 sekundi. $mamo, dakle,

    relativno cesto oglasavanje.

    slucaju promene stanja u mrezi moramo da uspostavimo novo stacionarno

    konzistentno stanje i taj proces se naziva konvergencija. +ilj je da konvergencija bude

    sto brza. #roblem je sto mreza moze da bude dosta velika. /onvergencija najvise zavisiod routing update)a, ali i od brzine racunanja ruta i uspostavljanja ruting tabela. -ogu da

    se jave ruting petlje. $mamo mehanizam Time To 'ive koji ce izbaciti pakete iz petlje, ali

    nije dobro da se javi. -oze da se javi greskom u konfiguraciji, ali ovo kako je do sadapredstavljen ruting protokol nije dobro. #osle odredjenog vremena, rute u obe tabele ce

    dostici maksimalni broj hopova, tj. maksimalnu metriku 6infinit76, rute su nevalidne,

    brisu se iz tabele i ptelja se konacno prekida. Ali ruting update se i dalje desava i imamodrugi efekat koji se zove #ount-to-In+init$. Zato se uvode zastite od ruting petlji. 8a

    nivou $# paketa to je Time To 'ive, ali od njega nema neke velike koristi. 8a nivou ruting

    protokola imamo ,ri''ere upate, %oute Poisonin', Split "orion i Holo!n

    ,ier. +ilj je ubrzati konvergenciju. $deja je da se ne ceka sledeci routing update, vec

    cim se desi promena da se ona odmah propagira i u tom trenutku posalje update do drugih

    rutera. %to ce dosta ubrzati konvergenciju zato sto ce ta nova informacija relativno brzo

    da propagira do susednog rutera i nadalje. *oute #oisoning je situacija kada se detektujeda je neka ruta pala. $ u tom slucaju ako je mi ne oglasimo, izbrisemo, to nam nije dobro,

    vec zelimo na neki nacin da kazemo da ta ruta vise ne postoji. tom slucaju koristimo

    metriku koja nosi najvecu, beskonacnu vrednost koja je nevalidna. slucaju *$#)a je to19 i mi cemo tu vrednost staviti za mrezu koja je pala da bismo oznacili da mreza ne

    postoji. %alje se takav update. /ada to dodje do drugog rutera, ta vrednost ce se upisati,

    ali ce se znati da je nevalidna. #ravilo %plit horizon kaze da ruter nikada nece oglasitineku rutu na stranu, na interfejs prema ruteru od koga je on tu rutu naucio. -edjutim

    postoji jedan izuzetak koji se usvojio da se primenjuje, a to je da se oglasi nevalidna ruta

    #oison *evers, u obrnutom slucaju. *uta se oglasava sa nevalidnom metrikom, ne moze

    nista lose da se desi, ali imamo jednu dodatnu informaciju. 8pr. ako padne mreza naruteru 4, ona se brise iz ruting tabele i ona se prenosi kao #oison trigerovari update sa

    metrikom 19 do rutera 1, koji je upisuje u ruting tabelu. ovom koraku, tada ce ruter 1

    koji je naucio od rutera 4, oglasiti nazad, samo u ovom slucaju, kao neku vrstu

    informaciju da on ima takvu informaciju u svojoj ruting tabeli. *uter 4 ce izignorisati to,vec ce samo znati za tu informaciju da postoji ta ruta kao nevalidna.

    Ove tehnike ne obezbedjuju uvek odbranu od ruting petlji. 8pr. imamo tri rutera

    povezana na trougao i svaki ruter oglasava svoje mreze i sto je naucio od svojih suseda.

    8pr ruter 4. ce svoje mreze proslediti ruteru 3, ali i one mreze koje je naucio od rutera 1. $to rade svi ruteri na sve strane koristeci pravilo i split horizona, a videcemo da koriste i

    trigger update, koji u slucaju prekida neke mreze, npr ruter 4 gubi informaciju o toj

    4

  • 7/26/2019 7. Protokoli rutiranja

    3/6

    mrezi, generise se triggered update sa metrikom 19. Ova mreza vise nije dostupna sa

    rutera 4 i to se prenosi i do rutera 3 i do rutera 1. %tigla je informacija do rutera 3,

    medjutim jos nije stiglo do rutera 1. *uter 1 pre nego sto je dobio informaciju da jeodredjena mreza pala, on je oglasio svoje dosadasnje znanje o toj mrezi i ta informacija

    ide ka ruteru 3. *uter 3 je vec saznao da je metrika nevalidna, ali neposredno nakon toga

    mu stize nova informacija od rutera 1, koja je zapravo zastarela. *uter 3 ce upisati tuvalidnu informaciju i on ce misliti da je mreza zaista validna. To nije dobro i potrebno je

    uvesti jos jedan mehanizam koji se naziva :olddo0n Timer koji predstavlja jedan

    vremenski brojac koji ce za svaku rutu cuvati njenu informaciju u ruting tabeli, cak i kadase ona izbrise, nece dozvoliti da nova informacija pregazi prethodnu informaciju.

    :olddo0n Timer pamti informaciju za svaku rutu u tabeli. /ada se promeni ta

    informacija i dodje neka nova informacija, u tom periodu se nece dozvoliti azuriranje

    rute. Dakle, sprecice da rute brzo menjaju svoje vrednosti u ruting tabeli.

    *uting protokoli kao i protokoli u racunarskim mrezama rade tako sto razmenjuju poruke

    medju susedima. ;edan od tih protokola je %IP Protocol (%outin' In+oration

    Protocol), to je Distance protokol i prvobitno je bio u verziji 1, koja se odnosi na +lassful

    ruting informacije. +lassful znaci da se ne podrzavaju varijabilne duzine maske. *$#

    koristi metriku hop)count. /oristi se broadcast adresiranje. *$# poruka ima svoj format.$ma polje koje oznacava verziju, polje koje oznacava $# adresu mreze. Ovih $# adresa u

    jednoj poruci moze biti vise. *$# se enkapsulira u D# protokl, na 2. nivou i naravno u

    $# paketu, koji se enkapsulira na nekom nizem nivou u odgovarajuci okvir. *$# paketeprepoznaju ruteri i samo ih oni i prihvataju. *$# ima admistrativnu distancu 145. 8e

    podrzava se varijabilna duzina maske, ali mogu koristiti maske u mrezi odredjenih

    duzina. ;os jedan razlog zasto je to +lassful ruting protokol, *$# u nekom domenu

    podrzava odredjene mreze i masku odredjene duzine. *$# i drugi protokoli imajumogucnost da razmene rute iz jednog u drugi ruting protokol. #osto *$# nema mogucnost

    da informise i o velicini maske, drugi ruting ptotokoli to mogu da podrzavaju, *$# ce na

    toj granici svog domena da vrsi automatsko sumiranje, agregaciju svih ruta u klasu A, !ili +. Doslo je i do razvoja *$#)a verzije 4 koji je sada +lassless Distance &ector ruting

    protokol, jer podrzava masku u routing updateu. kljucuje se i ne(t)hop u informaciju o

    routing updateu, ukljucuje se i metrika. *$# 1 je prenosio okvire svima, a *$# 4 koristimalo bolji nacin prenosa, tako sto se ruting update prenosi multicastom, a ne

    broadcastom. #rimice se samo od uredjaja, rutera koji imaju startovan *$#. *$# 4 unosi

    dodatnu opciju koja moze da postavi odredjeni pass0ord, koristi se split horizon,

    holddo0n timer, triggered update, to su slicnosti sa *$#)om verzije 1. -aksimalno 19hopova je dozvoljena metrika unreachable. Distance &ector ruting protokoli nisu

    komplikovani, ni za razumevanje, ni za konfigurisanje i odrzavanje. 8isu mnogo zahtevni

    po pitanju +# i memorije, oglasavaju se periodicno. #ored toga, smatra se da imaju

    sporu konvergenciju i sporiju u vecim mrezama. %matra se i da imaju nedovoljnuskalabilnost.

    /od 'ink)%tate ruting protokola sam nacin rada je dosta slozeniji. /od Distance &ector

    ruting protokola imamo ruting updatee kada se oglasavaju rute, a za rutu kazemo da je to

    informacija o mrezi i oglasava je onaj koji zna gde je ta mreza. 'ink)%tate rutingprotokoli oglasavaju neke dodatne informacije. Oglasavaju informacije koje oni vide o

    svojim mrezama i to sa dosta detalja, koji je tip veze, koja je brzina, koje su mrezne

    3

  • 7/26/2019 7. Protokoli rutiranja

    4/6

    adrese i maske, ko je povezan na te rutere itd. Zatim ce te informacije da se propagiraju

    kroz mrezu i to nisu rute, ruting updatei u smislu mreza, maska, ne(t)hop, vec su to dosta

    detalja koje ruter vidi iz svog ugla. Te informacije se nazivaju LS (Link-State

    *ertiseents) oglasavanje o stanju linkova. 8a osnovu ovih informacija ruteri ce da

    prikupe znanje o svim linkovima u celoj mrezi u tom domenu i taj skup informacija se

    naziva baza '%A ili LSDB (Link-State Data&ase). #osto su svi ruteri na istoj mrezi, svisu prikupili informacije o svima, pa ce '%D! od svih rutera biti identicni. 8akon toga cilj

    svakog ruting protokola je da napravi ruting tabelu. *uter ce, poznavajuci celu mrezu, da

    gleda svoju poziciju u mrezi i da odredi do svake mreze adrese najkracu putanju. /oristise algoritam SP (S"ortest Pat" irst). /ada se uspostavi najkraci put, dobice se neko

    stablo, struktura koja iz jednog rutera do svake mreze vidi jedan put, na osnovu cega se

    tek tada odredjuje ruting tabela. 'ink)%tate Advertisements se odnosi na razmenu

    informacija o linkovima, a u 'ink)%tate terminologiji linkne oznacava vezu vec interfejsrutera. Link statene oznacava stanje, vec sve bitne informacije o interfejsima u tom

    momentu, a to su $# adresa i maska mreze, $# adresa interfejsa, tip interfejsa, cena linka i

    koji su suedni ruteri na tom linku. /ei'"&orspredstavljaju direktno povezane rutere.

    'ink)%tate Advertisements poruke se razmenjuju tako sto se prvo otkrivaju susedni ruteri,nije potrebno da bude bilo koji ruter na drugoj strani da bi mogli da komuniciramo, nego

    taj drugi ruter mora da ima usaglasene parametre. Ta usaglasenost se otkriva pomocu:ello poruka, koje se razmenjuju izmedju susednih rutera. Tek kada susedni ruteri

    razmene ove poruke i parametre i saznaju da oba rutera pricaju isti protokol u istoj verziji

    i da razumeju jedan drugog tada se oni smatraju da su ajacent nei'"&ours. Tek kada seuspostave adjacentsi izmedju rutera, tada ce ruteri da salju 'ink)%tate pakete koji ce da

    sadrze informacije o svojim interfejsima i informacije o susedima, metrici, tipu linkova i

    to se salje sada to svih adjacentsi ruterima. Te informacije moraju brzo i intenzivno da se

    salju. Ovaj proces se naziva flooding, jer ce jedan ruter da posalje svoje informacijedrugim ruterima, drugi ruteri ce da prime te informacije i one moraju da propagiraju do

    drugih rutera. Dakle, flooding je taj intenzivni proces kada se nesto promeni u celoj

    mrezi, ta informacija mora brzo da prodje do svih. Znaci cilj je da se uspostavi rutingtabela, a da bismo to uradili moramo da imamo kompletnu '%D! bazu.

    '%D! se uspostavlja tako sto, kako pristizu 'ink)%tate paketi od drugih rutera prekomreze, ruter ce da dopunjuje i da gradi, saznaje sve vise informacija o mrezi. /ada mreza

    ima vise putanja, ruter treba iz svoje tacke u kojoj se nalazi, da za svaku pojedinacnu

    mrezu koja se javlja da odredi koja je putanja najbolja. "ledaju se cene i najbolja putanja

    je ona koja ima najmanju cenu. To se radi pomocu Dijkstrinog alogoritma. $z stablanajkracih puteva %#< tree, koje je jedinstveno za svaki ruter, kreira se ruting tabela.

    0so&ine Link-State rutin' protokola1

    #rvo imamo intenzivno slanje paketa u procesu koji se naziva flooding. Ali nije dobro sto

    je tom prilikom mreza opterecena sa ovim stvarima i ne prenosi produktivni saobracaj./oristi se samo za brzo uspostavljanje ruting informacija.

  • 7/26/2019 7. Protokoli rutiranja

    5/6

    malo vec kapaciteta. Dobro je da imamo i veci propusni opseg da bi se flooding sto pre

    zavrsio. %recom, mreza je cesto stabilna, nemamo periodicnih updatea, imamo samo

    oglasavanje hello poruka, koje se oglasavaju izmedju rutera samo da oglase da su zivi.Ako je mreza stabilna u duzem vremenskom intervalu, moze da se uspostavi odredjeni

    flooding cisto da se refreshuju te informacije.

    #osto imamo ovakav nacin rada, skalabilonst nam je dosta veliki problem, jer sa rastom

    mreze raste i broj rutera i sam flooding ce biti intenzivniji, a i vise uredjaja moze da utice

    na promenu topologije. %vaki put kada se to desi, mi cemo imati celu koja je floodovana.To nam nije mnogo dobro i sprecava se tako sto se mreza deli na odredjene oblasti kojima

    se ogranicava prenos ovih informacija. Tako da pad i promena topologije u jednoj oblasti,

    koja se zove rea, ne treba da utice na stanje u drugoj oblasti. #odelom u oblasti izoluju

    se domeni floodovanja i ogranicava se ova osobina.

    'ink)%tate ruting protokoli postoje u dve vrste= O%#< i $%)$%. 0SP (0pen S"ortest

    Pat" irst)je standardizovala organizacija $>T

  • 7/26/2019 7. Protokoli rutiranja

    6/6

    polje koje se naziva seen, sta je vidjeno, sta ruter zna, ali drugi ruter kada dobije hello

    paket zna da postoji neki ruter koji se njemu obratio preko ovog paketa, pa ce on njemu

    da odgovori isto sa hello porukom, da mu kaze svoje ime i u seen polje da postavi ono stoje on video, a to je prvi uredjaj. /ada prvi ruter primi poruku, zna da je drugi ruter

    svestan njegovog postojanja. Oni su se upoznali i tada mu on odgovara sa dodatom

    adresom drugog rutera u seen polju i drugi ruter kada vidi svoju adresu tada seuspostavlja susedstvo. Tom prilikom moraju da budu usaglaseni i svi drugi parametni.

    %usedstvo se uspostavilo, ali nemamo informacije o cenama. Za to je prvo potrebno

    razmeniti podatke i u toj vezi jedan mora da bude master, a drugi slave i u tom ExStartstanju se to uspostavlja. Onaj koji ima vec $D postaje master. Onda se prlazi u Exc"an'estanje kada ruteri treba da razmene D!D poruke koje sadrze kratke informacije o svim

    '%A koje poseduju i prvo salje master, pa onda slave. *uteri ce prvo da ustanove u cemu

    se razlikuju podaci, pa samo ono u cemu se razlikuju, to ce da se prenese. Onda se prelaziu Loain'stanje, gde se prenosi samo ono sto ruterima nedostaje. A na kraju se prelazi u

    ull ajacenc$ stanje kada susedni ruteri imaju iste uparene sinhronizovane baze

    podataka.

    -edjutim, jos veca komplikacija nastaje ako imamo >thernet veze sa vise pristupa koji

    mogu da se dese, a to su mreze multiaccess tipa. #ostoji ? mreza na kojima radi O%#thernetu ili