Split horizon and poisoned reverse are methods of computer network technology and are used with certain routing protocols in order to avoid routing loops when information is exchanged between routers .
With Split Horizon, the number of hops and intermediate routers to a destination network are stored in the routing table, as well as information about which router the information was received from.
The router does not send any routing updates to the interface from which it learned the networks.
Router C “knows” from router B that network N0 can be reached via router A.
Netz N0 → Router A ↔ Router B ↔ Router C
Failure of a router: Router A cannot be reached
Netz N0 → Router A ←X X→ Router B ↔ Router C
Without split horizon
- With the next update, router B learns from router C that router A can be reached via it in 2 hops (originally from C to B and from B to A) - router B would normally not be interested in this as it would know a shorter route if router A did not fail. This failure was already noticed by router B, which is why this shorter route is no longer available.
- Router B adjusts the routing table and increases the number of hops by 1.
- During the next update, router C learns from B that router A can now be reached with 3 hops via router B.
- With the next update, router B receives the information from C that router A can now be reached with 4 hops.
This created a routing loop that counts up to 16 hops, the maximum possible number of intermediate stations at RIP . Only then is the route to router A marked as unreachable. Since updates are exchanged every 30 seconds, it can take 15 times 30 seconds, i.e. a good seven minutes, until the failure of a router is detected and the connection to it is marked as inaccessible.
With Split Horizon
- Router C does not send any updates from the network to the interface from which it learned the network, and thus avoids routing loops.
With poisoned reverse (with blocked return route), all routes learned / received via this interface are marked as "unreachable" and sent back by setting the number of hops directly to 16 (with RIPv2 ) so that this route is no longer used by other routers is taken into account, since every further hop would inevitably mean "infinite" (16).