Routing loop problem

From Wikipedia, the free encyclopedia

A routing loop is a common problem with various types of networks, particularly computer networks. They are formed when an error occurs in the operation of the routing algorithm, and as a result, in a group of nodes, the path to a particular destination forms a loop.

Contents

[edit] Theory

In the simplest version, a routing loop of size two, node A thinks that the path to some destination (call it D) is through its neighbouring node, node B. At the same time, node B thinks that the path to D starts at node A.

Thus, whenever traffic for D arrives at either A or B, it will loop endlessly between A and B, unless some mechanism exists to prevent that behaviour.

Network
Network

[edit] How a routing loop can form

For example, in the network given below, node A is transmitting data to node C via node B. If the link between nodes B and C goes down and B has not yet informed node A about the breakage, node A transmits the data to node B assuming that the link A-B-C is operational and of lowest cost. Node B knows of the broken link and tries to reach node C via node A, thus sending the original data back to node A. Furthermore, node A receives the data that it originated back from node B and consults its routing table. Node A's routing table will say that it can reach node C via node B (because it still has not been informed of the break) thus sending its data back to node B creating an infinite loop.

Broken network
Broken network

[edit] Routing Loops in Computer Networks

Conditions known simply as "routing loops" sometimes occur in networks using old or flawed routing protocols that do not prevent against routing loops. A routing loop can have a catastrophic impact on a network and, in some cases, completely cripple it.

It is similar to a switching loop but instead occurs at layer 3 rather than layer 2.

[edit] Prevention

Most newer routing protocols (EIGRP, OSPF, IS-IS) have built in loop prevention; however, some older routing protocols (RIP, IGRP) commonly do not implement the newest forms of loop prevention and therefore are sometimes susceptible to routing loops. Split horizon is the most common implementation of routing loop prevention.