Slides On Routing Algorithms
Slides On Routing Algorithms
Kyle Jamieson
COS 461: Computer Networks
Outline
Host
Interface
(address A)
Subnet 1
Interface
(address B) Router Interface
(address C)
Subnet 2
Interface
(address D)
Host
Address Aggregation
0 1 1 A 0 2
D 0E 2 D 1 2
0 1 1 A 0 2
D 0E 2 D 1 2
A1 B C local 0
0 ! 1 0 B 0 1
1 C E 1 1
0 1 1 A 0 2
D 0E 2 D 1 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 1 2
Link Failure (II)
Dst I/f Metric
A local 0
B 1 Inf Dst I/f Metric
D 0 1 B local 0
E 0 2 A 0 Inf
C 1 Inf C 2 1
E 1 1
Dst Metric
D 1 2
A 0 ! 0 2
B Inf A1 B
D 1
0 ! 1 0
Dst
C
I/f
local
Metric
0
E 2
1 C B 0 1
C Inf 0 1 1 E 1 1
D 0E 2 A 0 2
Dst I/f Metric Dst I/f Metric D 1 2
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 1 2
DV Algorithm, Revised
0 1
D
Dst Metric Dst I/f Metric Dst I/f Metric
A 1 D local 0 D local 0
B Inf A 0 1 A 0 1
D 2 + E 1 1 E 1 1
E 3 B 1 2 (no B 1 2
C Inf C 1 2
change) C 1 2
Link Failure (IV)
Dst I/f Metric
A local 0
Dst Metric
B 1 Inf Dst I/f Metric
B 0
D 0 1 B local 0
A Inf
E 0 2 A 0 Inf
C 1
C 1 Inf C 2 1
E 1
D 2 E 1 1
D 1 2 Dst I/f Metric
0 2
A1 B C local 0
0 1 0 B 0 1
1 C E 1 1
0 1 1 A 0 2
D 0E 2 D 1 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 1 2
Link Failure (V)
0 2
B
1
1
0E 2
Dst Metric Dst I/f Metric Dst I/f Metric
B 1 E local 0 E local 0
A Inf D 0 1 D 0 1
C 2 + B 1 1 B 1 1
E 2 C 2 1 C 2 1
D 3 A 1 2 A 1 Inf
Link Failure (VI)
Dst I/f Metric Dst I/f Metric
A local 0 B local 0
B 1 Inf A 0 Inf
D 0 1 C 2 1
E 0 2 E 1 1
C 1 Inf D 1 2 Dst I/f Metric
C local 0
0 2
A1 B B 0 1
0 1 0 E 1 1
1 C A 0 Inf
0 1 1 D 1 2
D 0E 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 1 Inf
Link Failure (VII)
Dst I/f Metric Dst I/f Metric
A local 0 B local 0
B 0 3 A 0 Inf
D 0 1 C 2 1
E 0 2 E 1 1
C 0 3 D 1 2 Dst I/f Metric
C local 0
0 2
A1 B B 0 1
0 1 0 E 1 1
1 C A 0 Inf
0 1 1 D 1 2
D 0E 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 0 2
Link Failure (VIII)
Dst I/f Metric Dst I/f Metric
A local 0 B local 0
B 0 3 A 1 3
D 0 1 C 2 1
E 0 2 E 1 1
C 0 3 D 1 2 Dst I/f Metric
C local 0
0 2
A1 B B 0 1
0 1 E 1 1
0
1 C A 1 3
0 1 1 D 1 2
D 0E 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 0 2
Outline
• Routing Problem Definition
• Definitions: Hosts, Routers, Interfaces,
Subnets
• Shortest-Path Routing
• Routing Tables
• Distance Vector Algorithm
• Pathologies: Bouncing and Counting to Infinity
• Optimizations: Split Horizon and Poison
Reverse
• War Story: Synchronization of Routing
Messages
Bouncing (I)
• Consider same network, (C, E) has
metric 10; all others 1
1 1 1 C E
A
1
1
1
3
0 1 1 1 D 1 2
D 1 0E 2
Dst I/f Metric Dst I/f Metric
D local 0 E local 0
A 0 1 D 0 1
E 1 1 B 1 1
B 1 2 C 2 1
C 1 2 A 0 2
Counting to Infinity (II)
• Network partitioned
• Focus on {A, D} partition
Dst
A
I/f
local
Metric
0
• Suppose sequence of events:
B 0 3 – D notices link failure
D 0 1 – A advertises its routing table
• Loop for {B, C, E} between A
E 0 2
and D!
C 0 3
A1
0
1 • How long will loop persist?
0 1
D
Dst Metric Dst I/f Metric Dst I/f Metric
A 1 D local 0 D local 0
B 4
D 2
+ A 0 1 A 0 1
E 1 Inf E 0 3
E 3 B 1 Inf B 0 4
C 4 C 1 Inf C 0 4
Counting to Infinity (III)
Dst I/f Metric Dst I/f Metric Dst I/f Metric
A local 0 A local 0 A local 0
B 0 5 B 0 7 B 0 Inf
D 0 1 D 0 1 … D 0 1
E 0 4 E 0 6 E 0 Inf
A1 C 0 5 C 0 7 C 0 Inf
0
1
0 1
D Dst I/f Metric Dst I/f Metric Dst I/f Metric
D local 0 D local 0 D local 0
A 0 1 A 0 1 A 0 1
E 0 3 E 0 5
… E 0 Inf
B 0 4 B 0 6 B 0 Inf
C 0 4 C 0 6 C 0 Inf
0 2
B
1 1 0 Dst I/f Metric
1 1 C D 1 2
1 1
0E 2
Dst I/f Metric Dst Metric Dst I/f Metric
D 0 Inf + D Inf D 0 Inf
Limitations (V):
Split Horizon and Poison Reverse
• B advertises its routing table, with split horizon
and poison reverse
• For destination D, loop {C à E à B à C}!
– resolved only by counting to infinity
Dst I/f Metric
D 2 3
0 2
B
1 1 0 Dst I/f Metric Dst Metric
1 1 C D 1 2
+ D Inf
Dst
D
I/f
1
Metric
2
1 1
0E 2