Professional Documents
Culture Documents
Topology change
Using beacons to detect topology changes
Propagating topology or path information
Routing protocols
Link state: Open Shortest Path First
Distance vector: Routing Information Protocol
2
What is Routing?
A famous quotation from RFC 791
A name indicates what we seek.
An address indicates where it is.
A route indicates how we get there.
-- Jon Postel
Shortest-Path Routing
Path-selection model
Destination-based
Load-insensitive (e.g., static link weights)
Minimum hop count or sum of link weights
2
3
2
1
1
4
4
5
3
6
Shortest-Path Problem
Given: network topology with link costs
c(x,y): link cost from node x to node y
Infinity if x and y are not direct neighbors
2
p(v)
4
v
3
7
Dijsktras Algorithm
1 Initialization:
2 S = {u}
3 for all nodes v
4
if v adjacent to u {
5
D(v) = c(u,v)
6
else D(v) =
7
8 Loop
9 find w not in S with the smallest D(w)
10 add w to S
11 update D(v) for all v adjacent to w and not in S:
12
D(v) = min{D(v), D(w) + c(w,v)}
13 until all nodes in S
9
4
5
3
1
1
3
2
3
2
3
2
1
1
4
4
5
3
10
4
5
3
1
1
3
2
3
2
3
2
1
1
4
4
5
3
11
Shortest-Path Tree
Shortest-path tree from u
v
3
u
1
w
z
t
link
4
5
Forwarding table at u
v
w
x
y
z
s
t
(u,v)
(u,w)
(u,w)
(u,v)
(u,v)
(u,w)
(u,w)
12
Link-State Routing
Each router keeps track of its incident links
Whether the link is up or down
The cost on the link
Example protocols
13
Performance trade-offs
Detection speed
Overhead on link bandwidth and CPU
Likelihood of false detection
14
(a)
X
B
(c)
(b)
B
(d)
15
Challenges
Packet loss
Out-of-order arrival
Solutions
Acknowledgments and retransmissions
Sequence numbers
Time-to-live for each packet
16
Configuration change
Link cost change
Periodically
Refresh the link-state information
Typically (say) 30 minutes
Corrects for possible corruption of the data
17
Convergence
Getting consistent routing information to all nodes
E.g., all nodes having the same link-state database
1
1
4
4
5
3
18
Transient Disruptions
Detection delay
1
1
4
4
5
3
19
Transient Disruptions
Inconsistent link-state database
1
1
4
4
5
3
2
3
2
1
4
3
20
Convergence Delay
Sources of convergence delay
Detection latency
Flooding of link-state information
Shortest-path computation
Creating the forwarding table
21
Faster flooding
Flooding immediately
Sending link-state packets with high-priority
Faster computation
Faster processors on the routers
Incremental Dijkstra algorithm
22
Area 1
area
border
router
Area 0
Area 3
Area 4
23
Bellman-Ford Algorithm
Define distances at each node x
dx(y) = cost of least-cost path from x to y
3
u
1
w
4
5
s
z
t
25
Each node:
Distributed:
Each node notifies neighbors
only when its DV changes
Neighbors then notify their
neighbors if necessary
recompute estimates
if DV to any destination has
changed, notify neighbors
26
Table for B
Dst
Cst
Hop
Dst
Cst
Hop
Table for C
Table for D
Table for E
Table for F
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
27
Table for B
Dst
Cst
Hop
Dst
Cst
Hop
Table for C
Table for D
Table for E
Table for F
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
28
Table for B
Dst
Cst
Hop
Dst
Cst
Hop
Table for C
Table for D
Table for E
Table for F
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
Dst
Cst
Hop
29
Y
50
good
news
travels
fast
algorithm
terminates
30
60
Y
50
algorithm
continues
on!
31
60
Y
50
algorithm
terminates
32
Speed of Convergence
LS: O(n2) algorithm requires
O(nE) messages
DV: convergence time varies
May be routing loops
Count-to-infinity problem
DV:
DV node can advertise
incorrect path cost
Each nodes table used by
others (error propagates)
34
Conclusions
Routing is a distributed algorithm
React to changes in the topology
Compute the shortest paths
Convergence process
Changing from one topology to another
Transient periods of inconsistency across routers
35