Split horizon route advertisement
|This article relies largely or entirely upon a single source. (June 2009)|
||This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (June 2009)|
In computer networking, split-horizon route advertisement is a method of preventing routing loops in distance-vector routing protocols by prohibiting a router from advertising a route back onto the interface from which it was learned. Thus when a device that participates in such route advertisements receives an update from an interface, it (the device) does not forward updates through the same interface out. By doing so, routing loops are prevented.
In this example, network node A routes packets to node B in order to reach node C. The links between the nodes are distinct point-to-point links.
According to the split-horizon rule, node A does not advertise its route for C (namely A to B to C) back to B. On the surface, this seems redundant since B will never route via node A because the route costs more than the direct route from B to C. However, if the link between B and C goes down, and B had received a route from A, B could end up using that route via A. A would send the packet right back to B, creating a loop. With the split-horizon rule in place, this particular loop scenario cannot happen, improving convergence time in complex, highly-redundant environments.
Split-horizon routing with poison reverse is a variant of split-horizon route advertising in which a router actively advertises routes as unreachable over the interface over which they were learned by setting the route metric to infinite (16 for RIP). The effect of such an announcement is to immediately remove most looping routes before they can propagate through the network. The router is said to have poisoned the network by sending 'false' (infinite) metric values to other devices sharing such updates.
The main disadvantage of poison reverse is that it can significantly increase the size of routing announcements in certain fairly common network topologies, but it allows for the improvement of the overall efficiency of the network in case of faults. Split horizon states that if a neighboring router sends a route to a router, the receiving router will not propagate this route back to the advertising router on the same interface.
With route poisoning, when a router detects that one of its connected routes has failed, the router will poison the route by assigning an infinite metric to it and advertising it to neighbors. When a router advertises a poisoned route to its neighbors, its neighbors break the rule of split horizon and send back to the originator the same poisoned route, called a poison reverse. In order to give the router enough time to propagate the poisoned route and to ensure that no routing loops occur while propagation occurs, the routers implement a hold-down mechanism.
The split-horizon method is effective and simple to implement, and is therefore used by most distance-vector protocols. It is notably used by:
- VPLS uses the split horizon technique to avoid loops in the forwarding plane.
- Babel applies split-horizon to wired links only
- Split-horizon DNS, a similar concept in DNS performing selective publishing of information.
- Route poisoning
- "Split Horizon" and "Split Horizon with Poison Reverse" in Convergence in RIP Internetworks, from Microsoft TechNet.