Shortest Path Algorithm

Slides:



Advertisements
Similar presentations
Ch. 12 Routing in Switched Networks
Advertisements

Ch. 12 Routing in Switched Networks Routing in Packet Switched Networks Routing Algorithm Requirements –Correctness –Simplicity –Robustness--the.
Data and Computer Communications Eighth Edition by William Stallings Lecture slides by Lawrie Brown Chapter 12 – Routing in Switched Networks.
Data and Computer Communications
4/12/2015© 2009 Raymond P. Jefferis IIILect Internet Protocol - Continued.
Chapter 4 Distributed Bellman-Ford Routing
CS4550: Computer Networks II network layer basics 3 routing & congestion control.
William Stallings Data and Computer Communications 7 th Edition Chapter 12 Routing.
Data and Computer Communications Ninth Edition by William Stallings Chapter 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Routing Basics What’s going on the back … Faisal Karim Shaikh DEWSNet Group Dependable Embedded Wired/Wireless Networks.
Routing Strategies Fixed Routing
1 Routing Lesson 10 NETS2150/2850 School of Information Technologies.
Computer Networks The Data Link / Network Layer Functions: Routing
Spring Routing & Switching Umar Kalim Dept. of Communication Systems Engineering 17/04/2007.
Routing Protocol Pertemuan 21 Matakuliah: H0484/Jaringan Komputer Tahun: 2007.
EECC694 - Shaaban #1 lec #7 Spring The OSI Reference Model Network Layer.
CSE 461: Link State Routing. Link State Routing  Same assumptions/goals, but different idea than DV:  Tell all routers the topology and have each compute.
William Stallings Data and Computer Communications 7th Edition (Selected slides used for lectures at Bina Nusantara University) Routing.
Jennifer Rexford Princeton University MW 11:00am-12:20pm Wide-Area Traffic Management COS 597E: Software Defined Networking.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Data Communications & Computer Networks
1 Pertemuan 20 Teknik Routing Matakuliah: H0174/Jaringan Komputer Tahun: 2006 Versi: 1/0.
Chapter 12 Routing in Switched Networks. Routing in Packet Switched Network  key design issue for (packet) switched networks  select route across network.
CIS Routing in IP. Introduction Routers forward IP datagrams from one router to another on path from source to destination Router must have idea.
Chi-Cheng Lin, Winona State University CS 313 Introduction to Computer Networking & Telecommunication Chapter 5 Network Layer.
Data and Computer Communications Ninth Edition by William Stallings Unit 12 – Routing in Switched Data Networks Data and Computer Communications, Ninth.
Data Communications and Networking Chapter 11 Routing in Switched Networks References: Book Chapters 12.1, 12.3 Data and Computer Communications, 8th edition.
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
CSCI 465 D ata Communications and Networks Lecture 17 Martin van Bommel CSCI 465 Data Communications & Networks 1.
Stainov - DataComMET CS TC5353 THE NETWORK LAYER 5.2 ROUTING ALGORITHMS - adaptive Distance Vector Routing (Bellman-Ford, Ford-Fulkenson). It was used.
William Stallings Data and Computer Communications 7th Edition
Teknik Routing Pertemuan 10 Matakuliah: H0524/Jaringan Komputer Tahun: 2009.
Computer Networks with Internet Technology William Stallings Chapter 11 Interior Routing Protocols.
Shortest Path Algorithm
Distance Vector Routing
ROUTING ON THE INTERNET COSC Jun-16. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
+ Dynamic Routing Protocols 2 nd semester
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
William Stallings Data and Computer Communications
Centralized vs Distributed Routing
Computer Networks Routing Algorithms.
Routing on the internet
Routing on the internet
Dijkstra’s shortest path Algorithm
What Are Routers? Routers are an intermediate system at the network layer that is used to connect networks together based on a common network layer protocol.
What is a router? A router is a device that connects multiple computers together. Not to be confused with a switch Routers transmit packets of data across.
Network Layer – Routing 1
Routing: Distance Vector Algorithm
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
Chapter 5: Dynamic Routing
Routing in Packet Networks Shortest Path Routing
CS 4700 / CS 5700 Network Fundamentals
CS 3700 Networks and Distributed Systems
Computer Networks The Data Link / Network Layer Functions: Routing
Intradomain Routing Outline Introduction to Routing
Chapter 7 Packet-Switching Networks
Packet Switching Around 1970, research began on a new form of architecture for long distance communications: Packet Switching.
Data and Computer Communications
ECE453 – Introduction to Computer Networks
CS4470 Computer Networking Protocols
CS 3700 Networks and Distributed Systems
Chapter 10. Packet Switching
Network Layer (contd.) Routing
Shortest Path Algorithm
EE 122: Intra-domain routing: Distance Vector
CSE 461: Link State Routing
Data Communication: Routing algorithms
CSCI 465 Data Communications and Networks Lecture 16
Dynamic routing Routing Algorithm (Dijkstra / Bellman-Ford) – idealization All routers are identical Network is flat. Not true in Practice Hierarchical.
OSPF Protocol.
Presentation transcript:

Shortest Path Algorithm Dijkstra’s Algorithm Bellman-Ford Algorithm 8 5 3 3 5 2 6 2 6 8 3 3 2 1 4 1 2 3 1 1 2 1 7 4 5 1

Reduced graph 5 3 3 5 2 2 6 1 1 2 3 2 1 4 5 1

Dijkstra’s Algorithm 2 3 2 3 1 1 6 6 4 5 4 5 T = { 1 } T = { 1, 4 } 2

Dijkstra’s Algorithm (cont) Node D T 2 3 4 5 6 1 2 5 1 ¥ ¥ 1, 4 2 4 1 2 ¥ 1, 4, 2 2 4 1 2 ¥ 1, 4, 2, 5 2 3 1 2 4 1, 4, 2, 5, 3 2 3 1 2 4 1, 4, 2, 5, 3, 6 2 3 1 2 4

Dijkstra’s Algorithm (cont) w(i, j) = link cost, L(n) = path cost from node s to n 1. [Initialization] T = {s} L(n) = w(s, n) for n ≠ s 2. [Get next node] Find x Ï T such that L(x) = min L(j) Add x to T 3. [Update Least-Cost Paths] L(n) = min [ L(n), L(x) + w(x, n) ] for all n Ï T Go to step 2 jÏT

Bellman-Ford Algorithm 2 3 2 3 D(1)2 = 2 D(1)3 = 5 D(2)2 = 2 1 1 6 6 4 5 4 5 D(2)6 = 10 D(1)4 = 1 D(2)4 = 1 D(2)5 = 2 h = 1 h = 2 D(3)3 = 3 2 3 D(3)2 = 2 1 6 4 5 D(3)6 = 4 D(3)4 = 1 D(3)5 = 2 h = 3

Bellman-Ford Algorithm (cont) Node D h 2 3 4 5 6 ¥ ¥ ¥ ¥ ¥ Source = 1 1 2 5 1 ¥ ¥ 2 2 4 1 2 10 3 2 3 1 2 4 4 2 3 1 2 4

Bellman-Ford Algorithm (cont) Lh(n) = path cost from s to n w/ no more than h links 1. [Initialization] L0(n) = ∞, for all n ≠ s Lh(s) = 0, for all h 2. [Update] For each successive h ≥ 0 For each n ≠ s, compute Lh+1(n) = min [ Lh(j) + w(j, n) ] s j n <= h links link j

Comparisons … …… L(n) = min [ L(n), L(x) + w (x, n) ] Lh(x, D) S D S D Dijkstra’s (Link State) Bellman-Ford (Distance Vector)

Bellman-Ford vs. Dijkstra Results from two algorithms agree Bellman-Ford Calculation for node n needs link cost to neighbouring nodes plus total cost to each neighbour from s Each node can maintain set of costs and paths for every other node. Can exchange information with direct neighbours Can update costs and paths based on information from neighbours and knowledge of link costs Dijkstra Each node needs complete topology Must know link costs of all links in network Must exchange information with all other nodes One interesting comparison can be made between these two algorithms, having to do with what information needs to be gathered. Consider first the Bellman-Ford algorithm. In step 2, the calculation for node n involves knowledge of the link cost to all neighboring nodes to node n ]i.e., w(j, n)] plus the total path cost to each of those neighboring nodes from a particular source node s [i.e., Lh(j)]. Each node can maintain a set of costs and associated paths for every other node in the network and exchange this information with its direct neighbors from time to time. Each node can therefore use the expression in step 2 of the Bellman-Ford algorithm, based only on information from its neighbors and knowledge of its link costs, to update its costs and paths. On the other hand, consider Dijkstra's algorithm. Step 3 appears to require that each node must have complete topological information about the network. That is, each node must know the link costs of all links in the network. Thus, for this algorithm, information must be exchanged with all other nodes.

Routing in ARPANET First generation(RIP), 1969 Adaptive Routing is adopted Use Bellman-Ford algorithm  Distance Vector Estimated link delay is simply the queue length for that link Every 128ms, each node exchanges its delay vector (routing table) with all its neighbors Information about a change in network condition would gradually ripple through the network

Routing in ARPANET (cont) Each node i maintains di j = current estimate of min delay from i to j si j = next node in the current min-delay route from i to j Node k updates its vectors as follows dk j = Min [ lk i + di j ] i Î A sk j = i using i that minimizes the expression above where A = set of neighbor nodes for k lk i = current estimate of delay from k to i k i j

Routing in ARPANET (cont) Major shortcomings of RIP It did not consider line speed, merely queue length. Higher capacity links were not given the favored status Queue length is an artificial measure of delay The algorithm was not very accurate. It responded slowly to congestion and delay increases.

Routing in ARPANET (cont) Second generation, 1979 Using Dijkstra’s algorithm Link State Routing Protocol OSPF: Open Shortest Path First protocol The delay is measured directly Every 10 seconds, the node computes the average delay on each outgoing link Information of changes in delay is sent to all others nodes using flooding

Routing in ARPANET (cont)

Routing in ARPANET (cont) Third generation, 1987 Problem The correlation between the reported values (delay) and those actually experienced after rerouting Conclusion Under heavy load, the goal of routing should be to give the average route a good path instead of attempting to give all routes the best path Solution Also consider the average utilization of links Revised cost function: delay-based metric under light loads capacity-based metric under heavy loads

Calculate Link Costs Measure the avg. delay over the last 10 sec Using the single-server queuing model (M/G/1), the measured delay is transformed into an estimate of link utilization Average the link utilization r (n+1) with the previous estimate of utilization U(n) U(n+1) = 0.5 * r (n+1) + 0.5 * U(n) The link cost is set as a function of average utilization

ARPANET Delay Metrics (3rd) Theoretical queueing delay 5 4 Delay (hops) 3 Metric for satellite link 2 Metric for terrestrial link 1 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Estimated utilization

ARPANET Delay Metrics (3rd) Delay is normalized to the value achieved on an idle line The cost value is kept at the minimum value until a given level of utilization is reached Reducing routing overhead at low traffic levels Above a certain level of utilization, the cost level is allowed to rise to a maximum value that is equal to three times the minimum value To dictate that traffic should not be routed around a heavily utilized line by more than two additional hops