CCNA online course

Split Horizon in Distance Vector Routing Protocols

Learn how split horizon prevents routing loops in distance-vector protocols such as RIP and EIGRP, with a three-router example, Cisco IOS lab, and troubleshooting guidance.

Split horizon is a loop-prevention rule used by distance-vector routing protocols. Its central rule is simple: a route learned through an interface is not advertised back through that same interface.

This lesson explains the rule, shows how it works in a three-router RIP topology, and demonstrates what can happen when the protection is absent.

Distance-Vector Routing Fundamentals

A distance-vector routing protocol is a routing protocol family in which routers share reachability information and metrics with neighboring routers. A router does not necessarily know the complete network topology. Instead, it learns that a neighbor can reach a destination and uses the neighbor as a possible next hop.

A routing update is the protocol information sent between routing neighbors. It can include destination networks, metrics, and other information used to select routes.

When a router receives a usable route, it evaluates the metric and installs the route in its routing table. The routing table contains known destinations, next hops, and outgoing interfaces. The forwarding process then sends packets toward the selected next hop.

RIP, the Routing Information Protocol, is a classic distance-vector protocol. EIGRP, the Enhanced Interior Gateway Routing Protocol, has distance-vector characteristics and uses additional information and algorithms to improve route selection and loop avoidance. Both require mechanisms that limit incorrect route feedback after a topology change.

What Is a Routing Loop?

A routing loop occurs when packets are repeatedly forwarded between routers because each router incorrectly believes that the other router has a valid path to the destination.

Loops commonly appear after a link or router failure. Before the failure, routers may have exchanged valid reachability information. After the failure, that information can become stale before the network has converged. Convergence is the process by which routers update their information and reach a consistent view after a network change.

A routing loop can cause:

  • Wasted bandwidth as the same packet crosses links repeatedly.
  • Increased latency while packets circulate.
  • Packet loss when the packet's time-to-live expires or queues fill.
  • Control-plane and forwarding-plane load on the affected routers.
  • Broader network disruption if the loop consumes significant resources.

The Split Horizon Rule

The split horizon rule states:

Suppose R1 learns that 10.0.0.0/24 is reachable through R2 on the R1-to-R2 interface. R1 must not advertise that same route back to R2 through that interface. Such an advertisement could make R2 believe that R1 provides an independent path, even though R1's own path depends on R2.

Split horizon is interface-based. It does not mean that a router is forbidden from advertising the route to every neighbor. A route learned from one neighbor may still be advertised through another interface when the protocol and topology permit it.

Split horizon is normally enabled by default on relevant distance-vector routing interfaces. It operates as one part of distance-vector loop avoidance. Disabling it is generally inappropriate unless a specific topology and protocol design requires the exception and the effects have been tested.

Three-Router RIP Topology

Consider this linear topology:

R1 -------- R2 -------- R3 -------- 10.0.0.0/24
              
Route advertisements:
R3 advertises 10.0.0.0/24 to R2
R2 advertises 10.0.0.0/24 to R1
R1 suppresses the learned route on its interface back toward R2

R3 is directly connected to 10.0.0.0/24. R3 advertises that network to R2 in a RIP update. R2 learns the route through R3 and installs it. R2 can then advertise reachability to R1. R1 installs the route with R2 as its next hop.

Because R1 learned 10.0.0.0/24 from R2, split horizon prevents R1 from advertising that route back to R2 on the R1-to-R2 interface. R1 is not claiming to have an independent route. It is simply suppressing a potentially misleading return advertisement.

Route Learning and Advertisement Behavior in the R1-R2-R3 Topology

Router | How 10.0.0.0/24 Is Known | Next Hop or Outgoing Direction | Can Advertise Back Toward the Learning Neighbor? | Reason

R3 | Directly connected | Local R3 interface | Not applicable | R3 is the source of the directly connected network.

R2 | Learned from R3 | R3 and the R2-to-R3 interface | No, toward R3 | Split horizon suppresses the route on the interface where R2 learned it.

R1 | Learned from R2 | R2 and the R1-to-R2 interface | No, toward R2 | R1 must not return R2's route to R2.

Failure Scenario Without Split Horizon

Now assume R1 is allowed to advertise 10.0.0.0/24 back to R2, even though R1 learned it from R2. Initially, the network may appear to work because R2 still has the valid path through R3.

  1. R3 advertises 10.0.0.0/24 to R2.
  2. R2 advertises the learned reachability to R1.
  3. R1 installs 10.0.0.0/24 with R2 as its next hop.
  4. Without split horizon, R1 advertises the route back to R2.
  5. The R2-to-R3 link fails after the route information has been exchanged.
  6. R2 removes or invalidates its direct path through R3 but hears R1 advertising the destination.
  7. R2 incorrectly considers R1 a possible next hop for 10.0.0.0/24.
  8. R2 forwards destination traffic to R1.
  9. R1 still regards R2 as the path toward 10.0.0.0/24 and forwards the traffic back to R2.

The packet therefore travels from R2 to R1 and back to R2. If neither router quickly learns that the network is unreachable, the traffic can continue cycling until a forwarding limit or protocol update ends the condition.

Packet Forwarding After the R2-R3 Link Failure Without Split Horizon

Step | Router Receiving the Packet | Router's Incorrect Route Decision | Forwarded To | Result

1 | R2 | Uses the stale advertisement from R1 for 10.0.0.0/24 | R1 | R2 begins the incorrect path.

2 | R1 | Uses its existing route through R2 | R2 | The packet returns to R2.

3 | R2 | Still believes R1 may reach the destination | R1 | The two-router loop repeats.

4 | R1 | Still believes R2 is its next hop | R2 | Traffic continues until a limit, update, or failure stops it.

Split Horizon and Other Loop-Prevention Mechanisms

Split horizon reduces the chance of simple two-router feedback loops, but it does not guarantee that every routing loop is impossible. More complex topologies, stale information involving multiple routers, redistribution, and slow convergence can require additional safeguards.

Route poisoning is a related technique. When a route fails, a router advertises that route with an unreachable metric rather than silently omitting it. Neighboring routers can then learn explicitly that the destination should not be used through the failed path.

Mechanism | Primary Action | When It Helps | Relationship to Routing Loops

Split horizon | Suppresses a route on the interface where it was learned | During normal update exchanges | Prevents a router from feeding a learned route directly back to its source neighbor.

Route poisoning | Advertises a failed route as unreachable | After a destination or path failure | Helps neighbors remove the invalid route instead of continuing to use it.

Convergence timers and triggered updates | Accelerate or control information changes | After topology changes | Reduce the period during which stale routes can be used.

Poison reverse | Advertises an unreachable metric back toward the neighbor from which the route was learned | In protocols and designs that use this variant | Makes the unusable return path explicit, rather than merely suppressing it.

Related distance-vector topics include the count-to-infinity problem, hold-down timers, triggered updates, and poison reverse. These mechanisms address different parts of the problem and should not be treated as interchangeable.

Cisco IOS RIP Lab Configuration

The following example uses IPv4 addresses for the point-to-point links:

R1-to-R2: 192.0.2.0/30
R2-to-R3: 192.0.2.4/30
R3 LAN:   10.0.0.0/24

R1 G0/0: 192.0.2.1/30
R2 G0/0: 192.0.2.2/30
R2 G0/1: 192.0.2.5/30
R3 G0/0: 192.0.2.6/30
R3 G0/1: 10.0.0.1/24

R1 Configuration

interface GigabitEthernet0/0
 ip address 192.0.2.1 255.255.255.252
 no shutdown
!
router rip
 version 2
 no auto-summary
 network 192.0.2.0

R2 Configuration

interface GigabitEthernet0/0
 ip address 192.0.2.2 255.255.255.252
 no shutdown
!
interface GigabitEthernet0/1
 ip address 192.0.2.5 255.255.255.252
 no shutdown
!
router rip
 version 2
 no auto-summary
 network 192.0.2.0

On R2, the single RIP network statement covers the interfaces in the 192.0.2.0 major network. Use an IOS version and addressing plan appropriate for your lab platform.

R3 Configuration

interface GigabitEthernet0/0
 ip address 192.0.2.6 255.255.255.252
 no shutdown
!
interface GigabitEthernet0/1
 ip address 10.0.0.1 255.255.255.0
 no shutdown
!
router rip
 version 2
 no auto-summary
 network 192.0.2.0
 network 10.0.0.0

After the interfaces are operational and RIP neighbors exchange updates, R2 should learn 10.0.0.0/24 from R3, and R1 should learn it from R2.

Verification Commands

show ip route 10.0.0.0
show ip protocols
show ip interface GigabitEthernet0/0
show ip rip database

Use show ip route 10.0.0.0 to inspect the installed route, its metric, next hop, and outgoing interface. Use show ip protocols to review RIP version, enabled networks, timers, and routing information sources. Use show ip interface on the relevant interface to inspect interface-level IP behavior. On platforms that display it, look for a line indicating that IP split horizon is enabled.

Controlled Split Horizon Demonstration

On a lab router interface participating in RIP, the Cisco IOS command to disable split horizon is typically:

interface GigabitEthernet0/0
 no ip split-horizon

To restore the normal behavior:

interface GigabitEthernet0/0
 ip split-horizon
  1. Verify the route and next hop on R1 and R2.
  2. Inspect the interface status and confirm split horizon is enabled.
  3. In the isolated lab only, disable split horizon on R1's interface toward R2.
  4. Use routing-protocol debugging only if the lab platform supports it and the output is controlled. Observe whether R1 advertises the learned destination back toward R2.
  5. Simulate the R2-to-R3 failure by shutting down the relevant interface or disconnecting the link.
  6. Inspect the routes and next hops on R1 and R2. Look for R2 selecting R1 for 10.0.0.0/24 while R1 still selects R2.
  7. Restore the link and re-enable split horizon.

Exact update timing depends on RIP timers, triggered updates, and the IOS platform. The purpose of this exercise is to observe the unsafe information path, not to create a persistent loop.

Troubleshooting Split Horizon and Routing Loops

A Route Appears to Be Advertised Back to Its Source Neighbor

Possible causes include split horizon being disabled, an intentional special-interface design, or the route being learned through a different source than expected because of redistribution.

  • Inspect routing-protocol interface settings.
  • Check the route source, administrative information, next hop, and outgoing interface in the routing table.
  • Review routing updates and any redistribution configuration.
  • Confirm that the apparent return advertisement is not coming from another routing process or interface.

Packets Alternate Between Two Routers After a Link Failure

This symptom can indicate stale distance-vector information, missing loop prevention, or incomplete convergence.

  • Verify interface and neighbor status.
  • Inspect route entries and next-hop selections on both routers.
  • Confirm whether the failed network is being marked unreachable.
  • Check whether incorrect updates are still being exchanged.
  • Review timers and triggered-update behavior where appropriate.

Split Horizon Is Mistaken for a Complete Loop-Free Guarantee

Remember the exact scope of the rule: it suppresses a route on the interface where that route was learned. It does not replace convergence, route poisoning, timers, triggered updates, or other protocol safeguards.

Exam-Relevant Notes

  • Memorize the core rule: do not advertise a route out the same interface through which it was learned.
  • Split horizon is selective, not a prohibition against advertising the route to all neighbors.
  • RIP and EIGRP exhibit distance-vector behavior and use loop-avoidance techniques.
  • A routing loop often follows a topology change before all routers have converged.
  • Route poisoning advertises an unreachable metric for a failed route.
  • Disabling split horizon should be treated as a deliberate topology-specific exception, not a normal troubleshooting step.

Related Study

For foundational networking concepts, review the computer network explanation. To compare distance-vector behavior with another routing approach, study how OSPF uses link-state information in Configure OSPF.