logo

Algoritme d'encaminament vectorial de distància

    L'algorisme del vector de distància és iteratiu, asíncron i distribuït.
      Distribuït:Es distribueix perquè cada node rep informació d'un o més dels seus veïns directament connectats, realitza el càlcul i després distribueix el resultat als seus veïns.Iteratiu:És iteratiu, ja que el seu procés continua fins que no hi ha més informació disponible per intercanviar-se entre veïns.asíncron:No requereix que tots els seus nodes funcionin en el pas de bloqueig entre si.
  • L'algorisme del vector de distància és un algorisme dinàmic.
  • S'utilitza principalment en ARPANET i RIP.
  • Cada encaminador manté una taula de distàncies coneguda com a Vector .

Tres claus per entendre el funcionament de l'algoritme d'encaminament vectorial a distància:

    Coneixement de tota la xarxa:Cada encaminador comparteix el seu coneixement a través de tota la xarxa. L'encaminador envia els seus coneixements recopilats sobre la xarxa als seus veïns.Encaminament només als veïns:L'encaminador envia el seu coneixement sobre la xarxa només als encaminadors que tenen enllaços directes. L'encaminador envia tot el que tingui sobre la xarxa a través dels ports. La informació la rep l'encaminador i la utilitza per actualitzar la seva pròpia taula d'encaminament.Compartir informació a intervals regulars:En 30 segons, l'encaminador envia la informació als encaminadors veïns.

Algoritme d'encaminament vectorial de distància

Sigui dx(y) sigui el cost del camí de menor cost del node x al node y. Els menors costos estan relacionats per l'equació de Bellman-Ford,

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

On el minv és l'equació presa per a tots els x veïns. Després de viatjar de x a v, si considerem el camí de menor cost de v a y, el cost del camí serà c(x,v)+den(y). El menor cost de x a y és el mínim de c(x,v)+den(y) es va fer càrrec de tots els veïns.

Amb l'algorisme d'encaminament del vector de distància, el node x conté la informació d'encaminament següent:

  • Per a cada veí v, el cost c(x,v) és el cost del camí des de x fins al veí connectat directament, v.
  • El vector distància x, és a dir, Dx= [ Dx(y): y en N ], que inclou el seu cost a totes les destinacions, y, en N.
  • El vector distància de cadascun dels seus veïns, és a dir, Den= [ Den(y): y en N ] per a cada veí v de x.

L'encaminament del vector de distància és un algorisme asíncron en el qual el node x envia la còpia del seu vector de distància a tots els seus veïns. Quan el node x rep el nou vector de distància d'un dels seus vectors veí, v, desa el vector de distància de v i utilitza l'equació de Bellman-Ford per actualitzar el seu propi vector de distància. L'equació es dóna a continuació:

qui és freddie mercury
 d<sub>x</sub>(y) = min<sub>v</sub>{ c(x,v) + d<sub>v</sub>(y)} for each node y in N 

El node x ha actualitzat la seva pròpia taula de vectors de distància utilitzant l'equació anterior i envia la seva taula actualitzada a tots els seus veïns perquè puguin actualitzar els seus propis vectors de distància.

Algorisme

 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> 

Nota: a l'algorisme de vector de distància, el node x actualitza la seva taula quan veu qualsevol canvi de cost en un node directament enllaçat o rep una actualització vectorial d'algun veí.

Entenem-ho a través d'un exemple:

Compartint informació

Algoritme d'encaminament vectorial de distància
  • A la figura anterior, cada núvol representa la xarxa i el número dins del núvol representa l'ID de la xarxa.
  • Totes les LAN estan connectades per encaminadors i es representen en quadres etiquetats com A, B, C, D, E, F.
  • L'algorisme d'encaminament de vectors de distància simplifica el procés d'encaminament suposant que el cost de cada enllaç és d'una unitat. Per tant, l'eficiència de la transmissió es pot mesurar pel nombre d'enllaços per arribar a la destinació.
  • A l'encaminament vectorial de distància, el cost es basa en el recompte de salts.
Algoritme d'encaminament vectorial de distància

A la figura anterior, observem que l'encaminador envia el coneixement als veïns immediats. Els veïns afegeixen aquests coneixements al seu propi coneixement i envia la taula actualitzada als seus propis veïns. D'aquesta manera, els routers obtenen la seva pròpia informació més la nova informació sobre els veïns.

Taula d'encaminament

Es produeixen dos processos:

  • Creació de la Taula
  • Actualització de la taula

Creació de la Taula

Inicialment, es crea la taula d'encaminament per a cada encaminador que conté almenys tres tipus d'informació, com ara l'identificador de xarxa, el cost i el salt següent.

Algoritme d'encaminament vectorial de distància
    ID NET:L'identificador de xarxa defineix la destinació final del paquet.Cost:El cost és el nombre de salts que ha de fer el paquet per arribar-hi.Següent salt:És l'encaminador al qual s'ha d'enviar el paquet.
Algoritme d'encaminament vectorial de distància
  • A la figura anterior, es mostren les taules d'encaminament originals de tots els encaminadors. En una taula d'encaminament, la primera columna representa l'ID de la xarxa, la segona columna representa el cost de l'enllaç i la tercera columna està buida.
  • Aquestes taules d'encaminament s'envien a tots els veïns.

Per exemple:

 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. 

Actualització de la taula

  • Quan A rep una taula d'encaminament de B, utilitza la seva informació per actualitzar la taula.
  • La taula d'encaminament de B mostra com es poden moure els paquets a les xarxes 1 i 4.
  • El B és un veí del router A, els paquets d'A a B poden arribar en un sol salt. Així, s'afegeix 1 a tots els costos indicats a la taula de B i la suma serà el cost per arribar a una xarxa determinada.
Algoritme d'encaminament vectorial de distància
  • Després de l'ajust, A combina aquesta taula amb la seva pròpia taula per crear una taula combinada.
Algoritme d'encaminament vectorial de distància
  • La taula combinada pot contenir algunes dades duplicades. A la figura anterior, la taula combinada de l'encaminador A conté les dades duplicades, de manera que només conserva aquelles dades que tenen el cost més baix. Per exemple, A pot enviar les dades a la xarxa 1 de dues maneres. El primer, que no utilitza cap encaminador següent, de manera que costa un salt. El segon requereix dos salts (A a B, després B a la xarxa 1). La primera opció té el cost més baix, per tant es manté i la segona s'abandona.
Algoritme d'encaminament vectorial de distància
  • El procés de creació de la taula d'encaminament continua per a tots els encaminadors. Cada router rep la informació dels veïns i actualitza la taula d'encaminament.

Les taules d'encaminament finals de tots els encaminadors es donen a continuació:

Algoritme d'encaminament vectorial de distància