Ideally one would like the protocol to do the

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

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 the topology. 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-infinity” 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 hold here). There is a colorful name for this behavior: counting to infinity. 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 find 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 flawed solution. Instead of B wait...
View Full Document

This document was uploaded on 02/26/2014 for the course CS 6.02 at MIT.

Ask a homework question - tutors are online