Berkeley slides were used for this tutorial 1 Internet Networking Spring 2003 Tutorial 3 DUAL Algorithm.

Slides:



Advertisements
Similar presentations
CSE 561 – Bridging and Routing David Wetherall Spring 2000.
Advertisements

RIP V2 CCNP S1(5), Chapter 4.
Chapter 4 Distributed Bellman-Ford Routing
© 2007 Cisco Systems, Inc. All rights reserved.ICND2 v1.0—3-1 Medium-Sized Routed Network Construction Reviewing Routing Operations.
EIGRP routing protocol Omer ben-shalom Omer Ben-Shalom: Must show how EIGRP is dealing with count to infinity problem Omer Ben-Shalom: Must.
1 LINK STATE PROTOCOLS (contents) Disadvantages of the distance vector protocols Link state protocols Why is a link state protocol better?
Berkeley slides were used for this tutorial 1 Internet Networking Spring 2002 Tutorial 3 DUAL Algorithm.
1 Comnet 2010 Communication Networks Recitation 6 Routing.
CSE331: Introduction to Networks and Security Lecture 9 Fall 2002.
Routing So how does the network layer do its business?
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 22 Introduction to Computer Networks.
Chapter 4 Distance Vector Problems, and Link-State Routing Professor Rick Han University of Colorado at Boulder
15-744: Computer Networking L-5 Intra-Domain Routing.
Chapter 4 IP Routing Professor Rick Han University of Colorado at Boulder
Routing.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
Berkeley slides were used for this tutorial1 Internet Networking Spring 2006 Tutorial 2 DUAL Algorithm.
CMPE 150- Introduction to Computer Networks 1 CMPE 150 Fall 2005 Lecture 21 Introduction to Computer Networks.
1 Distance Vector Routing Protocols Dr. Rocky K. C. Chang 14 November 2006.
© 2006 Cisco Systems, Inc. All rights reserved. ICND v2.3—3-1 Determining IP Routes Introducing Distance Vector Routing.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Delivery, Forwarding and
Review: routing algorithms. –Choose the appropriate paths. –Routing algorithms Flooding Shortest path routing (example). –Dijkstra algorithm. –Bellman-Ford.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 14 Routing Protocols RIP, OSPF, BGP.
CS551: Unicast Routing Christos Papadopoulos (
Spring 2008CS 3321 Intradomain Routing Outline Algorithms Scalability.
Packet-Switching Networks Routing in Packet Networks.
Routing Protocols RIP, OSPF, BGP. A Routing Protocol’s Job Is to Find a “Best” Path between Any Pair of Nodes Routers in a network exchange their routing.
Count to infinity problem
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
1 Network Layer Lecture 13 Imran Ahmed University of Management & Technology.
Network Layer4-1 Chapter 4: Network Layer r 4. 1 Introduction r 4.2 Virtual circuit and datagram networks r 4.3 What’s inside a router r 4.4 IP: Internet.
Static versus Dynamic Routes Static Route Uses a protocol route that a network administrators enters into the router Static Route Uses a protocol route.
MDVA [Multipath Distance Vector Algorithm]: A Distance-Vector Multipath Routing Protocol Presentation By Felix Mathew Felix Mathew School of Computer Science.
Distance Vector Local Signpost Direction Distance Routing Table For each destination list: Next Node Distance Table Synthesis Neighbors exchange table.
Spring 2006CS 3321 Intradomain Routing Outline Algorithms Scalability.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
1 CSE524: Lecture 12 Network layer Functions. 2 Where we’re at… Internet architecture and history Internet protocols in practice Application layer Transport.
Spring 2000CS 4611 Routing Outline Algorithms Scalability.
1 Chapter 4: Internetworking (IP Routing) Dr. Rocky K. C. Chang 16 March 2004.
Spring Routing: Part I Section 4.2 Outline Algorithms Scalability.
CEN 5501C - Computer Networks - Spring UF/CISE - Newman1 Computer Networks Chapter 12 – Routing Algorithm Concepts.
4. Interconnecting Networks: Routers. © Tallal Elshabrawy 2 Bridges Vs Routers BRIDGES DO WELL IN SMALL (FEW HUNDRED HOSTS) WHILE ROUTERS USED IN LARGE.
Chapter 7 Packet-Switching Networks Shortest Path Routing.
Routing algorithms. D(v): the cost from the source node to destination that has currently the least cost. p(v): previous node along current least.
Network Layer.
CS 5565 Network Architecture and Protocols
Centralized vs Distributed Routing
Rip Routing Protocol.
CS 457 – Lecture 12 Routing Spring 2012.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Dynamic Routing Protocols part2
Routing in Packet Networks Shortest Path Routing
CS 3700 Networks and Distributed Systems
CS 640: Introduction to Computer Networks
RFC 1058 & RFC 2453 Routing Information Protocol
Communication Networks NETW 501
CS 3700 Networks and Distributed Systems
Computer Networking Lecture 10: Intra-Domain Routing
Communication Networks
Advanced Computer Networks
Delivery, Forwarding, and Routing
EE 122: Intra-domain routing: Distance Vector
Communication Networks
Network Layer.
Computer Networks Protocols
Routing.
EE 122: Intra-domain routing: Link State
Presentation transcript:

Berkeley slides were used for this tutorial 1 Internet Networking Spring 2003 Tutorial 3 DUAL Algorithm

2 Counting to Infinity : Different Solutions Triggered Update Split Horizon: not good for triangles Source Routing: -Older protocols don’t have support -Consumes calculation time Dual Algorithm

3 The Distributed Update Algorithm (DUAL) Based on a paper written by J.J. Garcia- Luna-Aceves [SIGCOMM’89] The paper can be downloaded at the course site Aims at removing transient loops in both DV and LS routing protocols Based on: –“diffusion” algorithm proposed by Dijkstra /Scholten –observation that one cannot create a loop by picking a shorter path to the destination

4 DUAL Data Structures Array d[k,j] contains distance from each neighbor k to each destination j Array l[k] contains cost of link between local router and each neighbor k d[:,:] is obtained from distance vectors advertised by neighbors l[:] is locally configured

5 Optimization Criteria Each router minimizes the cost to each destination by selecting a particular neighbor x that minimizes: –cost to j = l[x] + d[x,j] If an update l’[k] or d’[k,j] arrives such that (l’[k] + d’[k,j]) < (l[x]+d[x,j]): –adopt k as new next hop and announce to neighbors (shorter is always ok)

6 Path Selection If an update arrives that is > than the existing choice, do not take any action, unless: –Exception: if the cost is an increase using the current selected neighbor x, first look for an “acceptable neighbor”. l[x] has changed to l’[x]. In such cases, acceptable neighbors are: –any k for which d[k,j] < local cost to j prior to the update = l[x]+d[x,j]

7 Selecting Among Neighbors If the set of acceptable neighbors is not empty, select the acceptable neighbor k that minimizes: –l[k] + d[k,j] If the set is empty, must engage in “diffusion” computation during which route entry for the destination j is frozen (not able to be updated)

8 Diffusion Process Routing entry frozen (like holddown - no loops, but black hole to destination) Send a query message to all neighbors: –contains (d, l’[x] + d’[x,j]), the frozen dist (‘=new). –wants to know d’[k,j] for each neighbor k Routers in passive state (stable routing table) just reply… others become active

9 Active and Passive Routers Routers are “passive” if they have a stable table and do not change path selection as a result of the query message [not using sender as router or are using an alternative for next hop] If they become “active”, they propagate the query to all neighbors, and the diffusion computation continues

10 Ebbing the Diffusion Once a router hears a reply from all its neighbors, it can return to passive state and return a reply back to its initial querier (like propagating prunes up stream) Eventually, reply will arrive at the originating router, completing the diffusion computation. An update concludes the process.

11 Formal Proof (H.W. 2) Lemma 0: If there are no active but only passive neighbors, no loops are created, and the DUAL ends in 1 iteration. Lemma 1: Consider a network G in which DUAL is executed. If only a single diffused successor graph for node j, S j (G), computation takes place at any one time, then S j (G) is loop-free at every instant. Lemma 2: Dual considers each diffused S j (G) computation individually and in the proper sequence. Theorem 1: In every iteration S j (G) is loop-free Theorem 2: The dual algorithm converge in finite time. Prove for both DV and LS cases.

12 DUAL - Example 1 st number: My current calculation for distance to j. 2 nd number: The distance reported to other nodes. 3 rd number: The distance from me to the next node along the route to j. (4,4,4) (2,2,2) (20,10,10) (10,10,10) (20,10,10) (0,0,0) (11,11,1) (12,12,1)

13 DUAL – Example(cont.) Basic Shortest Path Tree after the update: Basic Shortest Path Tree before the update: (4,4,4) (15,10,10) (0,0,0)

14 DUAL (summary) Assures loop-free routing Routers maintain copies of neighbor costs If cheaper route arrives, use it (no loop) If cost goes up: first see if another known route may be used (acceptable neighbor)

15 DUAL (summary) if not, freeze table and distribute info to all neighbors –each neighbor seeing more costly route in turn freeze their tables –if all neighbors do not change, they inform sender of this –eventually, returns to original sender Called a “diffusion computation”