Routing Algorithm Classification. A Link-State Routing Algorithm

Similar documents
Chapter 4: Network Layer

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

Network Layer: Routing

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

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

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

Computer Networks. Instructor: Niklas Carlsson

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

Initial motivation: 32-bit address space soon to be completely allocated. Additional motivation:

CS 3516: Advanced Computer Networks

Chapter 4: Network Layer: Part II

Network Layer: Control Plane 5-2

Chapter IV: Network Layer

CS 3516: Advanced Computer Networks

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

CSC 4900 Computer Networks: Routing Algorithms

DATA COMMUNICATOIN NETWORKING

Chapter 4: Network Layer

Interplay tra routing e forwarding

Chapter 4 Network Layer. Network Layer 4-1

EE 122: Intra-domain routing

Announcements. CS 5565 Network Architecture and Protocols. Count-To-Infinity. Poisoned Reverse. Distance Vector: Link Cost Changes.

Network layer: Overview. Network layer functions Routing IP Forwarding

Chapter 4: Network Layer, partb

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

11/13/2017 Network Layer (SSL) Network-layer functions. Recall the two network-layer functions:

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Chapter 4: Network Layer

Initialization: Loop until all nodes in N

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

Chapter 4 Network Layer

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

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

COMP/ELEC 429/556 Introduction to Computer Networks

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

Chapter 5: Network Layer Control Plane. understand principles behind network control plane : traditional routing algorithms

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

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

CSCE 463/612 Networks and Distributed Processing Spring 2018

CSC 401 Data and Computer Communications Networks

4.5.2 The Distance-Vector (DV) Routing Algorithm

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

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

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

Chapter 4 Network Layer

Chapter 4: Network Layer

Chapter 4: Network Layer. Chapter 4 Network Layer. Chapter 4: Network Layer. Network Layer. Chapter goals:

COMP 3331/9331: Computer Networks and Applications

Chapter 5 Network Layer: The Control Plane

Network layer: Overview. Network layer functions Routing IP Forwarding

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

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

Routing Algorithms : Fundamentals of Computer Networks Bill Nace

Dynamic Routing. The Protocols

Protocoles et Interconnexions

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

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

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

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

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

CSC 8560 Computer Networks: Control Plane

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

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

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

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

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

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)

CSc 450/550 Computer Networks Internet Routing

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

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

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

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

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

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

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

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

Redes de Computadores. Shortest Paths in Networks

CEN445 Network Protocols and Algorithms. Chapter 2. Routing Algorithms. Dr. Ridha Ouni

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

Chapter 4 Network Layer

Chapter IV: Network Layer

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

Network layer. Two Key Network-Layer Functions. Datagram Forwarding table. IP datagram format. IP Addressing: introduction

UNIT III THE NETWORK LAYER

Assignments. Computer Networks LECTURE 7 Network Layer: Routing and Addressing. Network Layer Function. Internet Architecture

Lecture 4. The Network Layer (cont d)

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

Third Generation Routers

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

Routing Unicast routing protocols

Routing. Jens A Andersson Communication Systems

CS118 Discussion Week 7. Taqi

Master Course Computer Networks IN2097

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

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

Network layer functions. Chapter 4 Network Layer. Network layer functions. Network layer functions

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

Transcription:

Routing Algorithm lassification Global or decentralied information? Global: All routers have complete topolog, link cost info Link state algorithms Decentralied: Router knows phsicallconnected neighbors, link costs to neighbors Iterative process of computation, echange of info with neighbors Distance vector algorithms Static or dnamic? Static: Routes change slowl over time Dnamic: Routes change more quickl Periodic update In response to link cost changes A Link-State Routing Algorithm Net topolog, link costs known to all nodes Accomplished via link state broadcast All nodes have same info omputes least cost paths one node ( source ) to all other nodes Gives routing table for that node Eample: Dijkstra s algorithm Iterative: after k iterations, know least cost path to k dest. s Notation: Dijkstra s algorithm c(i,j): link cost node i to j. cost infinite if not direct neighbors D(v): current value of cost of path source to dest. v p(v): predecessor node along path source to v N : set of nodes whose least cost path definitivel known

Dijsktra s Algorithm Initialiation for A: N = {A} for all nodes v if v adjacent to A 5 then D(v) = c(a,v) 6 else D(v) = 7 Dijsktra s Algorithm (.) 8 Loop 9 find w not in N such that D(w) is a minimum 0 add w to N update D(v) for all v adjacent to w and not in N : D(v) = min( D(v), D(w) + c(w,v) ) /* new v is either old v or known shortest path w plus cost w to v */ 5 until all nodes in N

Dijkstra s Algorithm: Eample Step 0 5 start N A AD ADE ADEB ADEB ADEBF D(B),p(B),A,A,A D(),p() 5,A,D,E,E D(D),p(D),A D(E),p(E) infinit,d D(F),p(F) infinit infinit,e,e,e 5 A B D E 5 F 6 Dijkstra s Algorithm: Eample () Resulting shortest-path tree A: B A F D E Resulting forwarding table at A: destination B D E F link (A,B) (A,D) (A,D) (A,D) (A,D) 7

Dijkstra s Algorithm, Discussion Algorithm compleit: n nodes Each iteration: need to check all nodes, w, not in N n*(n+)/ comparisons: O(n ) More efficient implementations possible: O(n logn) Oscillations possible: E.g., link cost = amount of carried traffic A +e D 0 0 B 0 e e initiall A +e 0 D B 0 +e 0 recompute routing 0 A +e D 0 0 B +e recompute +e A 0 D B 0 +e e recompute 8 A Distance Vector Routing Algorithm Decentralied algorithm: Router knows its neighbors and link costs to neighbors Iterative computation, echange of info with neighbors Bellman-Ford Equation (dnamic programming) Define d () := cost of least-cost path to Then d () = min {c(,v) + d v ()} v where min is taken over all neighbors v of 9

Bellman-Ford Eample u 5 v w 5 learl, d v () = 5, d () =, d w () = Bellman-Ford equation sas: d u () = min { c(u,v) + d v (), c(u,) + d (), c(u,w) + d w () } = min { + 5, +, 5 + } = Node that ields minimum is net hop in shortest path forwarding table 0 Distance Vector Algorithm Iterative, asnchronous: Each local iteration caused b: Local link cost change DV update message neighbor Distributed: Each node notifies neighbors onl when its Distance Vector changes Neighbors then notif their neighbors if necessar Each node: wait for (change in local link cost of msg neighbor) recompute estimates if Distance Vector to an dest has changed, notif neighbors 5

Distance Vector Algorithm (.) D () = estimate of least cost to Distance vector: D = [D (): є N ] Node knows each neighbor v: c(,v) Node maintains D = [D (): є N ] Node also maintains its neighbors distance vectors For each neighbor v, maintains D v = [D v (): є N ] Distance Vector Algorithm (.) Basic idea: Each node periodicall sends its own distance vector estimate to neighbors When a node receives new DV estimate neighbor, it updates its own DV using B-F equation: D () min v {c(,v) + D v ()} for each node N Under natural conditions the estimates of D () converge to the actual least cost d () 6

node table 0 7 node table 0 node table 7 0 D () = min{c(,) + D (), c(,) + D ()} = min{+0, 7+} = 0 0 7 0 0 7 0 7 0 0 7 0 0 0 0 0 0 0 0 0 0 0 time D () = min{c(,) + D (), c(,) + D ()} = min{+, 7+0} = 7 Distance Vector Algorithm: At each node, : Initialiation: for all destinations in N: D () = if is not a neighbor D () = c(,) if is a neighbor 5 for each neighbor w 6 D w () = for all destinations in N 7 for each neighbor w 8 send distance vector D = [D (): in N] to w 5 7

Distance Vector Algorithm (cont.): 9 loop 0 wait (until I see a link cost change to neighbor w or until I receive update neighbor w) for each in N: D () = min v {c(, v) + D v ()} 5 6 if D () changed for an destination 7 send DV D = [D ()]: in N] to all neighbors 8 9 forever 6 Distance Vector Algorithm (Summar) Iterative, asnchronous: Each local iteration caused b: Local link cost change DV update message neighbor Distributed: Each node notifies neighbors onl when its Distance Vector changes Neighbors then notif their neighbors if necessar Each node: wait for (change in local link cost of msg neighbor) recompute estimates if Distance Vector to an dest has changed, notif neighbors 7 8

Distance Vector (DV): Link ost hanges Link cost changes: Node detects local link cost change Updates routing info, recalculates distance vector If DV changes, notif neighbors 50 good news travels fast At time t 0, detects link-cost change, updates its DV, and informs its neighbors. At time t, receives update and updates its table, computes a new least and sends its neighbors its DV At time t, receives s update and updates its distance table. As s least costs do not change does not send updates to. 8 50 node table 0 5 0 0 5 0 0 0 node table 0 5 0 0 5 0 0 0 time 9 9

Distance Vector: Link ost hanges Link cost changes: Good news travels fast Bad news travels slow 60 50 0 60 50 D () = min{c(,) + D (), c(,) + D ()} = min{60 + 0, + 5} = 6 D () = min{c(,) + D (), c(,) + D ()} = min{60 + 0, + 7} = 8 node table 6 0 5 0 6 0 5 0 68 0 7 0 node table 0 5 0 6 0 5 7 0 6 0 7 0 time 0

Distance Vector: Link ost hanges Link cost changes: Good news travels fast Bad news travels slow count to infinit problem! E.g., iterations before algorithm stabilies Poisoned reverse: If Z routes through Y to get to X: Z tells Y its (Z s) distance to X is infinite (so Y won t route to X via Z) Will this completel solve count to infinit problem? 60 50 omparison of LS and DV Algorithms Message compleit LS: with n nodes, E links, O(nE) msgs sent each DV: echange between neighbors onl onvergence time varies Speed of onvergence LS: O(n log n) algorithm requires O(nE) msgs Ma have oscillations DV: convergence time varies Ma be routing loops ount-to-infinit problem Robustness: What happens if router malfunctions? LS: Node can advertise incorrect link cost Each node computes onl its own table DV: DV node can advertise incorrect path cost Each node s table used b others Error propagate thru network

Hierarchical Routing Our routing stud thus far idealiation All routers identical Network flat not true in practice Scale: With 00 million destinations: an t store all dest s in routing tables! Routing table echange would swamp links! Administrative autonom Internet = network of networks Each network admin ma want to control routing in its own network Hierarchical Routing Aggregate routers into regions, autonomous sstems (AS) Routers in same AS run same routing protocol Inter-AS routing protocol Routers in different AS can run different inter- AS routing protocol Gatewa router Direct link to router in another AS 5

Interconnected ASes c a b AS a c d b Intra-AS Routing algorithm AS Forwarding table Inter-AS Routing algorithm a c b AS Forwarding table is configured b both intra- and inter-as routing algorithm Intra-AS sets entries for internal dests Inter-AS & Intra-As sets entries for eternal dests 6