![](https://cv01.studmed.ru/view/4480c03a0ef/bg2cf.png)
The TCP/IP Guide - Version 3.0 (Contents) ` 719 _ © 2001-2005 Charles M. Kozierok. All Rights Reserved.
Split Horizon
The “counting to infinity” problem is one of the most serious issues with the basic RIP
algorithm. In the example in the previous topic, the cause of the problem is immediately
obvious: after Network 1 fails and Router A notices it go down, Router B “tricks” Router A
into thinking it has an alternate path to Network 1 by sending Router A a route adver-
tisement to N1.
If you think about it, it doesn't really make sense—under any circumstances—to have
Router B send an advertisement to Router A about a network that Router B can only access
through Router A in the first place. In the case where the route fails it causes this problem,
which is obviously a good reason not do it. But even when the route is operational, what is
the point of Router B telling Router A about it? Router A already has a shorter connection to
the network and will therefore never send traffic intended for Network 1 to Router B
anyway.
Clearly, the best solution is simply to have Router B not include any mention of the route to
Network 1 in any RIP Response messages it sends to Router A. We can generalize this by
adding a new rule to RIP operation: when a router sends out an RIP Response on any of
the networks to which it is connected, it omits any route information that was originally
learned from that network. This feature is called split horizon, since the router effectively
splits its view of the internetwork, sending different information on certain links than on
others.
With this new rule, let's consider the behavior of Router B. It has an interface on Network 2,
which it shares with Router A. It will therefore not include any information on routes it origi-
nally obtained from Router A when sending on N2. This will prevent the “counting to infinity”
loop we saw in the previous topic. Similarly, since Router D is on Network 3, Router B will
not send any information about routes it got from Router D when sending on Network 3.
Note, however, that split horizon may not always solve the “counting to infinity” problem,
especially in the case where multiple routers are connected indirectly. The classic example
would be three routers configured in a triangle. In this situation, problems may still result
due to data that is propagated in two directions between any two routers. In this case, the
“hold down” feature may be of assistance (see below).
Split Horizon With Poisoned Reverse
This is an enhancement of the basic split horizon feature. Instead of omitting routes learned
from a particular interface when sending RIP Response messages on that interface, we
include those routes but set their metric to “RIP infinity”, 16. So in the example above,
Router B would include the route to Network 1 in its transmissions on Network 2, but it
would say the cost to reach N1 was 16, instead of its real cost (which is 2).
The “poisoned reverse” refers to the fact that we are poisoning the routes that we want to
make sure routers on that interface don't use. Router A will see Router B advertise Network
1 but with a cost of 16, which serves as an explicit message to Router A: “there is
absolutely no way for you to get to Network 1 through Router B”. This provides more