Material from Computer Networking: A Top Down Approach, J.F. Kurose and K.W. Ross
Routing Algorithms
14-740: Fundamentals of Computer Networks Bill Nace
Routing Algorithms 14-740: Fundamentals of Computer Networks Bill - - PowerPoint PPT Presentation
Routing Algorithms 14-740: Fundamentals of Computer Networks Bill Nace Material from Computer Networking: A Top Down Approach, J.F. Kurose and K.W. Ross Recall from Last Time Routing is the process of Routing creating and maintaining
Material from Computer Networking: A Top Down Approach, J.F. Kurose and K.W. Ross
14-740: Fundamentals of Computer Networks Bill Nace
creating and maintaining forwarding tables
Forwarding Table Header value Output Link 0xx 100 101 11x 3 1 2 1 Routing Algorithm 1 2 3 value in arriving packet's header 101
table to determine the output link for each packet
3
4
5 u v w z y x
2 3 5 1 1 2 3 1 2 5
6 u v w z y x
2 3 5 1 1 2 3 1 2 5
information and all link costs
info with neighbors
7
8
information on all directly connected links
9
10
to k closest locations
node v
node v
11
Initialization: N' = {u} for all nodes v if v adjacent to u then D(v) = c(u,v) else D(v) = ∞ Loop until N' contains all nodes find w not in N' such that D(w) is a minimum add w to N' for all nodes v adjacent to w and ∉ N' D(v) = min( D(v), D(w) + c(w,v) ) /* new cost to v changes if path through w costs less */
Step N’
D(v), p(v) D(w), p(w) D(x), p(x) D(y), p(y) D(z), p(z)
u 2, u 5, u 1, u ∞ ∞ 1 ux 2, u 4, x 2,x ∞ 2 uxy 2, u 3, y 4, y 3 uxyv 3, y 4, y 4 uxyvw 4, y 5 uxyvwz
u v w z y x
2 3 5 1 1 2 3 1 2 5
15 u v w z y x
2 1 1 1 2
destination link v v w x x x y x z x
16 xkcd.com/399
17
18
19
20
wait for change recompute estimates, based on change if DV to any destination has changed, notify neighbors
21 xkcd.com/69
c(u,x) + dx(z), c(u,w) + dw(z) }
shortest path
22 u v w z y x
2 3 5 1 1 2 3 1 2 5
23
24 u v w z y x
2 3 5 1 1 2 3 1 2 5
Node U u v 2 w 5 x 1 y ∞ z ∞ Node V u 2 v w 3 x 2 y ∞ z ∞ Node W u 5 v 3 w x 3 y 1 z 5 Node X u 1 v 2 w 3 x y 1 z ∞ Node Y u ∞ v ∞ w 1 x 1 y z 2 Node Z u ∞ v ∞ w 5 x ∞ y 2 z
25 u v w z y x
2 3 5 1 1 2 3 1 2 5
Node U u v 2 w 5 x 1 y ∞ z ∞ Node V u 2 v w 3 x 2 y ∞ z ∞ Node W u 5 v 3 w x 3 y 1 z 5 Node X u 1 v 2 w 3 x y 1 z ∞
Node U(1)
u v 2 w 4 x 1 y 2 z 10 du(w) = min {c(u,u) + du(w), c(u,v) + dv(w), c(u,w) + dw(w), c(u,x) + dx(w)} du(w) = min {0 + 5, 2 + 3, 5 + 0, 1 + 3} du(w) = 4
26 u v w z y x
2 3 5 1 1 2 3 1 2 5
Node U u v 2 w 4 x 1 y 2 z 10 Node V u 2 v w 3 x 2 y 3 z 8 Node W u 4 v 3 w x 2 y 1 z 3 Node X u 1 v 2 w 2 x y 1 z 3 Node Y u 2 v 3 w 1 x 1 y z 2 Node Z u 10 v 8 w 3 x 3 y 2 z
27 u v w z y x
2 3 5 1 1 2 3 1 2 5
Node U u v 2 w 3 x 1 y 2 z 4 Node V u 2 v w 3 x 2 y 3 z 5 Node W u 3 v 3 w x 2 y 1 z 3 Node X u 1 v 2 w 2 x y 1 z 3 Node Y u 2 v 3 w 1 x 1 y z 2 Node Z u 4 v 5 w 3 x 3 y 2 z
28 u v w z y x
2 3 5 1 1 2 3 1 2 5
Node U u v 2 w 3 x 1 y 2 z 4 Node V u 2 v w 3 x 2 y 3 z 5 Node W u 3 v 3 w x 2 y 1 z 3 Node X u 1 v 2 w 2 x y 1 z 3 Node Y u 2 v 3 w 1 x 1 y z 2 Node Z u 4 v 5 w 3 x 3 y 2 z
29
30
10 4 1
X Y Z
60
10 4 1
X Y Z X in 4 X in 10 Result: X in 4 Result: X in 5
10 4 1
X Y Z X in 4 X in 5 Result: X in 6 Result: X in 5
60 10 4 1
X Y Z
60
X in 4 X in 5
10 4 1
X Y Z X in 6 X in 5 Result: X in 6 Result: X in 7
60 10 4 1
X Y Z X in 6 X in 7 Result: X in 8 Result: X in 7
60 10 4 1
X Y Z X in 8 X in 7 Result: X in 8 Result: X in 9
60 10 4 1
X Y Z X in 8 X in 9 Result: X in 10 Result: X in 9
60 10 4 1
X Y Z X in 10 X in 9 Result: X in 10 Result: X in 10
60 10 4 1
X Y Z X in 10 X in 10 Result: X in 11 Result: X in 10
60
In the Beginning Oh, no! A change occurs Finally, stability
neighbor, does not send those routes it learned from each neighbor back to that neighbor
destination to the neighbor it routes through to that destination
32
33
10 4 1
X Y Z
60
34
35
36
decentralized and static / dynamic routing
different message complexity, convergence speeds, robustness and algorithm complexity
algorithm (which may include identifying and using proper variables and terms). Intermediate results may be required, such as an SPT or table
37
forwarding table for a DV routing algorithm. Intermediate values may be required, which may require knowing variable names and terms
updates
“Count to Infinity” and the associated stabilization techniques