< Home

Split Horizon and Poison Reverse

Split Horizon

Split horizon prevents a route learned by RIP on an interface from being sent to neighbors through this interface. This function reduces bandwidth consumption and avoids routing loops.

Split horizon provides two models for different networks:
  • Interface-based split horizon
  • Neighbor-based split horizon

Interface-based split horizon is used on broadcast, point-to-point (P2P), and point-to-multipoint (P2MP) networks.

Figure 1 illustrates interface-based split horizon.

Figure 1 Interface-based split horizon

RouterA sends routing information destined for 10.0.0.0/8 to RouterB. If split horizon is not configured, RouterB sends the route learned from RouterA back to RouterA. Therefore, RouterA learns two routes destined for 10.0.0.0/8: a direct route with hop count 0 and a route with the next hop RouterB and hop count 2.

However, only the direct route in the RIP routing table of RouterA is active. If the route from RouterA to network 10.0.0.0 becomes unreachable, RouterB does not receive the route unreachable message immediately and continues to notify RouterA that network 10.0.0.0/8 is reachable.

Therefore, RouterA receives incorrect routing information and considers that network 10.0.0.0/8 is reachable through RouterB, and RouterB considers that network 10.0.0.0/8 is reachable through RouterA, resulting in a routing loop.

Using the split horizon function, RouterB does not send the route destined for 10.0.0.0/8 back to RouterA, avoiding a routing loop.

On a Non-Broadcast Multiple Access (NBMA) network, an interface connects to multiple neighbors; therefore, neighbor-based split horizon is used, as shown in Figure 2. Routes are advertised in unicast mode and the routes received by an interface are differentiated by neighbors. The route learned from a neighbor will not be sent back through the same interface.

Figure 2 Neighbor-based split horizon

RouterA sends route 172.16.0.0/16 learned from RouterB to RouterC, but does not send it back to RouterB.

Poison Reverse

Poison reverse enables RIP to set the cost of the route learned through a local interface from a neighbor to 16 (unreachable) and then send this route through the same interface back to the neighbor. This function deletes invalid routes from the neighbor's routing table and prevents routing loops.

In Figure 3, after receiving a route from RouterA, RouterB sends a route unreachable message (with the route cost set to 16) to RouterA, avoiding a routing loop.

Figure 3 Poison reverse

Copyright © Huawei Technologies Co., Ltd.
Copyright © Huawei Technologies Co., Ltd.
< Previous topic Next topic >