Modern Computer Networks uses dynamic algorithms rather than static algorithms.
dynamic algorithms may consider the current traffic (or) load on the Network.
Two types of dynamic routing algorithms are there
- Distance Vector Routing (DVR).
- Link state Routing.
Distance Vector Routing operates by the following way
each Router maintains a table (gives the information about distance to other routers) and updates these routing tables by exchanging information with it’s neighbors.
It is also known as Bellman-Ford (or) Ford Fulkerson algorithm.
DVR is used in ARPANET and also as RIP.
In DVR each Router will maintain a Routing Table regarding to each Router in the subnet and the estimate of the time (or) distance to the destination.
one can use different design metrics like no.of hops, time delay in (milli Seconds), no.of packets Queued etc.
Here time delay is used as a metric.
Therefore a Router knows a delay to each of it’s neighbors and once every T milli Seconds these delays get updated by exchanging information with it’s neighboring Routers.
Consider a subnet with Routers A,B,…..L . Now choose a Router J with immediate neighbors (directly connected to J) are A, I, H and K.
Now the estimated delay of J to A, I, H & K are 8, 10, 12 & 6 milli Seconds respectively.
Suppose J wants to calculate a new route from J to G this is possible by finding the delay from J to G using the neighbors to J.
i.e, J to G delay (through A) = J to A delay +A to G delay = 8+18=26 mSec.
J to G delay (through I) = J to I delay +I to G delay = 10+31=41 mSec.
J to G delay (through H) = J to H delay +H to G delay = 12+6=18 mSec.
J to G delay (through K) = J to K delay +K to G delay = 6+31=37 mSec.
The best among the 4 possibilities is through H with less delay 18 mSec and makes as entry in it’s Routing table.
In this way Router J computes all possible delays to each router and updates it in it’s Routing table.