110 likes | 215 Views
Routing. Jean Walrand U.C. Berkeley www.eecs.berkeley.edu/~wlr. Outline. Shortest Path Objective Bellman-Ford Dijkstra Adaptive Routing QoS Routing. 3. 4. 1. 4. 3. D. S. 3. 2. 4. 1. Shortest Path. Objective: Find shortest path between two nodes (e.g., S and D) in a graph
E N D
Routing Jean Walrand U.C. Berkeley www.eecs.berkeley.edu/~wlr
Outline • Shortest Path • Objective • Bellman-Ford • Dijkstra • Adaptive Routing • QoS Routing
3 4 1 4 3 D S 3 2 4 1 Shortest Path • Objective: Find shortest path between two nodes (e.g., S and D) in a graph • Example: • Note: Myopic shortest path is not optimal!
Shortest Path - Continued • “Dynamic Programming” or Bellman-Ford: 3 3 4 4 7 4 1 1 4 4 3 3 D D S S 3 3 3 2 2 7 4 4 1 1 5 5 = min{3 + 3, 4 + 1} 1 7 = min{1 + 7, 2 + 5}
Shortest Path - continued • Dijkstra: 3 4 4 1 8 7 1 5 4 3 D S 3 5 2 4 1 2 6
Dynamic Routing • Base route on “congestion” • Example: 0.4ms 0.2ms 0.5ms 0.25ms 0.3ms 0.1ms 0.1ms
0.8ms 0.1ms 0.1ms 0.8ms Dynamic Routing - continued • Difficulty: Oscillations
Shortest length = A a b Shortest length = B Quality of Service Routing • Shortest Path: Single Additive “Cost” length(path) = sum of length(link) Shortest length = min{a + A, b + B}
Max. bw = A a b Max. bw = B Quality of Service Routing (cd) • Maximum Bandwidth bandwidth(path) = minimum of bandwidth(link) Max bw = max{min{a, A}, min{b, B}}
Quality of Service Routing (cd) • Multi-objective: e.g., (delay, bw) (min. d = 3, max. bw = 10) (min. d = 3, max. bw = 10) or (min. d = 6, max. bw = 15) (min. d = 6, max. bw = 15)
Better bw A D B C Better d Quality of Service Routing (cd) [Min d, Max bw] • Example [12, 20] [7, 10] (d, bw) (8, 30) A [16, 18] B [11, 10] C [10, 10] D [13, 14] (4, 20) (4, 18) (4, 12) (3, 10) D (5, 15) (2, 14) (7, 30) [8, 10] [11, 20] (4, 20)