Browse Prior Art Database

Routing loop detection and mitigation

IP.com Disclosure Number: IPCOM000232594D
Original Publication Date: 2013-Nov-19
Included in the Prior Art Database: 2013-Nov-19
Document File: 4 page(s) / 1M

Publishing Venue

Motorola

Related People

Wong, Allen: INVENTOR [+2]

Abstract

This invention detects the existence of routing loops by monitoring IP packet streams. Once a routing loop is detected, the loop will be broken by using sink routes to prevent the gateway from spending all of the CPU cycles or link bandwidth to loop the packets and drop other “good” (non-loop) packets. Furthermore, this invention will be able to detect and mitigate any routing loops caused by ANY IP routing protocols including but not limited to Mobile IP, BGP, OSPF, PIM, etc...

This text was extracted from a Microsoft Word document.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 57% of the total text.

Routing Loop Detection and Mitigation

By Allen Wong, Chris Cormier

Motorola Solutions, Inc.

 

ABSTRACT

This invention detects the existence of routing loops by monitoring IP packet streams.

Once a routing loop is detected, the loop will be broken by using sink routes to prevent the gateway from spending all of the CPU cycles or link bandwidth to loop the packets and drop other “good” (non-loop) packets.

Furthermore, this invention will be able to detect and mitigate any routing loops caused by ANY IP routing protocols including but not limited to Mobile IP, BGP, OSPF, PIM, etc...

PROBLEM

Routing loops are a common problem with any type of network, particularly when the network is large and complex. It has a large impact in a short amount of time since routing loops can cause random packet drops for any transport gateway systems when loops occur.

SOLUTION

The solution consists of four building blocks for the solution.

1. Routing Loop Detection Block

Keep track of all packet streams for the past X (user configurable) milliseconds.

The IP streams are identifiable by (src IP address, src port, protocol ID, dest IP address, dest port, IP ID).

If the stream is seen Y amount of time for the past X milliseconds, the information (route and destination IP) will be sent to notification block.

2. Routing Loop Notification Block

An alarm will be sent to the operator (if not already sent) which will indentify the route and the destination IP (ex: 10.10.10.10) of the offending stream.

If automatic mitigation is enabled, the information (route and destination IP) will be sent to the mitigation block. Otherwise, the operator will have to manually disable the route to break the routing loop.

3. Routing Loop Mitigation Block

Create a host sink route to drop the packet. This route should override all routes by all protocols.

4. Routing Loop Cleanup Block

Every Loop block age 1000 milliseconds (configurable) it removes the sink route.

If re-trigger of the route loop for this route is clear for ‘Z’ seconds (configurable), send clear alarm to operator.

OPERATION

In the diagram above, there is no routing loop. Host A sends data to host B via Router A and Router B. Router A has routing loop detection and mitigation capability. It keeps track of the IP streams going through the device for past X milliseconds. This info is kept in the IP stream table. For our example we have this:

IP Stream Table 1

Src IP Address

10.0.0.1

Src IP Port

4000

Protocol

17 (UDP)

Dest IP Address

30.0.0.1

Dest IP Port

5000

IP ID

100

counter

1

Like all routers, Router A also has a routing table. For our example, it has a static route with gateway address of Router B’s interface.

IP Routing Table Entry #1

Destination

30.0.0.0

Mask

255.0.0.0

Gateway

20.0.0.100

Type

Static

Dest IP Port

2000

IP ID

999

The diagram above shows a routing loop occurs. For some reasons, router B sends the packet to router C and router C sends it to router A. This could happen because of configuration error, duri...