Split Horizon and Poison Reverse
In short, split horizon is to prohibit a router from advertising a route back out the interface from which it was learned. Why we need to introduce this approach? Let’s see the following example first.
Distance-Vector routing protocol like RIPv1 and RIPv2 have slow convergence and count-to-infinity issues. We assume the network is: A — B — C. A, B and C are three routers running RIP routing protocol. In the convergence status, B knows there is one hop to C and A knows there are two hops to C via B. If the link is broken between B and C, since B get advertisement from A that there are 2 hops can get to C from A. Then, B updates its routing table to set hop to 3. A get advertisement from B. Then A updates its routing table to set hop to 4, so on and so on until count to infinity. The network will never be convergence status.
Split horizon is useful in this situation. Following the definition, A will not send advertisement to B since A learned route to C from B. It effectively reduces the count-to-infinity problem. To speed up convergent in RIP network, it introduce the maximum hop number is 15. In the case above, when the link between B and C is broken, B sends advertisement to A that the hop to go to C is 16, which is called split horizon with poison reverse. Then, A knows that C is unreachable and updates its routing table.
However, split horizon with poison reverse does have disadvantages.
First, it increases the size of the routing messages. In a hub-spoke network, hub is as backbone router and each spoke is as gateway router. “If split horizon with poisoned reverse is used, the gateway must mention all routes that it learns from the backbone, with metrics of 16. If the system is large, this can result in a large update message, almost all of whose entries indicate unreachable networks.”
Second, it will prevent any routing loops that involve only two gateways engaged in mutual deception. It is highly possible that three or more gateways in this situation. So, RFC 1058 introduces “Triggered updates” approach. In short, it is required to send update messages almost immediately whenever a gateway changes the metric for a route. Split horizon processing is done when generating triggered updates as well as normal updates.
Since this is nature born characters of distance-vector routing protocol, more sophisticated routing protocols are applied in the industry such as OSPF.
Discussion Area - Leave a Comment