110 likes | 218 Vues
This resource provides a comprehensive outline of shortest path algorithms used in routing, including the Bellman-Ford and Dijkstra methods. It discusses the objectives of finding the shortest path between nodes in a graph, introduces dynamic programming concepts, and explains adaptive and QoS routing techniques. Examples and illustrations clarify how dynamic routing techniques can optimize paths based on congestion and quality of service parameters such as delay and bandwidth. Understanding these algorithms is crucial for efficient network routing design.
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)