logo

Algoritem za usmerjanje vektorja razdalje

    Algoritem vektorja razdalje je iterativen, asinhron in porazdeljen.
      Razdeljeno:Porazdeljeno je tako, da vsako vozlišče prejme informacije od enega ali več svojih neposredno povezanih sosedov, izvede izračun in nato porazdeli rezultat nazaj svojim sosedom.Iterativno:Ponavlja se tako, da se njegov proces nadaljuje, dokler ni na voljo več informacij za izmenjavo med sosedami.Asinhrono:Ne zahteva, da vsa njegova vozlišča med seboj delujejo v koraku zaklepanja.
  • Algoritem vektorja razdalje je dinamičen algoritem.
  • Uporablja se predvsem v ARPANET in RIP.
  • Vsak usmerjevalnik vzdržuje tabelo razdalj, znano kot Vektor .

Trije ključi za razumevanje delovanja algoritma za usmerjanje vektorjev razdalje:

    Poznavanje celotne mreže:Vsak usmerjevalnik deli svoje znanje skozi celotno omrežje. Usmerjevalnik pošilja zbrano znanje o omrežju svojim sosedom.Usmerjanje samo do sosedov:Usmerjevalnik pošilja svoje znanje o omrežju le tistim usmerjevalnikom, ki imajo neposredne povezave. Usmerjevalnik pošlje vse, kar ima o omrežju, skozi vrata. Informacije prejme usmerjevalnik in jih uporabi za posodobitev lastne usmerjevalne tabele.Redna izmenjava informacij:V 30 sekundah usmerjevalnik pošlje informacije sosednjim usmerjevalnikom.

Algoritem za usmerjanje vektorja razdalje

Naj dx(y) strošek poti z najmanjšimi stroški od vozlišča x do vozlišča y. Najmanjši stroški so povezani z Bellman-Fordovo enačbo,

 d<sub>x</sub>(y) = min<sub>v</sub>{c(x,v) + d<sub>v</sub>(y)} 

Kje minv je enačba za vse x sosede. Po potovanju od x do v, če upoštevamo pot z najmanjšimi stroški od v do y, bodo stroški poti c(x,v)+dv(y). Najmanjši strošek od x do y je najmanjši c(x,v)+dv(y) prevzel vse sosede.

Z algoritmom za usmerjanje vektorja razdalje vozlišče x vsebuje naslednje informacije o usmerjanju:

  • Za vsakega soseda v je strošek c(x,v) strošek poti od x do neposredno priključenega soseda, v.
  • Vektor razdalje x, tj. Dx= [Dx(y) : y v N ], ki vsebuje njegove stroške do vseh destinacij, y, v N.
  • Vektor razdalje vsakega od njegovih sosedov, tj. Dv= [Dv(y) : y v N ] za vsakega soseda v od x.

Usmerjanje vektorja razdalje je asinhroni algoritem, v katerem vozlišče x pošlje kopijo svojega vektorja razdalje vsem svojim sosedom. Ko vozlišče x prejme nov vektor razdalje od enega od svojih sosednjih vektorjev v, shrani vektor razdalje v in uporabi Bellman-Fordovo enačbo za posodobitev lastnega vektorja razdalje. Enačba je podana spodaj:

kaj je poseben znak
 d<sub>x</sub>(y) = min<sub>v</sub>{ c(x,v) + d<sub>v</sub>(y)} for each node y in N 

Vozlišče x je posodobilo lastno tabelo vektorjev razdalje z uporabo zgornje enačbe in pošlje posodobljeno tabelo vsem svojim sosedom, da lahko posodobijo svoje vektorje razdalje.

Algoritem

 At each node x, <p> <strong>Initialization</strong> </p> for all destinations y in N: D<sub>x</sub>(y) = c(x,y) // If y is not a neighbor then c(x,y) = &#x221E; for each neighbor w D<sub>w</sub>(y) = ? for all destination y in N. for each neighbor w send distance vector D<sub>x</sub> = [ D<sub>x</sub>(y) : y in N ] to w <strong>loop</strong> <strong>wait</strong> (until I receive any distance vector from some neighbor w) for each y in N: D<sub>x</sub>(y) = minv{c(x,v)+D<sub>v</sub>(y)} If D<sub>x</sub>(y) is changed for any destination y Send distance vector D<sub>x</sub> = [ D<sub>x</sub>(y) : y in N ] to all neighbors <strong>forever</strong> 

Opomba: V vektorskem algoritmu razdalje vozlišče x posodobi svojo tabelo, ko opazi kakršno koli spremembo stroškov v enem neposredno povezanem vozlišču ali prejme kakršno koli posodobitev vektorja od soseda.

Razumejmo na primeru:

Skupna raba informacij

Algoritem za usmerjanje vektorja razdalje
  • Na zgornji sliki vsak oblak predstavlja omrežje, številka v oblaku pa ID omrežja.
  • Vsa omrežja LAN so povezana z usmerjevalniki in so predstavljena v poljih, označenih z A, B, C, D, E, F.
  • Algoritem usmerjanja z vektorjem razdalje poenostavlja postopek usmerjanja s predpostavko, da je cena vsake povezave ena enota. Zato lahko učinkovitost prenosa merimo s številom povezav, ki dosežejo cilj.
  • Pri usmerjanju vektorja razdalje strošek temelji na številu skokov.
Algoritem za usmerjanje vektorja razdalje

Na zgornji sliki opazimo, da usmerjevalnik pošilja znanje neposrednim sosedom. Sosedje to znanje dodajo svojemu znanju in posodobljeno tabelo pošljejo svojim sosedom. Na ta način dobijo usmerjevalniki lastne informacije in nove informacije o sosedih.

Usmerjevalna tabela

Pojavi se dva procesa:

  • Ustvarjanje tabele
  • Posodabljanje tabele

Ustvarjanje tabele

Na začetku se usmerjevalna tabela ustvari za vsak usmerjevalnik, ki vsebuje vsaj tri vrste informacij, kot so ID omrežja, cena in naslednji skok.

Algoritem za usmerjanje vektorja razdalje
    NET ID:Omrežni ID določa končni cilj paketa.Cena:Cena je število skokov, ki jih mora paket opraviti, da pride tja.Naslednji skok:To je usmerjevalnik, na katerega mora biti dostavljen paket.
Algoritem za usmerjanje vektorja razdalje
  • Na zgornji sliki so prikazane originalne usmerjevalne tabele vseh usmerjevalnikov. V usmerjevalni tabeli prvi stolpec predstavlja ID omrežja, drugi stolpec predstavlja ceno povezave, tretji stolpec pa je prazen.
  • Te usmerjevalne tabele so poslane vsem sosedom.

Na primer:

 A sends its routing table to B, F &amp; E. B sends its routing table to A &amp; C. C sends its routing table to B &amp; D. D sends its routing table to E &amp; C. E sends its routing table to A &amp; D. F sends its routing table to A. 

Posodabljanje tabele

  • Ko A prejme usmerjevalno tabelo od B, uporabi njene podatke za posodobitev tabele.
  • Usmerjevalna tabela B prikazuje, kako se lahko paketi premikajo v omrežji 1 in 4.
  • B je sosed usmerjevalnika A, paketi od A do B lahko dosežejo v enem skoku. Torej se 1 doda vsem stroškom, podanim v tabeli B, in vsota bo strošek doseganja določenega omrežja.
Algoritem za usmerjanje vektorja razdalje
  • Po prilagoditvi A nato to tabelo združi s svojo tabelo, da ustvari kombinirano tabelo.
Algoritem za usmerjanje vektorja razdalje
  • Kombinirana tabela lahko vsebuje nekaj podvojenih podatkov. Na zgornji sliki kombinirana tabela usmerjevalnika A vsebuje podvojene podatke, zato hrani samo tiste podatke, ki imajo najnižjo ceno. Na primer, A lahko pošlje podatke v omrežje 1 na dva načina. Prvi, ki ne uporablja naslednjega usmerjevalnika, zato stane en skok. Drugi zahteva dva skoka (od A do B, nato od B do omrežja 1). Prva možnost ima najnižje stroške, zato jo obdržimo, drugo pa opustimo.
Algoritem za usmerjanje vektorja razdalje
  • Postopek ustvarjanja usmerjevalne tabele se nadaljuje za vse usmerjevalnike. Vsak usmerjevalnik prejme informacije od sosedov in posodobi usmerjevalno tabelo.

Končne usmerjevalne tabele vseh usmerjevalnikov so podane spodaj:

Algoritem za usmerjanje vektorja razdalje