EE 122: Intra-domain routing

Similar documents
Initialization: Loop until all nodes in N

What is Routing? EE 122: Shortest Path Routing. Example. Internet Routing. Ion Stoica TAs: Junda Liu, DK Moon, David Zats

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

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

Chapter 4: Network Layer

Chapter 4: Network Layer

COMP/ELEC 429/556 Introduction to Computer Networks

Routing. 9: Intro to Routing Algorithms. Routing. Roadmap. Routing Algorithm classification: Static or Dynamic?

Network service model. Network service model. Network Layer (part 1) Virtual circuits. By the end of this lecture, you should be able to.

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

COMP 3331/9331: Computer Networks and Applications

Routing Algorithm Classification. A Link-State Routing Algorithm

Chapter 4: Network Layer

Chapter 4: Network Layer, partb

DATA COMMUNICATOIN NETWORKING

ECE 158A: Lecture 5. Fall 2015

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

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

CSC 4900 Computer Networks: Routing Algorithms

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

Chapter 4 Network Layer. Network Layer 4-1

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

WAN Technology and Routing

Interplay between routing, forwarding

Network Layer: Routing

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

CSC 401 Data and Computer Communications Networks

CS 457 Networking and the Internet. Shortest-Path Problem. Dijkstra s Shortest-Path Algorithm 9/29/16. Fall 2016

IP Forwarding Computer Networking. Routes from Node A. Graph Model. Lecture 10: Intra-Domain Routing

Agenda. distance-vector (what you invented last Friday) hierarchical routing routing in the Internet. v DNS assignment Q&A v Routing Algorithms

Chapter 4 Network Layer

More on Network Routing and Internet Protocol

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

Network layer: Overview. Network layer functions Routing IP Forwarding

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

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

IP Forwarding Computer Networking. Graph Model. Routes from Node A. Lecture 11: Intra-Domain Routing

CSCD 330 Network Programming Spring 2018

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

Network Layer: Routing. Routing. Routing protocol. Graph abstraction for routing algorithms: graph nodes are routers graph edges are physical links

CSCD 330 Network Programming Spring 2017

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

Chapter 5 Network Layer: The Control Plane

Computer Networks. Instructor: Niklas Carlsson

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

Let s focus on clarifying questions. More Routing. Logic Refresher. Warning. Short Summary of Course. 10 Years from Now.

CSc 450/550 Computer Networks Internet Routing

Distance-Vector Routing: Distributed B-F (cont.)

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

Lecture 4. The Network Layer (cont d)

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

Foundations of Telematics

Third Generation Routers

Routers & Routing : Computer Networking. Binary Search on Ranges. Speeding up Prefix Match - Alternatives

WANs and Long Distance Connectivity. Introduction

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

Network layer: Overview. Network layer functions Routing IP Forwarding

Network layer functions

CSC 8560 Computer Networks: Control Plane

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

Routing Unicast routing protocols

Routing. Jens A Andersson Communication Systems

Chapter 4: Network Layer: Part II

Chapter 4: Network Layer

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

Computer Networking Introduction

TCP/IP Networking. Part 3: Forwarding and Routing

06/02/ Local & Metropolitan Area Networks. Overview. Routing algorithm ACOE322. Lecture 6 Routing

Chapter 4: Network Layer. Lecture 12 Internet Routing Protocols. Chapter goals: understand principles behind network layer services:

Dynamic Routing. The Protocols

Network Layer: Control Plane 5-2

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

Missing Pieces of the Puzzle

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

What s a protocol? CE80N Introduction to Networks & The Internet. Communication Protocol. Protocol Layers. Dr. Chane L. Fullmer UCSC Winter 2002

Chapter 4: outline. Network Layer 4-1

ÉCOLE POLYTECHNIQUE FÉDÉRALE DE LAUSANNE! 1. Link state flooding topology information finding the shortest paths (Dijkstra)

DATA COMMUNICATOIN NETWORKING

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

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

Internet Architecture. Network Layer Overview. Fundamental Network Layer Function. Protocol Layering and Data. Computer Networks 9/23/2009

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

Chapter IV: Network Layer

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

Redes de Computadores. Shortest Paths in Networks

COM-208: Computer Networks - Homework 6

Network Layer: Routing

Why dynamic route? (1)

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

Hierarchical Routing. Our routing study thus far - idealization all routers identical network flat not true in practice

CS118 Discussion Week 7. Taqi

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

ETSF05/ETSF10 Internet Protocols Routing on the Internet

CS 3516: Advanced Computer Networks

CS 43: Computer Networks Internet Routing. Kevin Webb Swarthmore College November 14, 2013

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

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

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

Chapter 4 Network Layer

Transcription:

EE : Intra-domain routing Ion Stoica September 0, 00 (* this presentation is based on the on-line slides of J. Kurose & K. Rose)

Internet Routing Internet organized as a two level hierarchy First level autonomous systems (S s) - S region of network under a single administrative domain S s run an intra-domain routing protocols - istance Vector, e.g., RIP - Link State, e.g., OSPF Between S s runs inter-domain routing protocols, e.g., Border Gateway Routing (BGP) - e facto standard today, BGP-4 istoica@cs.berkeley.edu

Example Interior router BGP router S- S- S- istoica@cs.berkeley.edu

Intra-domain Routing Protocols Based on unreliable datagram delivery istance vector - Routing Information Protocol (RIP), based on Bellman-Ford - Each neighbor periodically exchange reachability information to its neighbors - Minimal communication overhead, but it takes long to converge, i.e., in proportion to the maximum path length Link state - Open Shortest Path First Protocol (OSPF), based on ijkstra - Each network periodically floods immediate reachability information to other routers - Fast convergence, but high communication and computation overhead istoica@cs.berkeley.edu 4

Routing Goal: determine a good path through the network from source to destination - Good means usually the shortest path Network modeled as a graph - Routers nodes - Link edges Edge cost: delay, congestion level, B E F istoica@cs.berkeley.edu

Link State Routing lgorithm ijkstra s algorithm Net topology, link costs known to all nodes - ccomplished via link state broadcast - ll nodes have same info ompute least cost paths from one node ( source ) to all other nodes Iterative: after k iterations, know least cost path to k closest destinations Notations c(i,j): link cost from node i to j; cost infinite if not direct neighbors (v): current value of cost of path from source to destination v p(v): predecessor node along path from source to v, that is next to v S: set of nodes whose least cost path definitively known istoica@cs.berkeley.edu 6

ijsktra s lgorithm Initialization: S = {}; for all nodes v 4 if v adjacent to then (v) = c(,v); 6 else (v) = ; 7 8 Loop 9 find w not in S such that (w) is a minimum; 0 add w to S; update (v) for all v adjacent to w and not in S: (v) = min( (v), (w) + c(w,v) ); // new cost to v is either old cost to v or known 4 // shortest path cost to w plus cost from w to v until all nodes in S; istoica@cs.berkeley.edu 7

Example: ijkstra s lgorithm Step 0 4 start S (B),p(B), (),p(), (),p(), (E),p(E) (F),p(F) B E F istoica@cs.berkeley.edu 8

Example: ijkstra s lgorithm Step 0 4 start S (B),p(B), (),p(), 4, (),p(), (E),p(E), (F),p(F) B E F istoica@cs.berkeley.edu 9

Example: ijkstra s lgorithm Step 0 4 start S E (B),p(B), (),p(), 4,,E (),p(), (E),p(E), (F),p(F) 4,E B E F istoica@cs.berkeley.edu 0

Example: ijkstra s lgorithm Step 0 4 start S E EB (B),p(B), (),p(), 4,,E (),p(), (E),p(E), (F),p(F) 4,E B E F istoica@cs.berkeley.edu

Example: ijkstra s lgorithm Step 0 4 start S E EB EB (B),p(B), (),p(), 4,,E (),p(), (E),p(E), (F),p(F) 4,E B E F istoica@cs.berkeley.edu

Example: ijkstra s lgorithm Step 0 4 start S E EB EB EBF (B),p(B), (),p(), 4,,E (),p(), (E),p(E), (F),p(F) 4,E B E F istoica@cs.berkeley.edu

ijkstra s lgorithm: iscussion lgorithm complexity: n nodes - Each iteration: need to check all nodes, w, not in S - n*(n+)/ comparisons: O(n**) - More efficient implementations possible: O(n*log(n)) Oscillation possible - E.g., link cost = amount of carried traffic +e 0 0 B 0 e e initially +e 0 +e B 0 0 recompute routing 0 +e B 0 0 +e recompute +e 0 B 0 +e e recompute istoica@cs.berkeley.edu 4

istance Vector Routing lgorithm Iterative: continues until no nodes exchange info synchronous: nodes need not exchange info/iterate in lock step! istributed: each node communicates only with directlyattached neighbors Routing (distance) table data structure each router maintains - Row for each possible destination - olumn for each directly-attached neighbor to node - Entry in row Y and column Z of node distance from to Y, via Z as next hop Z ( Y, Z) = c(, Z) + min { ( Z, w)} w istoica@cs.berkeley.edu

Example: istance (Routing) Table 6 E (,) E (,) E (,B) B E 8 = c(e,) + min { (,w)} w = + = 4 = c(e,) + min { (,w)} w = + = B = c(e,b) + min { (,w)} w = 8+6 = 4 loop! loop! destination E () istoica@cs.berkeley.edu 6 B cost to destination via 7 6 4 B 4 8 9 4

Routing Table Forwarding Table E () cost to destination via B Outgoing link to use, cost 4, destination B 7 6 8 9 4 destination B,,4 4, istance (routing) table Forwarding table istoica@cs.berkeley.edu 7

istance Vector Routing: Overview Each local iteration caused by: - Local link cost change - Message from neighbor: its least cost path change from neighbor Each node notifies neighbors only when its least cost path to any destination changes - Neighbors then notify their neighbors if necessary Each node: wait for (change in local link cost of msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors istoica@cs.berkeley.edu 8

istance Vector lgorithm t all nodes, : Initialization: for all adjacent nodes v: (*,v) = /* the * operator means "for all rows" */ 4 (v,v) = c(,v) for all destinations, y 6 send min (y,w) to each neighbor /* w over all 's neighbors */ w istoica@cs.berkeley.edu 9

istance Vector lgorithm (cont d) 8 loop 9 wait (until I see a link cost change to neighbor V 0 or until I receive update from neighbor V) if (c(,v) changes by d) /* change cost to all dest's via neighbor v by d */ 4 /* note: d could be positive or negative */ for all destinations y: (y,v) = (y,v) + d 6 7 else if (update received from V wrt destination Y) 8 /* shortest path from V to some Y has changed */ 9 /* V has sent a new value for its min V w (Y,w) */ 0 /* call this received new value is "newval" */ for the single destination y: (Y,V) = c(,v) + newval if we have a new min w (Y,w) for any destination Y 4 send new value of min w (Y,w) to all neighbors 6 forever istoica@cs.berkeley.edu 0

Example: istance Vector lgorithm Y 7 Z istoica@cs.berkeley.edu

Example: istance Vector lgorithm Y 7 Z (Y,Z) Z = c(,z) + min { (Y,w)} w = 7+ = 8 (Z,Y) Y = c(,y) + min { (Z,w)} w = + = istoica@cs.berkeley.edu

Example: istance Vector lgorithm Y 7 Z istoica@cs.berkeley.edu

Example: istance Vector lgorithm Y 7 Z istoica@cs.berkeley.edu 4

istance Vector: Link ost hanges Link cost changes: - Node detects local link cost change - Updates distance table (line ) - If cost change in least cost path, notify neighbors (lines,4) 4 Y 0 Z good news travels fast algorithm terminates istoica@cs.berkeley.edu

istance Vector: Link ost hanges Link cost changes - Good news travels fast - Bad news travels slow - count to infinity problem! 60 4 Y 0 Z algorithm continues on! istoica@cs.berkeley.edu 6

istance Vector: Poisoned Reverse If Z routes through Y to get to : - Z tells Y its (Z s) distance to is infinite (so Y won t route to via Z) - Will this completely solve count to infinity problem? 60 4 Y 0 Z algorithm terminates istoica@cs.berkeley.edu 7

Link State vs. istance Vector Per node message complexity LS: O(n*e) messages; n number of nodes; e number of edges V: O(d) messages; where d is node s degree omplexity LS: O(n**) with O(n*e) messages V: convergence time varies - may be routing loops - count-to-infinity problem Robustness: what happens if router malfunctions? LS: - node can advertise incorrect link cost - each node computes only its own table V: - V node can advertise incorrect path cost - each node s table used by others; error propagate through network istoica@cs.berkeley.edu 8