Thursday, October 15, 2009

Route poisoning

Route poisoning is a method to prevent routing loops within computer networks. Distance-vector routing protocols in computer networks use route poisoning to indicate to other routers that a route is no longer reachable and should be removed from their routing tables. A variation of route poisoning is split horizon with poison reverse whereby a router sends updates with unreachable hop counts back to the sender for every route received to help prevent routing loops. When the protocol detects an invalid route, all of the routers in the network are informed that the bad route has a hop count of 16, which stands for infinity (∞). This makes all nodes on the invalid route seem infinitely distant, resulting in preventing any of the routers from sending packets over the invalid route.

Some distance-vector routing protocols, such as RIP, use a maximum hop count to determine how many routers traffic must go through to reach the destination. Each route has a hop count number assigned to it which is incremented as the routing information is passed from router to router. A route is considered unreachable if the hop count exceeds the maximum allowed. Route poisoning is a method of quickly removing outdated routing information from other router's routing tables by changing its hop count to be unreachable (higher than the maximum number of hops allowed) and sending a routing update. In the case of RIP, the maximum hop count is 15, so to perform route poisoning on a route its hop count is changed to 16, deeming it unreachable, and a routing update is sent. When a router receives a poisoned route, it sends an update back to the router from which it received the poisoned route; this is called poison reverse. This is to ensure that all routers on a segment have received the poisoned route information.

No comments: