Distance-Vector Routing
Problems with the Distance-Vector Algorithm
The distance-vector algorithm performs well if all nodes and links are
functional. However, it runs into many problems (such as
sending packets on a loop) when links go down and come up.
Here's an example of how distance-vector routing, as it has been
presented, can go wrong.
Figure 11:
-
routes packets to
via
.
-
Link
goes down.
updates its cost to
to infinity.
-
sends its vector to
.
sends its vector to
.
-
Based on the information received,
updates its cost to
to three hops (the previous cost from
,
plus one).
-
updates its cost to
to infinity (since
's
distance vector had indicated that the distance from
to
is infinity, meaning that no connection exists).
-
sends its vector to
.
sends its vector to
.
-
Based on the information received,
updates its cost to
to infinity.
-
updates its cost to
to 4 hops.
-
The algorithm develops longer and longer paths from
to
,
all of which are wrong as long as the link
is damaged. These paths are oscillations between
and
.
How would you modify distance-vector routing to avoid
problems like the one demonstrated above? Take a few moments to
jot down some idea before moving on to the next page, where you
will be shown three methods that have been used.
|