CMPE 150: Introduction to Computer Networks

Similar documents
BTEC Level 3 Extended Diploma

Computer Networking. Intra-Domain Routing. RIP (Routing Information Protocol) & OSPF (Open Shortest Path First)

Routing. 4. Mar INF-3190: Switching and Routing

Network Layer: Routing

Redes de Computadores. Shortest Paths in Networks

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Routing, Routing Algorithms & Protocols

CIS 83 Midterm Spring 2004 Answer Sheet Name Score Grade Question Answer Question Answer

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

CHAPTER 4: ROUTING DYNAMIC. Routing & Switching

ICMP, ARP, RARP, IGMP

Unit 3: Dynamic Routing

Routing in Switched Networks

ECE 333: Introduction to Communication Networks Fall 2001

Distance Vector Routing

2008 NDP Lectures 7 th Semester

Chapter 7: Routing Dynamically. Routing & Switching

Routing. Advanced Computer Networks: Routing 1

Chapter 22 Network Layer: Delivery, Forwarding, and Routing 22.1

ICS 351: Today's plan. distance-vector routing game link-state routing OSPF

BGP. Daniel Zappala. CS 460 Computer Networking Brigham Young University

COM-208: Computer Networks - Homework 6

CCNA 3 (v v6.0) Chapter 5 Exam Answers % Full

Link-State Routing OSPF

Routing. Routing. Overview. Overview. Routing vs. Forwarding. Why Routing

CS 5114 Network Programming Languages Control Plane. Nate Foster Cornell University Spring 2013

Routing in Switched Data Networks

CSE 461 Routing. Routing. Focus: Distance-vector and link-state Shortest path routing Key properties of schemes

C13b: Routing Problem and Algorithms

Chapter 12. Routing and Routing Protocols 12-1

Routing. Information Networks p.1/35

9.1. Routing Protocols

Routing Outline. EECS 122, Lecture 15

Lecture 4 Wide Area Networks - Routing

CS4450. Computer Networks: Architecture and Protocols. Lecture 11 Rou+ng: Deep Dive. Spring 2018 Rachit Agarwal

Routing in a network

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

cs/ee 143 Communication Networks

Introduction to OSPF

Routing Protocols. Autonomous System (AS)

Lecture 12. Introduction to IP Routing. Why introduction? Routing

CS644 Advanced Networks

Youki Kadobayashi NAIST

Chapter 3. Introduction to Dynamic Routing Protocols. CCNA2-1 Chapter 3

Planning for Information Network

EE 122: Intra-domain routing

CSCE 463/612 Networks and Distributed Processing Spring 2018

William Stallings Data and Computer Communications 7 th Edition. Chapter 12 Routing

Youki Kadobayashi NAIST

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 16, 2017

Data and Computer Communications. Chapter 12 Routing in Switched Networks

Introduction to Internet Routing

BLM6196 COMPUTER NETWORKS AND COMMUNICATION PROTOCOLS

PrepAwayExam. High-efficient Exam Materials are the best high pass-rate Exam Dumps

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Part II. Chapter 3. Determining IP Routes

Lecture 2: Routing algorithms

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Youki Kadobayashi NAIST

Course Routing Classification Properties Routing Protocols 1/39

Exam : : Building Scalable Cisco Internetworks (BSCI) Title. Ver :

5.2 Routing Algorithms

Packet Switching. Raj Jain. Professor of CIS. The Ohio State University

ETSF05/ETSF10 Internet Protocols Routing on the Internet

ICS 351: Today's plan. OSPF BGP Routing in general

Distributed Routing. EECS 228 Abhay Parekh

Routing Protocol. RIPv1

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

Introduction to OSPF

Overview. Problem: Find lowest cost path between two nodes Factors static: topology dynamic: load

CS 43: Computer Networks. 24: Internet Routing November 19, 2018

CSCD 433/533 Advanced Networks Spring 2016

Routing Protocol. Seiya Tsubone. Apr The University of Tokyo. Seiya Tsubone (The University of Tokyo) Routing Protocol Apr. 25.

Announcements. CS 5565 Network Architecture and Protocols. Project 2B. Project 2B. Project 2B: Under the hood. Routing Algorithms

Configuring Networking Protocols

UC Santa Cruz UC Santa Cruz Previously Published Works

Network Layer, Part 2 Routing. Terminology

EECS 122, Lecture 16. Link Costs and Metrics. Traffic-Sensitive Metrics. Traffic-Sensitive Metrics. Static Cost Metrics.

Which of the following describe the process identifier that is used to run OSPF on a router? (Choose two)

Network Routing - II Failures, Recovery, and Change

OSPF Commands. Cisco IOS IP Command Reference, Volume 2 of 3: Routing Protocols IP2R-61

Lecture 19: Network Layer Routing in the Internet

EITF25 Internet Routing. Jens A Andersson

CSc 450/550 Computer Networks Internet Routing

Homework 3 Discussion

International Journal of Computer Science Trends and Technology (IJCST) Volume 4 Issue 5, Sep - Oct 2016

Routing Protocols. Technology Description BGP CHAPTER

Distance vector and RIP

CMPE 80N: Introduction to Networking and the Internet. Katia Obraczka Computer Engineering UCSC Baskin Engineering Lecture 20

Internet Routing Protocols Tuba Saltürk

Routing in the Internet

Routing. Directly Connected IP Networks. Data link layer routing. ifconfig command

Overview 4.2: Routing

Introduction to Intra-Domain Routing

Unit 6 Routing and Layers 3 and 4 Protocols. Chapter 6: Layers 3 and 4 Protocols

Fast IP Convergence. Section 4. Period from when a topology change occurs, to the moment when all the routers have a consistent view of the network.

LECTURE 9. Ad hoc Networks and Routing

IP Routing Tecnologie e Protocolli per Internet II rev 1

Transcription:

CMPE 50: Introduction to Computer Networks Dr. Chane L. Fullmer chane@cse.ucsc.edu Spring 003 UCSC cmpe50

Homework Assignments Homework assignment #3 Chapter Four Due by May Spring 003 UCSC cmpe50

CMPE 5: Introduction to Computer Networks SET 0: Routing, Part II Spring 003 UCSC cmpe50 3

Routing Algorithms Most books and papers classify routing algorithms into distance-vector and link-state algorithms. Distance-Vector Algorithm: Routers exchange their distances to known destinations; a router uses the distance vectors received from its neighbors to compute its own distances. Computation is distributed. Link-State Algorithm: Routers exchange information about the state of the links in the network; a router uses this information to compute its distances to destinations. Computation is local. Spring 003 UCSC cmpe50 4

DBF Information maintained at each router: Distance Table: Distance to each destination reported by each neighbor Link-Cost Table: Cost of link to each adjacent node Routing Table: Distance and successor (next hop) to each destination Information exchanged among routers: Vector of one or more entries, each entry stating the distance to a destination Services assumed: Update messages are exchanged reliably, a node knows who its neighbors are Spring 003 UCSC cmpe50 5

Bellman-Ford Algorithm BF iterates on the number of hops away from a node. Step : Initialize source node S with a 0 distance to itself and all other nodes with an infinite distance. Step : Set H = Step 3: Label all nodes H hops away from S with the smallest distance from S to the nodes. Step 4: Stop if all nodes have been covered and no label can be reduced by increasing H. Else, set H = H+ and repeat Step 3 0 S 5 Spring 003 UCSC cmpe50 6 A B 0 C D 0 Link costs are the same in both link directions E

Bellman-Ford Algorithm H = 4: 5 A 0 C 4 S 0 E 6 0 5 B D 3 4 No more nodes can be reached and no label can be reduced Spring 003 UCSC cmpe50 7

Looping in DBF 5, B A 0 5,B C Erroneous paths persist as long as they appear to be the shortest paths. 6, A S 0 Similar looping could occur if the cost of the links to j increased drastically (e.g., to 0). DBF cannot be used with link costs that have a large variance! 5 5 B D etc 3, D 4, B Spring 003 UCSC cmpe50 8

Traditional Link-State Algorithm (LSA) Developed as a result of DBF s looping and nontermination problems. Two components: Topology map distribution Local shortest path computation Each router runs a local shortest-path algorithm (Dijkstra s) using the topology stored locally. Flooding is used to replicate the topology map at every router. Each router is responsible for reporting the state of outgoing links to the rest of the network. Two link-state updates per link reach every router. Spring 003 UCSC cmpe50 9

Shortest-Path First (SPF) Algorithm Step : Initialize Set SPF = { root }, where root is router running SPF Distance to root = 0 and distance to other nodes = cost of link or infinity Step : Find next node for SPF set: Find a node x not in SPF set such that: distance to/from root = Min{distance to node outside of SPF set} Augment SPF set with x Stop if SPF set contains all nodes Step 3: Change minimum distance: For each node y outside SPF set do: dist. to y = Min{ dist. to y, dist. to z in SPF + cost of (z, y) } Repeat Step Spring 003 UCSC cmpe50 0

SPF Example SPF ={S} A 0 C S 0 E 0 5 B D Spring 003 UCSC cmpe50

SPF Example SPF ={S} A 0 C S 0 E 0 5 B 5 D Spring 003 UCSC cmpe50

SPF Example SPF ={S, A} A 0 C S 0 E 0 5 B D 3 Spring 003 UCSC cmpe50 3

SPF Example SPF ={S, A, B} 5 0 A C S 0 E 0 5 B D 3 4 Spring 003 UCSC cmpe50 4

SPF Example SPF ={S, A, B, D} Labels do not change as we continue to expand SPF set A 0 5 C SPF ={S, A, B, D, C} SPF ={S, A, B, D, C, E} Stop after covering E since all nodes are covered by SPF set. 0 S 5 B D 0 E 6 3 4 Note that iteration is on the next node that can be covered with the next shortest path; hence complete topology must be known by router. Spring 003 UCSC cmpe50 5

Flooding of Link States Information Stored at Routers: Each router maintains all the nodes and all the links in the network in a topology graph. Each link in the graph has a cost, a sequence number, and an age. Spring 003 UCSC cmpe50 6

Flooding of Link States Information Exchanged: Each router is responsible for communicating the latest state of each adjacent outgoing link. The router sends a link state update (LSU) to report changes on an adjacent outgoing link. A sequence number is used to identify the latest LSU. An LSU also specified the age of the LSU, and the age of an LSU is decremented each time it is forwarded and while it is in storage. We assume that LSUs are exchanged reliably between any two routers and that a router knows who its neighbors are! Spring 003 UCSC cmpe50 7

Flooding of LSUs Flooding Mechanism consists of three rules: Rule : Deleting old LSUs Discard old LSUs locally: A router discards an LSU in its topology graph when it reaches a maximum age. Refresh own LSUs: A router transmits periodically an LSU for each of its outgoing links, and assigns a 0 age and the highest sequence number to the LSU. (Allows recycling of sequence numbers). Hands off sequence numbers of LSUs: The router originating an LSU is the only one that can change the sequence number of the LSU. Spring 003 UCSC cmpe50 8

Flooding of LSUs Rule : Propagating LSUs Forward valid LSUs: A router that receives a more recent LSU with a valid age from a given neighbor propagates it to all its other neighbors. Correct neighbor that reported old data: A router that receives an outdated LSU from a neighbor discards the LSU received and sends its more recent LSU to the neighbor. Propagate resets A router that receives a more recent LSU with a zero age propagates the LSU to all its other neighbors if the link is in its topology graph and deletes the link from its topology graph; else, it ignores the LSU. Spring 003 UCSC cmpe50 9

Flooding of LSUs Rule 3: Handling Topology Changes Make sure that neighbors have the same topology map: A router that detects a new neighbor sends its topology graph to that neighbor. Cope with partitions and reboots: A router that hears a more recent LSU from a neighbor for one of its outgoing links creates a new LSU with a higher sequence number and sends it to all its neighbors. Spring 003 UCSC cmpe50 0

Examples of LSA New routing algorithm of ARPANET OSPF (open shortest path first) IS-IS (intermediate system to intermediate system) The limitation with LSA is that it incurs substantial communication and processing overhead (to flood link states and compute shortest paths after that). Spring 003 UCSC cmpe50

Correctness of LSA The fact that LSA works correctly is intuitive. The correctness of LSA is easily shown by induction on the number of hops away from the origin of an LSU. Process: Assume that local shortest-path algorithm is correct; assume that neighbors exchange LSUs reliably without deadlocks; assume that topology remains static after an arbitrary sequence of changes. Argue that each LSU propagates independently of others; focus on one LSU and show that it propagates to the farthest node in the network. Show that nodes that fail and come back up, or components that reconnect, eliminate old LSUs by means of Rule 3. Spring 003 UCSC cmpe50

Termination Detection over Trees Motivation: DBF is simple but performs poorly when distances increase, and LSA incurs substantial overhead. Basic idea: Force a router that must change its successor to a destination to apply a dynamic hold-down time that lasts as long as it takes for the router to know that its action will not create any loops, and no longer. Mechanism: A query-response scheme. A router queries the other routers over a tree defined dynamically and receives feedback over the same tree. Spring 003 UCSC cmpe50 3

The DAG of a Destination To ensure loop freedom at every instant, changes in successors must preserve the DAG! 5, B A 0, j C 6, A S 0 j 0, j 5 B D 3, D, j Spring 003 UCSC cmpe50 4

Diffusing Update Algorithm (DUAL) Used in Cisco s EIGRP. Paper on DUAL by Albrightson et al. available on web page (with lecture notes). DUAL provides loop-free paths at every instant in arbitrary topologies, and uses update messages with the same information used in DBF. Spring 003 UCSC cmpe50 5

Termination Detection over Cycles Consider the DBF algorithm extended as follows: A node reports its distance and path to each destination. The path to a destination is specified in terms of the nodes traversed in the path. A node cannot choose as next hop to a destination any neighbor that has reported the node in its path to the destination. This is the basis for BGP s operation. Spring 003 UCSC cmpe50 6

Spring 003 UCSC cmpe50 7