Routing Loops Explained with Examples
Distance-vector routing protocols use broadcast messages to learn and advertise network paths. A router running a distance-vector routing protocol periodically sends broadcast messages out from all of its active interfaces. These broadcast messages include the router's complete routing table. When other routers running the same distance-vector routing protocol receive these broadcast messages, they learn new routes from the advertised routing tables and add them to their own. Through this process, all routers running the same distance-vector routing protocol learn all network routes.
What is a routing loop?
A routing loop occurs when a destination network is erroneously considered reachable. Routing loops consume significant network bandwidth and cause routers to treat inaccessible networks as if they were accessible.
What causes a routing loop?
Distance-vector routing protocols rely on routing update timers to propagate updates. If timer values differ among routers, routing loops can result because not all routers broadcast updates simultaneously. In a routing loop, one router (A) may believe that a path to a destination (C) is available through a neighboring router (B), while router B simultaneously believes the path to the same destination is available through router A. As a result, packets destined for C circulate endlessly between routers A and B.
Routing loops example
The following image shows a network. In this network, a destination network 1.0.0.0/8 is directly connected to router C on its F0/0 interface. To ensure that the destination network 1.0.0.0/8 always remains available, you added an additional link between routers A and B.

You configured RIP on this network. RIP uses broadcast messages to learn and advertise network paths. RIP transmits routing updates every 30 seconds. You powered on all routers in the following order: C, A, and B. Since routers start at different times, their routing update timers also run at different times. When the router C starts, it sends a broadcast message out from all of its active interfaces. This message indicates that the network 1.0.0.0/8 is reachable via router C at a cost of 1 hop. Both routers, A and B, receive broadcast messages from router C on their interfaces, S0/0/0 and S0/0/0, respectively.
When a router receives a routing update, it learns the advertised routes and does the following.
- If the advertised route is not present in the routing table, the router adds it.
- If the advertised route is present in the routing table, the router compares the advertised route's metric with the routing table's metric.
- If the advertised route's metric is worse, the router ignores it and keeps the existing route.
- If the advertised route's metric is better, the router replaces the existing route with it.
- If the metric of the advertised route matches, the router adds it to the routing table along with the existing route. This feature is known as load balancing.
From the received routing update, both routers A and B learn that the destination network 1.0.0.0/8 is reachable via router C at a cost of 1 hop. Since the routing tables of both routers are empty, they both add this routing information to their routing tables.

After router C, router A broadcasts its routing update. This routing update indicates that the network 1.0.0.0/8 is reachable through router A at the cost of 2 hops. Both router B and C receive this update. But they do not add the advertised route to their routing tables, since they already have a better route to the destination.

In the end, router B broadcasts its routing update. This routing update indicates that network 1.0.0.0/8 is reachable via router B at 2 hops. Both routers A and C receive this message and ignore it, as they already have a better route for the destination network.

At this stage, all routers have learned all network routes, a state known as convergence. Routers continue to broadcast routing updates after convergence. As long as the network operates, all routers periodically broadcast their routing tables. This process enables routers to detect and adapt to future network changes.
Physical loops V/s Routing loops
Typically, physical loops do not disrupt routing protocols. For instance, the network shown above functions correctly despite a physical loop. To prevent routing loops caused by physical network loops, distance-vector routing protocols add only one best route to the routing table for each destination. However, this feature does not prevent routing loops caused by differences in routing update timers.
Suppose the connection between router C and the destination network's switch fails.
Since the destination network is directly connected to router C, router C immediately detects the change and removes the entry for the destination network from its routing table. However, router C does not pass this information to routers A and B until its routing update timer expires.

Now, suppose that the routing update timer of router A expires before the routing update timer of router C expires.
Router A broadcasts its routing update. This routing update indicates that the network 1.0.0.0/8 is reachable via router A at 2 hops. Both routers, B and C, receive this message. Router B ignores this update message as it still has a better route for the destination. However, router C has no route to the destination network. It processes this message and adds the advertised route to its routing table.

When the routing update timer on router C expires, it broadcasts its routing update. This routing update indicates that the destination network 1.0.0.0/8 is reachable through router C at the cost of 3 hops. Both routers A and B receive this message and ignore it as they both have a better route for the destination.

When the routing update timer on router B expires, it broadcasts its routing update. This routing update indicates that network 1.0.0.0/8 is reachable via router B at 2 hops. Both routers, A and C, receive this message. Router A ignores this message as it already has a better route for the destination network. Router C adds the advertised route to its routing table because the advertised route and the existing route both have equal cost. Routers add equal-cost routes for load balancing.

At this point, the network converges. However, this convergence is false. The destination network is unavailable, yet routers A and B believe router C can reach it, while router C assumes routers A and B have access to it. This misunderstanding results in a routing loop.
When routers A and B receive a packet destined for the network 1.0.0.0/8, they forward it to router C. Router C then forwards the packet back to router A, causing the packet to circulate endlessly between routers A and C.

This example illustrates a basic routing loop. In practice, routing loops often arise from network inconsistencies resulting from the limitations of periodic timers. Different routing protocols use different approaches to deal with routing loops. To learn how RIP removes routing loops, you can check the next parts of this tutorial.
This tutorial is part of the tutorial series "RIP (Routing Information Protocol) Features, Functions, and Configurations Explained". Other parts of this series are the following.
Chapter 1 How RIP Routing works
Chapter 2 RIP – Routing Information Protocol Explained
Chapter 3 RIP Routing features and functions
Chapter 4 Routing Loops Explained with Examples
Chapter 5 Split Horizon Explained with Examples
Chapter 6 Infinity Metric and Route Poisoning Explained
Chapter 7 RIP Protocol Configuration Guide with Examples
Conclusion
Routing loops pose a significant challenge in distance-vector routing protocols, often arising from asynchronous routing updates and the constraints imposed by periodic timers. Comprehending the formation and causes of these loops is essential for network administrators seeking to implement effective solutions and maintain stable network operations.
Author Laxmi Goswami Updated on 2025-12-31