This preview shows page 1. Sign up to view the full content.
Unformatted text preview: nd destination
D (Figure 19-1). Suppose that the routing tables are all correct at t = 0 and then that link
between B and D fails at some time t < τ . After this event, there are no further changes to
Ideally, one would like the protocol to do the following. First, B ’s HELLO protocol
discovers the failure, and in its next routing advertisement, sends a cost of INFINITY (i.e.,
“unreachable”) to A. In response, A would conclude that B no longer had a route to D, and
remove its own route to D from its routing table. The protocol will then have converged, SECTION 19.6. DISTANCE-VECTOR PROTOCOL UNDER FAILURE AND CHURN $" #" %" 7 !" Figure 19-1: Distance-vector protocol showing the “count-to-inﬁnity” problem (see Section 19.6 for the
explanation). and the time taken for convergence not that different from the link-state case (proportional
to the diameter of the network in general).
Unfortunately, things aren’t so clear cut because each node in the distance-vector protocol advertises information about all destinations, not just those directly connected to it.
What could easily have happened was that before B sent its advertisment telling A that
the cost to D had become INFINITY, A’s advertisement could have reached B telling B
that the cost to D is 2. In response, B integrates this route into its routing table because 2
is smaller than B ’s own cost, which is INFINITY. You can now see the problem—B has a
wrong route because it thinks A has a way of reaching D with cost 2, but it doesn’t really
know that A’s route is based on what B had previously told him! So, now A thinks it has
a route with cost 2 of reaching D and B thinks it has a route with cost 2 + 1 = 3. The next
advertisement from B will cause A to increase its own cost to 3 + 1 = 4. Subsequently,
after getting A’s advertisement, B will increase its cost to 5, and so on. In fact, this mess
will continue, with both nodes believing that there is some way to get to the destination
D, even though there is no path in the network (i.e., the route validity property does not
There is a colorful name for this behavior: counting to inﬁnity. The only way in which
each node will realize that D is unreachable is for the cost to reach INFINITY. Thus, for
this distance-vector protocol to converge in reasonable time, the value of INFINITY must
be quite small! And, of course, INFINITY must be at least as large as the cost of the longest
usable path in the network, for otherwise that routes corresponding to that path will not
be found at all.
We have a problem. The distance-vector protocol was attractive because it consumed far
less bandwidth than the link-state protocol, and so we thought it would be more appopriate for large networks, but now we ﬁnd that INFINITY (and hence the size of networks for
which the protocol is a good match) must be quite small! Is there a way out of this mess?
First, let’s consider a ﬂawed solution. Instead of B wait...
View Full Document
This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.
- Fall '13