4.4. Distance Vector Routing
Moderne računalne mreže danas koriste dinamičke algoritme rutanja mnogo češće nego statičke. Ideja ovih algoritama je ta da svaki router sadrži tablicu (vektor) , koja u svakom trenutku sadrži najoptimalniji put do nekog odredišta. U stvari ništa novo, ali razlika je u tome što se sada te tablice svako malo osvježavaju novim podatcima ovisno o trenutnom stanju mreže. Do tih podataka se dolazi komunikacijom sa susjednim routeruima, ili periodičkim slanjem test paketa čije kašnjenje nam može otkriti trenutno stanje u mreži. Na temelju tih podataka mogu se promijeniti rute koje su do toga
trenutka bile povoljne, ali više nisu jer je iz nekog razloga došlo do zagušenja u tom dijelu mreže.
Svaki router mora sadržavati tablicu za svaki drugi router u mreži. Ta tablica mora sadržavati dva podatka : jedan koji govori koju izlaznu liniju koristiti za tu destinaciju, i drugi podatak koji je u stvari procjena vremena kašnjenja ili udaljenosti do te destinacije. Također se za svaki router podrazumijeva da zna kolika je udaljenost do svih njegovih susjeda. Pojam udaljenost se može zamijeniti ili sa kašnjenjem ,ili sa stvarnom fizičkom udaljenošču, ili pak brojem routera koji se nalaze između dvije točke, ovisno koju mjeru želimo koristiti. U našem primjeru mi čemo smatrati da se za udaljenost između dva routera uzima vrijeme kašnjenja između njih, te da svaki od njih zna taj podatak za svakog od svojih susjeda.
Postupak je sljedeči. Svakih T msec svaki router u mreži šalje svim svojim susjedima tablicu koja sadrži njegovu procjenu vremena kašnjenja do svih njegovih susjeda. Ili drugačije rečeno svaki router prima onoliko tablica koliko ima susjeda, i svaka ta tablica sadrži podatke o tome koliko je kašnjenje između tog susjeda i svih njegovih susjeda (malo zamršeno, ali nadam se jasno). Vidimo da na ovaj način sada svaki router zna koji mu je put najbrži ne samo do njegovih susjeda nego i korak dalje.
Na slici 5 dan je primjer strukture podmreže, a na slici 5 su dani vektori koje je router J primio od svojih susjeda, i konačnai oblik nove routing tabele.. Routrer A javlja da je njegovo kašnjenje do B 12 ms, do C 25 ms, itd… Ispod su prikazana vremena kašnjenja od routera J do svih njegovih susjeda (JA 8 ms, JI 10 ms, JK 6ms, JH 12 ms). Na temelju tih podataka sada router J može izračunati udaljenost do bilo koje točke u mreži.
Konačni rezultat dan je uposljednem stupcu.
Slika 5. Primjer topologije podmreže za primjer distance vektor routing algoritma
Slika 6. Primjer konstrukcije tabele optimalnih ruta za router J na slici