What is poison reverse?
In a computer network that uses the Routing Information Protocol (RIP) or other distance vector routing protocol, poison reverse is a loop avoidance process. It ensures the accurate sharing of link up and down status information when a gateway node tells its neighbor gateways that an IP network or subnet is no longer connected. To do this, the notifying gateway sets the number of hops to the unconnected gateway to a number that indicates infinite -- meaning, it is unreachable. Since RIP allows up to 15 hops to another gateway, setting the hop count to 16 would mean infinite.
How does poison reverse work?
Distance vector routing protocols dynamically learn of remote networks by way of a topology exchange. When one of these routes becomes unreachable, the routing protocol initiates the process of removing this route from the network. Part of this process includes the use of poison reverse.
For this process to work without creating a routing loop, the initial advertising router that is connected to the downed network does not simply remove the network from the routing table, as adjacent routers will simply assume there is a different path through other parts of the network. Instead, the initial advertising router will send an update to all adjacent routers to advertise the route with an unreachable metric. Those routers will then update their routing table with the new unreachable network, stopping any chance of creating a loop.
As mentioned previously, the poison reverse maximum metric for RIP is 16. The Enhanced Interior Gateway Routing Protocol (EIGRP), on the other hand, uses a far more granular metric that considers more than just simple hop count, as is the case with RIP. By default, EIGRP uses a combination of two calculations in addition to two optional metrics that an administrator can enable:
- maximum bandwidth of the interface, which is enabled by default;
- calculated network delay of the path, which is enabled by default;
- calculated interface traffic load; and
- calculated reliability of the interface.
Thus, EIGRP's maximum metric -- and what is considered unreachable -- has the value of 4,294,967,295, as determined by the routing protocol.
What is an example of poison reverse?
The example of poison reverse running RIP below shows a network consisting of three routers that are connected, creating a potential routing loop. Router A is connected to subnet 192.168.1.0/24. It then proceeds to notify routers B and C of the network. Both routers B and C have a metric of 1. If, for example, the link between router A and C were to go down, router C can still access subnet 192.168.1.0/24 by way of router B with a metric -- or hop count -- of 2.
Now, let's say that subnet 192.168.1.0/24 goes down. Without poison reverse, both routers B and C would believe they have a secondary path to the downed subnet through each other; this creates a loop. Poison reverse solves this problem by having router A send an update with a metric of 16 to both routers. This quickly informs routers B and C that the secondary paths have an infinite hop count and thus will cease forwarding packets to each other.
Which routing protocols use poison reverse?
Poison reverse is used in distance vector routing protocols. Here are some common examples of existing and now-extinct protocols that incorporate poison reverse:
- Routing Information Protocol (RIP)
- Internetwork Packet Exchange Routing Information Protocol (IPX RIP)
- Interior Gateway Routing Protocol (IGRP)
- AppleTalk Routing Table Maintenance Protocol (RTMP)
How is poison reverse used within split horizon?
Distance vector routing protocols also use split horizon as a loop avoidance mechanism. The rule with split horizon is that information about the routing for a particular packet is never sent back in the direction from which it was received. A variant of poison reverse can include this split horizon process, slightly altering how loops are avoided. In a split horizon with poison reverse scenario, the routers will still not advertise learned routes back out the interface they learned them via split horizon. However, when the routers learn that a network has an unreachable metric, it breaks this rule and notifies adjacent routers, regardless of which interfaces the router initially learned them. This is done so that the downed network can propagate across the network as quickly as possible.
Learn the key differences between virtual LANs and IP subnetworks and the purposes for each.