Routing Loops Problem in Distance Vector Routing
For Complete YouTube Video: Click Here
This class will try to understand the Routing Loops Problem in Distance Vector Routing.
We had already explained the concept of distance vector routing in our previous class.
Understanding Distance Vector Routing is essential for understanding what we discuss in this class.
Routing Loops Problem in Distance Vector Routing
The main issue with Distance Vector Routing (DVR) protocols is Routing Loops since Bellman-Ford Algorithm cannot prevent loops.
Such Routing Loops usually occur when two routers send an update together at the same time or when an interface goes down.
To understand this concept, we will consider the network as shown below.
The above image clearly shows that Router D is not connected to the network, but it is part of it.
Assume that the Router D has been connected as shown below.
Now, router C is immediately updated with its distance vectors.
This update shows that the router C to reach D is 1 unit distance apart, and the next hop is D.
After some periodic time, the routers will share the distances, and the routing tables will get updated.
Again the data will get shared, and the updated tables are shown below.
To this point, we don’t have any problems, and the routing tables are stable.
Assume that the link between C and D broke down.
Now the router C will immediately update its distance value from D to infinite.
After a periodic time, the routers will share the distance vectors.
In this exchange, the distance vectors from B to C state that C can reach D with a distance of two if it transmits a packet to B.
The point to understand is for the B to transmit a packet to C, it has to send the packet through C.
This misunderstanding occurred because only the distance is transmitted, not the next-hop values.
Similarly, A will also update its distance to D 4 because of the sharing.
The updates in the distance vectors state that C can transmit its data to D through B, B can transmit its data to D through A, and A can send its data to D through B.
At A and B, a loop happens, as shown below.