Administration: Unblock the Network with Road Poisoning

Administration: Unblock the Network with Road Poisoning
Administration: Unblock the Network with Road Poisoning

Route poisoning is a mechanism to avoid infinite routing loops or resolve problems related to bad routes in networks. When a route becomes invalid or inaccessible, route poisoning marks the bad route – or poisons it – to prevent routing devices from sending data packets along its path. This helps avoid unnecessary delays, wasted bandwidth and unnecessary power consumption.

Route poisoning involves assigning network segments an infinite wait value, in this case a number of hops greater than 15 to reach a destination, in order to prevent routing devices from sending data packets towards a faulty road. This infinite metric is assigned to the faulty route and shows that all nodes of the invalid route are infinitely far apart.

Once the path is marked as inaccessible, the route poisoning mechanism propagates this information throughout the network until the network stabilizes. In effect, the mechanism announces to all other routing devices in the network that the route has an infinite number of hops. Other operational routers consider infinity to indicate a routing failure and do not send data packets over the invalid route.

What are distance vector routing and routing loops?

Distance vector routing (DVR) uses route poisoning to ensure accurate and efficient route updates. DVR is an algorithm that allows routers to choose the shortest data transfer path.

Each router maintains a routing table that contains a collection of distance vectors – called hops – necessary to reach each router in the network. There are different metrics, including hop count, delay, and cost. Routing devices advertise all prefixes through each interface and periodically update themselves with complete information through routing tables.

The DVR algorithm fails when an interface goes down, a cable breaks, or two routers provide simultaneous updates. As a result, an endless routing loop forms in the network.

A routing loop is a technical error in which two or more routers forward the same packet to each other over and over again. These packets never reach their destination address. Routing loops cause unwanted network latency and waste bandwidth. Route poisoning classifies routing loops, invalid paths, and bad routes as failed links.

Routing Information Protocol, aka RIP, is the most commonly used algorithm in networks for DVR. It uses hop count as a routing metric, and hop limit indicates the number of networks RIP can support.

Example problem

Suppose a company has five routers: A, B, C, D, and E. Each router has routing table entries for all other routers in the network. The following example lists four iterations to explain the infinite counting problem.

Routers and hops in a network based on a DVR algorithm.

In this example, router E must receive an information packet. The table below shows the distance between Router E and all other routing equipment in the network. Router D announces that it can reach Router E the fastest in a single hop.

Routers A B C D
Number of jumps 4 3 2 1

However, suppose that the connection between D and E is interrupted due to a technical problem.

Disturbed route in a network based on a DVR algorithm.
Disturbed route in a network based on a DVR algorithm.

Before router D removes this link from its routing table, it notices that the other three routers have links to E.

Router C now shows the shortest path to Router E with two hops. The problem is that D doesn’t know that C relies on link D to E to reach E. Router D updates the routing table to incorporate router C’s routing costs.

The table below shows the updated hop count to Router E.

Routers A B C D
Number of jumps 4 3 2 3

In the path from Router C to E, Router D is the next hop. Router C notices that D has increased the cost to reach E, which forces C to increase the cost as well. The table below shows the updated distance in the routing.

Routers A B C D
Number of jumps 4 3 4 3

Similarly, router B updates the cost to reach router E. Once again, router D updates the distance to reach E. The process continues indefinitely, indicating the presence of a routing loop . The table below shows the updated routing distance.

-
Routers A B C D
Number of jumps 4 5 4 5

This is a well-known problem in the DVR algorithm, known as counting to infinity. Information propagates indefinitely across the network and physically manifests itself as additional power consumption, memory usage, and wasted bandwidth.

The solution to road poisoning

When link D to E fails, router D informs E of the failure. Refer to the first table for the original route distances.

Using route poisoning, Router D assigns the value 16 to Router E in the hop count section to signify that the route has failed. The table below shows the updated distances to Router E.

Routers A B C D
Number of jumps 4 3 2 16

The maximum number of hops allowed in RIP is 15. Metrics greater than 15, such as the 16 hops that router D assigned to E, indicate that the router is unreachable. Sometimes an infinite metric can also be assigned to the failing link. Router C receives the update from D and updates the routing, as seen here.

Routers A B C D
Number of jumps 4 3 17 16

Finally, Routers B and A receive the new cost to update the routing, as shown here.

Routers A B C D
Number of jumps 19 18 17 16

With each iteration, the poisoned route propagates through the network. The process continues until all routers update their costs to reach Router E. With Router E marked as unreachable and removed from the routing tables to ensure correct costs, the network achieves route convergence. All routes to router E are poisoned, eliminating the routing loop and stabilizing the network.

Advantages and disadvantages of road poisoning

A route may become inaccessible due to node failure, topology changes, or manual configurations. Although more modern networks generally do not use route poisoning due to their use of link-state routing protocols, the mechanism is still commonly used in networks that deploy DVR protocols.

Here are some of the benefits of road poisoning:

– Performance optimization. Route poisoning optimizes network performance by limiting the number of packets sent over an invalid path. It performs route convergence to ensure that routers are using correct and updated paths. In small networks, rapid recovery minimizes downtime.

– Blocking mechanism. Using a hold time eliminates mismatched information and prevents routing loops. When a link fails, the operational route assigns a high metric value to the same link and announces it to the entire network. After poisoning the route, the operational router enters the “hold-down” state. In this state, the router temporarily ignores routing costs related to the failed link.

The disadvantages of road poisoning are:

– Slow convergence of routes. Route convergence takes a long time to execute in large networks. Poisoned routes contribute to memory overhead. Therefore, large networks tend to recover slowly from link failure.

– Failure of several routers. Route poisoning is less effective if more than one router fails or if multiple routers form network loops. In this case, temporary network congestion and latency persist for long periods of time.

– Black holes on the Internet. Route poisoning can form temporary black holes in the network. During the waiting state, the router may reject important updates, resulting in permanent packet loss.

-

--

PREV An invention that fights against the spread of viruses in EHPADs
NEXT Discovery of a mushroom that produces morphine