You are on page 1of 22

# RIP-TP:

## Detecting Invalid RIP Routing Updates

Dan Pei, UCLA Dan Massey, USC/ISI Lixia Zhang, UCLA

## December 3rd, 2003

Outline

Motivation
RIP-TP design(Triangle Checking and Probing) Simulation Evaluation

Summary

2/20

## Fail-Stop: a router either works perfectly, or completely stops.

UCLA
My Distance to UCLA is Zero!

ARPANet in 1971[McQuillan:TOC78(12)]
3/20

## Non-Fail-Stop Faults [McQuillan:TOC78(12)]

Mis-configurations [Mahajan:SIGCOMM02]

4/20

## RIP (Routing Information Protocol)

Exchange distance information Keep and announce shortest path only Rs route for D: [ Destination=D, Dist=4, Nexthop=A]
Distance Info refreshed every 30 seconds; Up to 25 destinations per update message.

D
A
D:1

R C

5/20

Outline

Motivation

## RIP-TP design(Triangle Checking and Probing)

Simulation Evaluation

Summary

6/20

## RIP-TP Design Overview

Message: Dist(A,D),, Dist(A,Y) R

## Step 1: Triangle Checking to detect suspicious distances

Step 2: Send probing messages to verify

# of probing messages adaptive to # of suspicious distances per update discard those distances that failed verification
7/20

## Triangle Theorem in a Static Graph

b
Dist(a,b) Dist(b,c) Dist(a,c)

Dist(a,c)Dist(a,b)+Dist(b,c)
8/20

## Triangle Checking in RIP

A
Dist(A,B) Dist(B,D) Dist(A, D)

9/20

## Probing message for suspicious Dist(A,D)

a UDP packet with un-used port number TTL = Dist(A,D) +1 (assuming routing metric is hop-count) A timer: expiration time proportional to TTL

QuickTime and a TIFF (LZW) decompressor are needed to see this picture.

10/20

## Probing message for suspicious Dist(A,D)

a UDP packet with un-used port number TTL = Dist(A,D) +1 (assuming routing metric is hop-count) A timer: expiration time proportional to TTL

TTL=0
QuickTime and a TIFF (LZW) decompressor are needed to see this picture.

11/20

## Probing message for suspicious Dist(A,D)

a UDP packet with un-used port number TTL = Dist(A,D) +1 (assuming routing metric is hop-count) A timer: expiration time proportional to TTL

QuickTime and a TIFF (LZW) decompressor are needed to see this picture.

Timer Expires!

12/20

13/20

Outline

## Motivation RIP-TP design(Triangle Checking and Probing)

Simulation Evaluation
Summary

14/20

Simulation Scenario

One faulty router selects I destinations, and decreases each distance by 1; I:1~8

## Grid topology(N*N); N:3~7

Every second, with probability of P(0.02~0.2), one link is failed (Recovered with probability of 0.5 later)
15/20

Detection Rate vs I
Detection Rate

RIP-TP

Faulty router sends I invalid distances, causing J invalid distances propagated in the network.
M of J are detected. Detection rate=M/J

## I(Number of invalid distances/update)

16/20

Overhead= (Total Number of Probing messages)/ (Total Number of RIP messages) RIP-TP

17/20

## I: 1~8, P:0.02~0.2, N:3~7

Detection Rate 95%

18/20

Related work

Sign the routing updates [Perlman88, Smith:NDSS97, Kent:J-SAC00] Update Counts Statistics[Mittal:CCS02]

19/20

Summary

## Routing Protocols need to deal with invalid updates

is not only feasible, but can be done effectively with low overhead.

Future work:

20/20

22/20