Difference between revisions of "Split Horizon"
Onnowpurbo (talk | contribs) (Created page with "{{Redirect|Split horizon|the Domain Name System feature|Split-horizon DNS}} In computer networking, '''split-horizon route advertisement''' is a method of preventing Rou...") |
Onnowpurbo (talk | contribs) |
||
Line 7: | Line 7: | ||
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. | 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. | ||
− | [[ | + | [[File:Router-a-b-c.png|center|400px|thumb]] |
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'' to ''C'', ''B'' could end up using that route via ''A''. ''A'' would send the packet right back to ''B'', creating a loop. This is the [[Count-to-infinity problem|Count to Infinity Problem]]. With the split-horizon rule in place, this particular loop scenario cannot happen, improving [[Convergence (routing)|convergence time]] in complex, highly-redundant environments. | 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'' to ''C'', ''B'' could end up using that route via ''A''. ''A'' would send the packet right back to ''B'', creating a loop. This is the [[Count-to-infinity problem|Count to Infinity Problem]]. With the split-horizon rule in place, this particular loop scenario cannot happen, improving [[Convergence (routing)|convergence time]] in complex, highly-redundant environments. |
Latest revision as of 16:07, 22 December 2018
Template:Redirect 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.
The concept was suggested in 1974 by Torsten Cegrell, and originally implemented in the Arpanet inspired Swedish network TIDAS.<ref>A Routing Procedure for the TIDAS Message-Switching Network, IEEE Transactions on communication 1975</ref><ref>Letter from Torsten Cegrell to professor Leonard Kleinroch, 1974-08-19</ref><ref>Torsten Cegrell - the swede who "fixed" the Internet, Internetmuseum.se, access date 2017-11-09</ref>
Example
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 to C, B could end up using that route via A. A would send the packet right back to B, creating a loop. This is the Count to Infinity Problem. 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<ref>IP routing protocols By Uyless D. Black</ref> 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 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.
Implementations
The split-horizon method is effective and simple to implement, and is therefore used by most distance-vector protocols. It is notably used by:
- RIP
- IGRP
- EIGRP
- VPLS, which uses the split horizon technique to avoid loops in the forwarding plane
- Babel, which applies split-horizon to wired links only
See also
- Split-horizon DNS, a similar concept in DNS performing selective publishing of information
- Route poisoning
References
"Firebase - CrunchBase". CrunchBase. Retrieved June 11, 2014.
External links
- "Split Horizon" and "Split Horizon with Poison Reverse" in Convergence in RIP Internetworks, from Microsoft TechNet.