logo

Távolságvektor Routing Algorithm

    A távolságvektor algoritmus iteratív, aszinkron és elosztott.
      Megosztott:Megoszlása ​​úgy történik, hogy minden csomópont információt kap egy vagy több közvetlenül kapcsolódó szomszédjától, elvégzi a számításokat, majd az eredményt visszaküldi a szomszédjainak.Ismétlődő:Iteratív, mivel folyamata addig folytatódik, amíg a szomszédok között nem áll rendelkezésre több információ.Aszinkron:Nem szükséges, hogy minden csomópontja zárolási lépésben működjön egymással.
  • A távolságvektor algoritmus egy dinamikus algoritmus.
  • Főleg ARPANET-ben és RIP-ben használják.
  • Minden útválasztó egy távolságtáblázatot tart fenn, amely ún Vektor .

Három kulcs a távolságvektor útválasztási algoritmus működésének megértéséhez:

    Ismeretek a teljes hálózatról:Minden útválasztó megosztja tudását a teljes hálózaton keresztül. A Router a hálózatról összegyűjtött tudását elküldi szomszédjainak.Útvonal csak a szomszédokhoz:A router csak azoknak küldi el tudását a hálózatról, amelyek közvetlen kapcsolattal rendelkeznek. A router a portokon keresztül elküldi azt, amije van a hálózatról. Az információkat az útválasztó fogadja, és a saját útválasztási táblázatának frissítésére használja fel.Rendszeres információmegosztás:Az útválasztó 30 másodpercen belül elküldi az információt a szomszédos útválasztóknak.

Távolságvektor Routing Algorithm

Legyen dx(y) az x csomóponttól az y csomópontig tartó legkisebb költségű út költsége. A legkevesebb költséget a Bellman-Ford egyenlet kapcsolja össze,

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

Ahol a minv az összes x szomszédra felvett egyenlet. Az x-ből v-be való utazás után, ha figyelembe vesszük a v-től y-ig tartó legkisebb költségű utat, az útköltség c(x,v)+d lesz.ban ben(y). A legkisebb költség x-től y-ig a c(x,v)+d minimumaban ben(y) átvette az összes szomszédot.

A Distance Vector Routing algoritmussal az x csomópont a következő útválasztási információkat tartalmazza:

  • Minden v szomszédnál a c(x,v) költség az x-től a közvetlenül kapcsolódó szomszédig, v.
  • Az x távolságvektor, azaz Dx= [Dx(y) : y N-ben ], amely tartalmazza az összes rendeltetési helyre vonatkozó költségét, y-ban N-ben.
  • Minden szomszédjának távolságvektora, azaz Dban ben= [Dban ben(y) : y N-ben ] x minden v szomszédjára.

A távolságvektor-útválasztás egy aszinkron algoritmus, amelyben az x csomópont elküldi távolságvektorának másolatát minden szomszédjának. Amikor az x csomópont megkapja az új távolságvektort az egyik szomszédos vektorától, v, elmenti v távolságvektorát, és a Bellman-Ford egyenlet segítségével frissíti saját távolságvektorát. Az egyenlet az alábbiakban látható:

panda iterrows
 d<sub>x</sub>(y) = min<sub>v</sub>{ c(x,v) + d<sub>v</sub>(y)} for each node y in N 

Az x csomópont a fenti egyenlet segítségével frissítette a saját távolságvektor-táblázatát, és elküldi frissített táblázatát minden szomszédjának, hogy azok frissíthessék saját távolságvektoraikat.

Algoritmus

 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> 

Megjegyzés: A távolságvektor-algoritmusban az x csomópont frissíti a tábláját, ha költségváltozást észlel egy közvetlenül kapcsolódó csomópontban, vagy ha vektorfrissítést kap valamelyik szomszédtól.

Értsük meg egy példán keresztül:

Információk megosztása

Távolságvektor Routing Algorithm
  • A fenti ábrán minden felhő a hálózatot jelöli, a felhőben lévő szám pedig a hálózati azonosítót.
  • Az összes LAN-t router köti össze, és az A, B, C, D, E, F feliratú dobozokban jelennek meg.
  • A távolságvektoros útválasztási algoritmus leegyszerűsíti az útválasztási folyamatot, feltételezve, hogy minden kapcsolat költsége egy egység. Ezért az átvitel hatékonysága a cél eléréséhez szükséges linkek számával mérhető.
  • A távolságvektoros útválasztásnál a költség az ugrásszámon alapul.
Távolságvektor Routing Algorithm

A fenti ábrán azt látjuk, hogy a router elküldi a tudást a közvetlen szomszédoknak. A szomszédok ezt a tudást hozzáadják saját tudásukhoz, és elküldik a frissített táblázatot saját szomszédjaiknak. Ily módon az útválasztók saját információkat kapnak, valamint a szomszédokról szóló új információkat.

Útválasztási táblázat

Két folyamat megy végbe:

  • A táblázat létrehozása
  • A táblázat frissítése

A táblázat létrehozása

Kezdetben minden útválasztóhoz létrejön az útválasztási táblázat, amely legalább háromféle információt tartalmaz, például a hálózati azonosítót, a költséget és a következő ugrást.

Távolságvektor Routing Algorithm
    NET ID:A hálózati azonosító határozza meg a csomag végső célállomását.Költség:A költség az ugrások száma, amennyit a csomagnak meg kell tennie, hogy odaérjen.Következő ugrás:Ez az a router, amelyhez a csomagot kézbesíteni kell.
Távolságvektor Routing Algorithm
  • A fenti ábrán az összes útválasztó eredeti útválasztási táblázata látható. Az útválasztási táblázatban az első oszlop a hálózati azonosítót, a második oszlop a kapcsolat költségét, a harmadik oszlop pedig üres.
  • Ezeket az útválasztó táblákat elküldik az összes szomszédnak.

Például:

 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. 

A táblázat frissítése

  • Amikor A egy útválasztó táblát kap B-től, akkor annak információit használja a tábla frissítéséhez.
  • A B útválasztási táblázata megmutatja, hogy a csomagok hogyan mozoghatnak az 1-es és 4-es hálózatba.
  • A B az A router szomszédja, az A-ból B-be érkezõ csomagok egy ugrással elérhetik. Tehát 1-et adunk a B táblázatban megadott összes költséghez, és az összeg egy adott hálózat elérésének költsége lesz.
Távolságvektor Routing Algorithm
  • A beállítás után A ezt a táblázatot a saját táblázatával kombinálja egy kombinált táblázat létrehozásához.
Távolságvektor Routing Algorithm
  • A kombinált táblázat ismétlődő adatokat tartalmazhat. A fenti ábrán az A router kombinált táblázata tartalmazza a duplikált adatokat, így csak azokat az adatokat tartja meg, amelyeknek a költsége a legalacsonyabb. Például A kétféleképpen küldheti el az adatokat az 1-es hálózatnak. Az első, amely nem használ következő útválasztót, tehát egy ugrásba kerül. A másodikhoz két ugrás szükséges (A-ból B-be, majd B-ből az 1-es hálózatba). Az első lehetőség a legalacsonyabb költséggel jár, ezért megtartják, a másodikat pedig elvetik.
Távolságvektor Routing Algorithm
  • Az útválasztási tábla létrehozása minden útválasztónál folytatódik. Minden útválasztó megkapja az információkat a szomszédoktól, és frissíti az útválasztási táblázatot.

Az összes útválasztó végleges útválasztási táblázata az alábbiakban található:

Távolságvektor Routing Algorithm