Distance-vector routing protocol: Difference between revisions

Content deleted Content added
Count-to-infinity problem: Remove "which is false" from the sentence as it is not the case in the network. Though it is true in the context of router B, it isn't true in the context of router C as C still sees a valid path from B. The paragraph should be rephrased this way as it will give a better idea about the algorithm.
Line 27:
 
==Count-to-infinity problem==
The [[Bellman–Ford algorithm]] does not prevent [[routing loop]]s from happening and suffers from the '''count-to-infinity problem'''. The core of the count-to-infinity problem is that if A tells B that it has a path somewhere, there is no way for B to know if the path has B as a part of it. To see the problem clearly, imagine a subnet connected like A–B–C–D–E–F, and let the metric between the routers be "number of jumps". Now suppose that A is taken offline. In the vector-update-process B notices that the route to A, which was distance 1, is down – B does not receive the vector update from A. The problem is, B also gets an update from C, and C is still not aware of the fact that A is down – so it tells B that A is only two jumps from C (C to B to A), which is false. Since B doesn't know that the path from C to A is through itself (B), it updates its table with the new value "B to A = 2 + 1". Later on, B forwards the update to C and due to the fact that A is reachable through B (From C's point of view), C decides to update its table to "C to A = 3 + 1". This slowly propagates through the network until it reaches infinity (in which case the algorithm corrects itself, due to the relaxation property of Bellman–Ford).
 
===Workarounds and solutions===