This preview shows page 1. Sign up to view the full content.
Unformatted text preview: ing for its normal advertisment
time (every ADVERT INTERVAL seconds on average), what if B sent news of any unreachable destination(s) as soon as its integration step concludes that a link has failed and some CHAPTER 19. NETWORK ROUTING - II 8 ROUTING AROUND FAILURES $" #" !" %" Figure 19-2: Split horizon (with or without poison reverse) doesn’t prevent routing loops of three or more
hops. The dashed arrows show the routing advertisements for destination D. If link BD fails, as explained
in the text, it is possible for a “count-to-inﬁnity” routing loop involving A, B, and C to ensue. destination(s) has cost INFINITY? If each node propagated this “bad news” fast in its advertisement, then perhaps the problem will disappear.
Unfortunately, this approach does not work because advertisement packets could easily
be lost. In our simple example, even if B sent an advertisement immediately after discovering the failure of its link to D, that message could easily get dropped and not reach A.
In this case, we’re back to square one, with B getting A’s advertisement with cost 2, and
so on. Clearly, we need a more robust solution. We consider two, in turn, each with fancy
names: split horizon routing and path vector routing. Both generalize the distance-vector
protocol in elegant ways. 19.7 Distance Vector with Split Horizon Routing The idea in the split horizon extension to distance-vector routing is simple:
If a node A learns about the best route to a destination D from neighbor B , then A will
not advertise its route for D back to B .
In fact, one can further ensure that B will not use the route advertised by A by having
A advertise a route to D with a cost of INFINITY. This modiﬁcation is called a poison reverse,
because the node (A) is poisoning its route for D in its advertisement to B .
It is easy to see that the two-node routing loop that showed up earlier disappears with
the split horizon technique.
Unfortunately, this method does not solve the problem more generally; loops of three
or more hops can persist. To see why, look at the topology in Figure 19-2. Here, B is
connected to destination D, and two other nodes A and C are connected to B as well as
to each other. Each node has the following correct routing state at t = 0: A thinks D is at
cost 2 (and via B ), B thinks D is at cost 1 via the direct link, and C thinks D is at cost S
(and via B ). Each node uses the distance-vector protocol with the split horizon technique
(it doesn’t matter whether they use poison reverse or not), so A and C advertise to B that SECTION 19.8. PATH-VECTOR ROUTING 9 Figure 19-3: Path vector protocol example. their route to D has cost INFINITY. Of course, they also advertise to each other that there
is a route to D with cost 2; this advertisement is useful if link AB (or BC ) were to fail,
because A could then use the route via C to get to D (or C could use the route via A).
Now, suppose the link BD fails at some time t < τ . Ideally, if B discovers the failure
and sends a cost of IN...
View Full Document
- Fall '13