Algoritam ažuriranja dvostrukih difuzija

Anonim

Prije nego što počnete čitati ovaj članak, savjetujemo vam da se upoznate sa materijalom o proračunu staze prema Bellman - Ford algoritmu.

Algoritam difuzijskog ažuriranja (algoritam difuznih ažuriranja -dual) jedan je od dva algoritma koji su ovdje opisani prvobitno namijenjen implementaciji u distribuiranoj mreži. Jedinstven je u tome da se uklanja i informacije o ostvarivosti i topologiji sadržanoj u konačnim automatama algoritma. Ostali algoritmi ovdje razgovaraju ostavljaju uklanjanje informacija po nahođenju provedbe Protokola i ne smatraju ovaj aspekt rada algoritma u samom algoritmu.

Do 1993. godine, Bellman-Ford i Dijkstra bili su implementirani kao distribuirani algoritmi u nekoliko protokola usmjeravanja. Iskustvo stečeno kao rezultat ovih ranih implementacija i raspoređivanja dovelo je do "drugog vala" istraživanja i razmišljanja o problemu usmjeravanja u mrežnim preklopnim mrežama, što je dovelo do pojave vektora i dualnog pojavljivanja.

Budući da je dvostruki dizajniran kao distribuirani algoritam, najbolje je opisati njegov rad na mreži. U tu svrhu koriste se brojke 8 i 9. Da bi se objasnio dual, ovaj će se primjer pratiti u struji od tri destinacije, a zatim se mijenjaju u stanju raspoloživosti za iste odredišne ​​stavke. U prvom primjeru, slučaj će se razmotriti kada postoji alternativni put, ali nema nizvodnog susjeda, drugi će razmotriti slučaj kada postoji alternativni put i nizvodno susjed.

Na slici 8, studij d sa stanovišta A:

  1. Naušava dva načina za D:
Algoritam ažuriranja dvostrukih difuzija 21025_1
  1. Neće prepoznati put putem B, jer B koristi kao svog nasljednika:
  2. A Upoređuje raspoložive staze i bira najkraću stazu bez petlje:
  3. Pregleda preostale staze da bi se utvrdilo ima li neki od njih nizvodni susjedi:

A zna to jer C najavljuje rutu do D sa lokalnom metričkom jednakom 3.

A održava lokalnu metriku C u svojoj tabli topologiju.

Shodno tome, a zna lokalnu vrijednost u C i lokalnu vrijednost u A.

  1. 3 (Trošak u C) = 3 (Trošak u A), tako da ova ruta može biti petlja, stoga, C ne zadovoljava stanje izvodljivosti. C nije označeno kao nizvodno susjedi.

Nizvodne susjede u dvostrukom se nazivaju mogući nasljednici. Pretpostavimo da kanal [A, H] ne radi. Dvostruki se ne oslanja na periodična ažuriranja, tako da ne može samo čekati još jedno ažuriranje s pouzdanim informacijama. Umjesto toga, mora aktivno slijediti alternativni put. Dakle, ovo je difuzni proces otkrivanja alternativnog puta. Ako kanal [A, H] ne radi, s obzirom na samo D:

  1. Provjerava vaš lokalni stol za moguće nasljednike (nizvodno susjedi).
  2. Ne postoje mogući nasljednici, tako da mora pronaći alternativni put bez petlje za d (ako postoji).
  3. A šalje zahtjev svakom komšiji da utvrdi postoji li alternativni put bez petlje za D.
  4. U C:
  5. U B:
  6. Dobija ove odgovore:

Na slici 9, odredište (d) predmet premješten je s h na E. ovo će se koristiti u drugom primjeru.

U ovom primjeru postoji mogući nasljednik (nizvodno susjed).

Studija D sa stanovišta A:

  1. Naušava dva načina za D:
  2. A neće prepoznati nikakav put putem B:
  3. A Upoređuje raspoložive staze i bira najkraću stazu bez petlje:
  4. Pregleda preostale staze da bi se utvrdilo ima li neki od njih nizvodni susjedi:

Ako kanal [A, C] ne radi, jednostavno s obzirom na:

  1. Provjerava tabelu lokalne topologije za mogući nasljednik.
  2. Mogući nasljednik postoji kroz H.
  3. A njegov lokalni stol na H prelazi na najbolji način.
  4. A šalje ažuriranje svojim susjedima, napominjući da se njeni trošak postignuća d promijenila sa 3 do 4.

Kao što vidite, obrada kada postoji mogući nasljednik, mnogo brže i lakše nego bez njega. U mrežama gdje je protokol usmjeravanja raspoređen korištenjem dvostrukih (posebno EIGRP-a), jedan od glavnih dizajnerskih ciljeva ograničit će količinu bilo kojeg zahtjeva generiranih u odsustvu mogućeg nasljednika. Područje zahtjeva je glavni određivački faktor kako se dvostruki algoritam brzo završava i, prema tome, koliko brzo se mreža konvergira.

Slika 10 prikazuje osnovni završeni dvostruki stroj.

Stvari uključene u rutu se pogoršaju (degradacija rute) može biti:

  • Neuspjeh povezanog kanala ili susjeda
  • Dobijanje ažuriranja za rutu s višom metrikom
  • Dobijanje upita iz trenutnog nasljednika
  • Dobijanje nove rute od susjeda
  • Pronađen je novi komšija, kao i rute kojima može dobiti
  • Dobijanje svih zahtjeva poslanih susjedima kada se ruta pogoršava
Algoritam ažuriranja dvostrukih difuzija 21025_2

Čitaj više