Berkeley slides were used for this tutorial1 Internet Networking Spring 2006 Tutorial 2 DUAL Algorithm.

Slides:



Advertisements
Similar presentations
Enhanced Interior Gateway Routing Protocol (EIGRP) Part 2
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.
13 –Routing Protocols Network Layer4-1. Network Layer4-2 Chapter 4 Network Layer Computer Networking: A Top Down Approach Featuring the Internet, 3 rd.
Routing - I Important concepts: link state based routing, distance vector based routing.
Berkeley slides were used for this tutorial 1 Internet Networking Spring 2003 Tutorial 3 DUAL Algorithm.
Berkeley slides were used for this tutorial 1 Internet Networking Spring 2002 Tutorial 3 DUAL Algorithm.
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
Slide Set 15: IP Multicast. In this set What is multicasting ? Issues related to IP Multicast Section 4.4.
Distance-Vector Routing COS 461: Computer Networks Spring 2010 (MW 3:00-4:20 in COS 105) Michael Freedman
Chapter 4 IP Routing Professor Rick Han University of Colorado at Boulder
Unicast Routing Protocols: RIP, OSPF, and BGP
Routing.
CSE 461: Distance Vector Routing. Next Topic  Focus  How do we calculate routes for packets?  Routing is a network layer function  Routing Algorithms.
EE 122: Intra-domain routing Ion Stoica September 30, 2002 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)
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.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking Routing in the Internet Internal Routing Protocols.
ROUTING ON THE INTERNET COSC Aug-15. Routing Protocols  routers receive and forward packets  make decisions based on knowledge of topology.
Delivery, Forwarding and
Routing Concepts Warren Toomey GCIT. Introduction Switches need to know the link address and location of every station. Doesn't scale well, e.g. to several.
Routing Information Protocol (RIP). Intra-and Interdomain Routing An internet is divided into autonomous systems. An autonomous system (AS) is a group.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Dynamic Routing Protocols  Function(s) of Dynamic Routing Protocols: – Dynamically share information between routers (Discover remote networks). – Automatically.
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.
Slide /2009COMM3380 Routing Algorithms Distance Vector Routing Each node knows the distance (=cost) to its directly connected neighbors A node sends.
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
1 Chapter 22 Network layer Delivery, Forwarding and Routing (part2)
Link-state routing  each node knows network topology and cost of each link  quasi-centralized: each router periodically broadcasts costs of attached.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
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.
Network Layer4-1 Distance Vector Algorithm Bellman-Ford Equation (dynamic programming) Define d x (y) := cost of least-cost path from x to y Then d x (y)
MDVA [Multipath Distance Vector Algorithm]: A Distance-Vector Multipath Routing Protocol Presentation By Felix Mathew Felix Mathew School of Computer Science.
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.
Distance Vector 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
CMPT 371 Data Communications and Networking Routing in the Internet
Routing Information Protocol (RIP)
Rip Routing Protocol.
Intra-Domain Routing Jacob Strauss September 14, 2006.
Routing: Distance Vector Algorithm
Routing.
Dynamic Routing Protocols part2
Routing in Packet Networks Shortest Path Routing
UNICAST ROUTING PROTOCOLS
CS 3700 Networks and Distributed Systems
RFC 1058 & RFC 2453 Routing Information Protocol
Communication Networks NETW 501
CS 3700 Networks and Distributed Systems
Communication Networks
Advanced Computer Networks
EE 122: Intra-domain routing: Distance Vector
Communication Networks
Distance Vector Routing Protocols
Network Layer.
Computer Networks Protocols
Routing.
EE 122: Intra-domain routing: Link State
Presentation transcript:

Berkeley slides were used for this tutorial1 Internet Networking Spring 2006 Tutorial 2 DUAL Algorithm

2 Counting to Infinity – A Reminder Before the change: R1: cost-1, via- R0. R2: cost-2, via- R1. R3: cost-2, via- R1. Immediately after the change: R1: cost-10, via- R0. R2: cost-2, via- R1. R3: cost-2, via- R1. R3R2 R1 R0 Net-A 1 ->

3 Counting to Infinity – A Reminder After R1 and R2 sent an update: R1: cost-10, via- R0. R2: cost-11, via- R1. R3: cost-3, via- R2. After R3 sent an update: R1: cost-4, via- R3. R2: cost-11, via- R1. R3: cost-3, via- R2. R3R2 R1 R0 Net-A 1 ->

4 Counting to Infinity : Different Solutions Triggered Updates. Split Horizon: not good for triangles. Path vector (as in BGP). Not supported by the routing protocols. DUAL Algorithm.

5 Diffusion 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.

6 Avoiding transient loops Transient loop is created when a node changes its next hop to an “upstream” node. Observation: If a neighbor of a node advertises a distance that is smaller than the last distance the node has known, then it is safe to choose the neighbor as a next hop. If the above condition does not hold a diffusion of the new cost begins while “freezing” the next hop.

7 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

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

9 Path Selection If after an update the new minimum is larger than old one, Look for an acceptable neighbor. Acceptable neighbors are: Any k for which d[k,j] is less than the local cost to j prior to the update = l[x]+d[x,j]. Note that this condition is due the observation presented earlier on loop avoidance.

10 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).

11 Diffusion Process Routing entry frozen (like holddown - no loops, but black hole to destination). Send a query message to all neighbors: contains (l’[x] + d’[x,j]), the new distance of the frozen next hop. wants to know d’[k,j] for each neighbor k. Every neighbor checks his set of acceptable neighbors. If necessary, reinitiates the diffusion process to all of its neighbors.

12 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.

13 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. Eventually, reply will arrive at the originating router, completing the diffusion computation. An update concludes the process. Once the diffusion process is complete the node can be sure that all upstream nodes: Modified their distance; Or, Stopped being an upstream node.

14 Formal Proof Lemma 1: When a node becomes passive, it must send a reply to its successor if it is not the origin of the diffusing computation. Lemma 2: After node v becomes passive it must be true that, D v < D u, where u is the successor of node v. Theorem 1: In every iteration the routing graph is loop-free.

15 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)

16 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)

17 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).

18 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”.