Routing Algorithms. Daniel Zappala. CS 460 Computer Networking Brigham Young University

Similar documents
CSC 4900 Computer Networks: Routing Algorithms

CSC 401 Data and Computer Communications Networks

Network layer. Network Layer 4-1. application transport network data link physical. network data link physical. network data link physical

CSCD 330 Network Programming Spring 2018

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

CSCD 330 Network Programming Spring 2017

Chapter 4: Network Layer, partb

Chapter 4: Network Layer

Announcement. Project 2 extended to 2/20 midnight Project 3 available this weekend Homework 3 available today, will put it online

Interplay between routing, forwarding

Chapter 4: outline. 4.5 routing algorithms link state distance vector hierarchical routing. 4.6 routing in the Internet RIP OSPF BGP

Intra-domain Routing

Lecture 9. Network Layer (cont d) Network Layer 1-1

Internet rou)ng. V. Arun CS491G: Computer Networking Lab University of MassachuseFs Amherst

Chapter 4 Network Layer. Network Layer 4-1

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 13

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

Chapter 5 Network Layer: The Control Plane

Lecture 4. The Network Layer (cont d)

EE 122: Intra-domain routing

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

Routing Algorithm Classification. A Link-State Routing Algorithm

CS 457 Networking and the Internet. What is Routing. Forwarding versus Routing 9/27/16. Fall 2016 Indrajit Ray. A famous quotation from RFC 791

Chapter 4 Network Layer

CS 3516: Advanced Computer Networks

COM-208: Computer Networks - Homework 6

Routing Algorithms. 1 Administrivia. Tom Kelliher, CS 325. Apr. 25, Announcements. Assignment. Read 4.6. From Last Time. IP protocol.

CSCE 463/612 Networks and Distributed Processing Spring 2017

DATA COMMUNICATOIN NETWORKING

Computer Networking. Rou1ng Algorithms. Rou1ng Algorithms. Interplay between rou1ng, forwarding. routing algorithm

Chapter 4: Network Layer

Review: Routing in Packet Networks Shortest Path Algorithms: Dijkstra s & Bellman-Ford. Routing: Issues

CSCE 463/612 Networks and Distributed Processing Spring 2018

Chapter 4 Network Layer

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

CSC 8560 Computer Networks: Control Plane

Network Layer: Routing

cs/ee 143 Communication Networks

CS 3516: Advanced Computer Networks

CS 421: COMPUTER NETWORKS SPRING FINAL May 21, minutes

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

Computer Networks. Routing Algorithms

Routing Algorithms. CS158a Chris Pollett Apr 4, 2007.

CS321: Computer Networks Unicast Routing

Dynamic Routing. The Protocols

Routing Outline. EECS 122, Lecture 15

Routing in a network

EC441 Fall 2018 Introduction to Computer Networking Chapter 5: Network Layer Control Plane

Homework 3 Discussion

Intra-AS Routing. Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley.

Computer Networks. Wenzhong Li. Nanjing University

Chapter 4: Network Layer

6.02 Fall 2014! Lecture #21. Failures in routing Routing loops Counting to infinity

Redes de Computadores. Shortest Paths in Networks

Module 8. Routing. Version 2 ECE, IIT Kharagpur

Initialization: Loop until all nodes in N

Internet Technology. 08. Routing. Paul Krzyzanowski. Rutgers University. Spring CS Paul Krzyzanowski

ECE 333: Introduction to Communication Networks Fall 2001

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

COMP/ELEC 429/556 Introduction to Computer Networks

Lecture 5 The Network Layer part II. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Computer Networks. Instructor: Niklas Carlsson

ICS 351: Today's plan. netmask exercises network and subnetwork design dynamic routing RIP distance-vector routing

Last time. Transitioning to IPv6. Routing. Tunneling. Gateways. Graph abstraction. Link-state routing. Distance-vector routing. Dijkstra's Algorithm

Interplay tra routing e forwarding

CS118 Discussion Week 7. Taqi

5.1 introduction 5.5 The SDN control 5.2 routing protocols plane. Control Message 5.3 intra-as routing in Protocol the Internet

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

ETSF05/ETSF10 Internet Protocols Routing on the Internet

CS118 Discussion 1A, Week 6. Zengwen Yuan Dodd Hall 78, Friday 10:00 10:50 a.m.

Missing Pieces of the Puzzle

Routing in the Internet

Introduction to Intra-Domain Routing

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

C13b: Routing Problem and Algorithms

CSEP 561 Routing. David Wetherall

Graph abstraction: costs. Graph abstraction 10/26/2018. Interplay between routing and forwarding

CS118 Discussion 1A, Week 7. Zengwen Yuan Dodd Hall 78, Friday 10:00 11:50 a.m.

Network layer: Overview. Network layer functions Routing IP Forwarding

Data Communications & Networks. Session 7 Main Theme Networks: Part II Circuit Switching, Packet Switching, The Network Layer

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

CS 43: Computer Networks. 23: Routing Algorithms November 14, 2018

CS644 Advanced Networks

Chapter 4: Network Layer: Part II

COMP 631: NETWORKED & DISTRIBUTED SYSTEMS 9/6/16 COMP 631: NETWORKED & DISTRIBUTED SYSTEMS. Internet Routing. Jasleen Kaur.

Course on Computer Communication and Networks. Lecture 7 Network Layer, Chapter 4 (6/e) - Part B (7/e Ch5)

CMPE 150/L : Introduction to Computer Networks. Chen Qian Computer Engineering UCSC Baskin Engineering Lecture 14

Shortest Paths Algorithms and the Internet: The Distributed Bellman Ford Lecturer: Prof. Chiara Petrioli

Chapter IV: Network Layer

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

CS 421: Computer Networks SPRING MIDTERM II May 5, minutes

CSCI4211: Introduction to Computer Networks Fall 2017 Homework Assignment 2

Lecture 4 The Network Layer. Antonio Cianfrani DIET Department Networking Group netlab.uniroma1.it

Network Routing. Packet Routing, Routing Algorithms, Routers, Router Architecture

How Routing Algorithms Work

CIS 632 / EEC 687 Mobile Computing

Chapter 5 Network Layer: The Control Plane

(Refer Slide Time: 01:08 to 01:25min)

Routing in packet-switching networks

Chapter 12. Routing and Routing Protocols 12-1

Transcription:

Routing Algorithms Daniel Zappala CS 460 Computer Networking Brigham Young University

Routing 2/20 How does the Internet determine which path to use from the source to the destination? Challenges need to handle hundreds of thousands of routes need to handle changes anywhere in the network stability is crucial

Packet Forwarding versus Routing 3/20

4/20 Background Link-State Routing Distance-Vector Routing Load-Based Routing Graph Abstraction graph G = (V, E) nodes/vertices V = u, v, w, x, y, z links/edges E = (u, v), (u, x), (v, x), (v, w), (x, w), (x, y), (w, y), (w, z), (y, z) useful for virtual networks as well, e.g. to model a peer-to-peer network of TCP connections

Edge Weights or Costs 5/20 edges can have weights/costs c(w, z) = 5 costs may be all 1 cost of a path is the sum of the cost of all edges in the path routing algorithm finds the least-cost path

Types of Routing Algorithms 6/20 link-state algorithm routers advertise their links to every other router eventually, all routers know complete topology and link costs distance-vector algorithm routers start knowing path to immediate neighbors routers advertise all known destinations and path lengths to neighbors eventually, all routers know which neighbor has shortest path to all destinations

Link-State Routing

Link-State Basics 8/20 can use Dijkstra s algorithm to compute least cost paths from one source to all other nodes notation c(x, y): link cost from node x to y, if no link between x and y D(v): current cost of path from source to destination v F : set of nodes whose least cost path definitively known

Dijsktra s Algorithm 9/20 1 F = [u] 2 for v in N: 3 i f v adjacent to u: 4 D(v) = c(u, v) 5 else : 6 D(v) = i n f i n i t y 7 while N!= F: 8 find w not in F such that D(w) i s a minimum 9 F. append(w) 10 update D(v) for a l l v adjacent to w and not in F: 11 D(v) = min(d(v),d(w) + c(w, v))

Example: Routing Table for U 10/20 h(v): next hop on shortest path toward v Step F D(v),h(v) D(w),h(w) D(x),h(x) D(y),h(y) D(z),h(z) 0 u 2,u 5,u 1,u 1 ux 2,u 4,x 2,x 2 uxy 2,u 3,y 4,y 3 uxyv 3,y 4,y 4 uxyvw 4,y 5 uxyvwz

Algorithm Complexity 11/20 each iteration needs to check all nodes w not in F N(N + 1)/2 comparisons O(N 2 ) more efficient implementations possible: O(NlogN)

Distance-Vector Routing

13/20 Background Link-State Routing Distance-Vector Routing Load-Based Routing Bellman-Ford distributed algorithm d x (y): coast of least-cost path from x to y d x (y) = min(c(x, v) + d v (y)) min is taken over all neighbors of x example d v (z) = 5, d x (z) = 3, d w (z) = 3 d u (z) = min(c(u, v) + d v (z), c(u, x) + d x (z), c(u, w) + d w (z)) d u (z) = min(2 + 5, 1 + 3, 5 + 3) = 4 node with minimum cost to destination is chosen as next hop

Bellman-Ford 14/20 start with known costs o neighbors calculate best estimate of d x (y) distance vector D x = {D x (y) : y N} send distance vector to neighbors whenever it changes update D x using Bellman-Ford rule whenever local link cost change or neighbor s vector results in a new minimum distributed, asynchronous algorithm

Example 15/20

Reduction in Link Cost 16/20 good news travels fast at t 1, y detects cost change, updates DV, informs neighbors at t 2, z receives update from y, updates its DV, informs neighbors at t 3, y receives z s update, DV does not change, process finishes

Increase in Link Cost 17/20 bad news travels slow at t 0, d y (x) = 4, d z (x) = 5 at t 1, y detects link change, sets d y (x) = c(y, z) + d z (x) = 6, sends DV to z at t 2, z gets DV, updates d z (x) = c(z, y) + d y (x) = 7 loop continues until d y (x) = 60 count to infinity problem

Solutions To Count To Infinity 18/20 poisoned reverse if z s best path is through y, z tells y that d z (x) is infinite prevents y from routing to x via z doesn t solve all looping problems path vector routing include a path with each route, not just the next hop eliminates all count-to-infinity problems optimization: include only the next-to-last hop

Load-Based Routing

Load-Based Routing 20/20 Difficult to have stable routes when link costs reflect congestion e.g. cost = number of traffic flows