Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Distance Vector Routing (DVR) Protocol
In distance-vector routing (DVR), each router is required to inform the topology changes to its neighboring routers periodically. Historically it is known as the old ARPANET routing algorithm or Bellman-Ford algorithm.
Distance vector routing is a distributed routing protocol where routers share information about network destinations with their directly connected neighbors. Each router maintains a distance vector table that contains the best known distance to every destination in the network.
How the DVR Protocol Works
-
Routing table maintenance − Each router maintains a routing table containing one entry for each destination, with two parts: a preferred outgoing line and an estimate of distance (delay or hop count).
-
Neighbor discovery − Each router knows the delay in reaching its direct neighbors through methods like echo requests.
-
Periodic updates − Routers periodically exchange their complete routing tables with each of their neighbors.
-
Route comparison − Upon receiving neighbor updates, each router compares the delay in its local table with the delay in the neighbor's table plus the cost of reaching that neighbor.
-
Table updates − If a path via the neighbor has a lower cost, the router updates its local table to forward packets through that neighbor.
Example − Distance Vector Router Protocol
In the network shown above, there are three routers A, B, and C, with the following link weights: AB = 2, BC = 3, and CA = 5.
Step 1: Initial Routing Tables
Each router initially knows only about its directly connected neighbors and shares this information.
| Router A Table | A | B | C |
|---|---|---|---|
| Distance to: | 0 | 2 | 5 |
| Router B Table | A | B | C |
|---|---|---|---|
| Distance to: | 2 | 0 | 3 |
| Router C Table | A | B | C |
|---|---|---|---|
| Distance to: | 5 | 3 | 0 |
Step 2: Table Updates After Information Exchange
After exchanging routing information, routers discover better paths. For example, Router A learns it can reach C via B with total cost 2+3=5, which is the same as the direct path, so no update occurs.
Step 3: Final Converged Routing Tables
All routers eventually have identical distance information for all destinations:
| Final Tables | Distance to A | Distance to B | Distance to C |
|---|---|---|---|
| From Router A | 0 | 2 | 5 |
| From Router B | 2 | 0 | 3 |
| From Router C | 5 | 3 | 0 |
Advantages and Disadvantages
| Advantages | Disadvantages |
|---|---|
| Simple to implement and understand | Slow convergence in large networks |
| Works well in small, stable networks | Count-to-infinity problem |
| Automatic route discovery | High bandwidth usage for updates |
Conclusion
Distance Vector Routing uses the distributed Bellman-Ford algorithm where routers periodically exchange routing tables with neighbors. While simple to implement, DVR suffers from slow convergence and the count-to-infinity problem, making it suitable primarily for small, stable networks.
