This tutorial explains the infinity metric and route poisoning features in detail. Learn what the infinity metric and route poisoning are and how they are used to remove routing loops.
A routing loop is a situation in which routers, running a distance vector routing protocol, advertise and learn wrong route information. When routing loops occur, routers fail to deliver data packets to their correct destinations.
To remove routing loops, distance vector routing protocols use four mechanisms: split-horizon, infinity metric, route poisoning, and timers.
Split-horizon
Split-horizon feature states that if a router receives a route from its neighboring router, it will not propagate the received route back to the neighboring router on the same interface.
To understand how the split-horizon feature works, consider the following example.
Router A advertises the network 10.0.0.0/8 out from its S0/0/0 interface. Since router B is connected to router A’s S0/0/0 interface, router B receives this advertisement and adds the advertised route to its routing table.
How the router B will advertise this newly learned route depends on whether the split-horizon feature is enabled or not. Without split-horizon in effect, router B advertises this network right back to router A.
Router A ignores this update since the directly connected path is better than router B’s advertised path. However, what would happen if router A’s F0/0 interface failed and it received an update from router B stating that it had an alternative path to the network 10.0.0.0/8?
In this situation, Router A will add the advertised route to its routing table thinking router B might know another route to the network 10.0.0.0/8.
The following image shows this process step by step.
This misunderstanding causes a routing loop where the actual network is down, but both routers think the network is reachable through each other.
In this situation, if anyone router from both routers receives a packet for the destination network 10.0.0.0/8, it will forward that packet to other router and another router will forward that packet back to the first router.
The packet will keep cycling between both routers. The following image show this situation.
But if the split-horizon feature is enabled, router B never broadcast the network 10.0.0.0/8 back to router A. The following image shows how the split-horizon functions.
If the split-horizon feature is enabled and router A’s F0/0 interface fails, it will not cause a routing loop. With split-horizon, router B would never advertise the 10.0.0.0/8 back to router A. Therefore, if router A’s F0/0 interface fails, both router A and router B would realize that there is no alternative path to reach this network until router A’s F0/0 connection is fixed.
Infinity metric
To keep the routing table stable, routers do not remove unreachable routes immediately. When a route becomes unreachable, instead of removing that route from the routing table, the router changes the metric value of that route to infinite. A route with an infinite metric value is equal to a deleted route. If the metric value of a route is set to infinite, the router never uses that route for the routing.
The infinity metric value is routing protocol specific. Different routing protocols use different infinity metric values. RIP routing protocol uses the value 16 as infinity. In an RIP running network, if the value of a route is set to 16, the route will be considered as an unreachable or a down route.
The following image shows how router A changes the metric value of the network 10.0.0.0/8 when the network 10.0.0.0/8 became unreachable.
Route poisoning
Route poisoning is a derivative of split-horizon. It states that if a router receives a route with an infinity metric from its neighboring router, the router will ignore the split-horizon feature and propagate the received route back to the neighboring router on the same interface.
To understand how the route poisoning works, let’s take the above example back.
When network 10.0.0.0/8 fails, router A sets its metric value to 16 and advertises this route from all of its active interfaces.
The following image shows this process.
Router B receives this routing update and changes the metric value of the network 10.0.0.0/8 in its routing table. Since this routing update states that the network 10.0.0.0/8 is no longer reachable, router B overrules the split-horizon feature and sends a routing update back to router A about the network 10.0.0.0/8.
The following image shows how the route poisoning feature works.
Route poisoning feature is the inverse of the split-horizon feature. Until a route is activated, the split-horizon feature applies. When the route fails, the route poisoning feature overrules the split-horizon feature.
Key points
- When a route fails, routers change the metric value of the failed route to infinity.
- A route with the infinity metric value is considered as a deleted route.
- For routing, routers never use a route whose metric value is set to infinity.
- Route poisoning refers to the practice of advertising a failed route back to the source.
- The route poisoning feature applies only to routes whose metric value is set to infinity.
Timers
Distance vector routing protocols use various timers to manage route information. For example, RIP a true distance vector routing protocol uses four timers. These timers are the following.
Update timer (default 30 Sec.): -
RIP uses this timer to keep the interval between routing updates.
Invalid timer (default 180 sec): -
RIP uses this timer to control how long a route will remain in the routing table if no new updates about the route are received.
Hold down timer (default 180 sec): -
RIP puts a route on the hold-down state when it receives a routing update that indicates the route is unreachable.
Route flush timer (default 240Sec): -
RIP uses this timer to define how long a route can stay in the routing table before it will be flushed if no new updates about the route are received.
To learn more about timers, you can check the previous parts of this tutorial. This tutorial is the part of the article "How to configure RIP routing protocol explained with features and functions of the RIP protocol". The previous parts of this article are the following.
This tutorial is the first part of the article. This part explains how the RIP routing protocol uses broadcast messages to exchange network paths' information.
RIP Routing features and functions
This tutorial is the second part of the article. This part explains the concept of distance-vector routing and how the RIP routing protocol uses this concept.
RIP Tutorial – Basic operation of RIP Protocol
This tutorial is the third part of the article. This part explains RIP timers and differences between RIPv1 and RIPv2.
Routing Loops Explained with Examples
This tutorial is the fourth part of the article. This part explains routing loops and how they are formed in a distance-vector routing protocol running network.
Split Horizon Explained with Examples
This tutorial is the fifth part of the article. This part explains the split-horizon feature and how it removes routing loops in the network.
That’s all for this tutorial. In the next part of this tutorial, we will understand how to configure RIP routing protocol in detail through examples. If you like this tutorial, please don’t forget to share it with friends through your social channel.