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

Similar documents
More Routing. EE122 Fall 2012 Scott Shenker

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

Missing Pieces of the Puzzle

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

EE 122: Intra-domain routing

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

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

Discussion 8: Link State Routing. CSE 123: Computer Networks Marti Motoyama & Chris Kanich

COMP 3331/9331: Computer Networks and Applications

Link-State Routing OSPF

COMP/ELEC 429/556 Introduction to Computer Networks

Third Generation Routers

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

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

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

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

ECE 158A: Lecture 5. Fall 2015

WAN Technology and Routing

Initialization: Loop until all nodes in N

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

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

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

Link State Rou.ng Reading: Sec.ons 4.2 and 4.3.4

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

4/25/12. The Problem: Distributed Methods for Finding Paths in Networks Spring 2012 Lecture #20. Forwarding. Shortest Path Routing

Advanced Topics in Routing

Lecture 12: Link-state Routing. Lecture 12 Overview. Router Tasks. CSE 123: Computer Networks Chris Kanich. Routing overview

Communication Networks

DSDV: Proactive. Distance Vector (Basic idea) Distance Vector. Distance Vector Algorithm: Tables 12/13/2016

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

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

Redes de Computadores. Shortest Paths in Networks

The Problem: Finding Paths Spring 2011 Lecture #19. Forwarding. Shortest Path Routing

Distributed Algorithms in Networks EECS 122: Lecture 17

Routing in Ad-hoc Networks

Link State Rou.ng Reading: Sec.ons 4.2 and 4.3.4

Routing Algorithm Classification. A Link-State Routing Algorithm

Chapter 4: Network Layer

Chapter 4: Network Layer

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

CSE/EE 461 Lecture 7 Bridging LANs. Last Two Times. This Time -- Switching (a.k.a. Bridging)

CSE/EE 461 Distance Vector Routing

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

Advanced Computer Networks

Destination Sequenced Distance. [Perkins94] CSE 6811 : Lecture 6

Network Layer (Routing)

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

2/16/2008. Outline Computer Networking Lecture 11 Routing. Sending Link States by Flooding. Link State Protocol Concept

Interdomain Routing Reading: Sections K&R EE122: Intro to Communication Networks Fall 2007 (WF 4:00-5:30 in Cory 277)

Interdomain Routing Reading: Sections P&D 4.3.{3,4}

Routing. Effect of Routing in Flow Control. Relevant Graph Terms. Effect of Routing Path on Flow Control. Effect of Routing Path on Flow Control

UNIT 2 ROUTING ALGORITHMS

Deployment of IGRP/EIGRP

Distance Vector Routing

CSCD 330 Network Programming Spring 2018

CSCD 330 Network Programming Spring 2017

Distance vector and RIP

TCP/IP Networking. Part 3: Forwarding and Routing

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

More on Network Routing and Internet Protocol

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

Lecture 4 Wide Area Networks - Routing

Where we are in the Course

Routing Outline. EECS 122, Lecture 15

Question. Reliable Transport: The Prequel. Don t parse my words too carefully. Don t be intimidated. Decisions and Their Principles.

TCOM 501: Networking Theory & Fundamentals. Lecture 11 April 16, 2003 Prof. Yannis A. Korilis

Routing in a network

ECE 435 Network Engineering Lecture 11

ETSF05/ETSF10 Internet Protocols. Routing on the Internet

Communication Networks

ECE 435 Network Engineering Lecture 11

Chapter 4: Network Layer, partb

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

Internet Protocol: Routing Algorithms. Srinidhi Varadarajan

Main Challenge. Other Challenges. How Did it Start? Napster. Model. EE 122: Peer-to-Peer Networks. Find where a particular file is stored

CSCE 463/612 Networks and Distributed Processing Spring 2018

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

Transport and TCP. EE122 Fall 2011 Scott Shenker

Shortest Path Routing Communications networks as graphs Graph terminology Breadth-first search in a graph Properties of breadth-first search

CSC 4900 Computer Networks: Routing Algorithms

Top-Down Network Design

DATA COMMUNICATOIN NETWORKING

Fairness Example: high priority for nearby stations Optimality Efficiency overhead

Goals for Today s Class. EE 122: Networks & Protocols. What Global (non-digital) Communication Network Do You Use Every Day?

Bridges. Bridge Functions. Example of No-frills Bridge. No-frills Bridges. Example of Learning Bridge. Learning Bridges

Chapter 12. Routing and Routing Protocols 12-1

Important Lessons From Last Lecture Computer Networking. Outline. Routing Review. Routing hierarchy. Internet structure. External BGP (E-BGP)

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

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

AODV Route Requests (RREQ) are forwarded in a manner similar to DSR

Network Layer: Routing

Announcements. Ethernet. Goals of Today s Lecture. Three Ways to Share the Media. Random Access Protocols. Key Ideas of Random Access

Chapter 4 Network Layer. Network Layer 4-1

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

Previous Lecture. Link Layer & Network Layer. Link Layer. This Lecture. Framing. Sending bits. Chapter 7.C and 7.D

ETSF05/ETSF10 Internet Protocols Routing on the Internet

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

Alternate Routing Diagram

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

CS4450. Computer Networks: Architecture and Protocols. Lecture 15 BGP. Spring 2018 Rachit Agarwal

Transcription:

Let s focus on clarifying questions I love the degree of interaction in this year s class More Routing all Scott Shenker http://inst.eecs.berkeley.edu/~ee/ Materials with thanks to Jennifer Rexford, Ion Stoica, Vern Paxson and other colleagues at Princeton and U erkeley ut there are many people who are confused I d like to give them the chance to ask about basics So today, let s give priority to questions of the form I don t understand X or how does that work? sk speculative questions during or after break Warning. This lecture contains detailed calculations Prolonged exposure may induce drowsiness To keep you awake I will be tossing beanbags o not misplace them o not read the sheet of paper attached If you ve already participated, hand to nbr who hasn t Logic Refresher if means if is true, then is true only if means if is true, then is true if and only if means:. If is true, then is true. If is true, then is true To make the statement that if and only if, you must prove statements and. Short Summary of ourse rchitecture, layering, principle, blah, blah, How functionality is organized There are only two important design challenges: Reliable Transport and Routing Reliable Transport: transport mechanism is reliable if and only if it resends all dropped or corrupted packets Routing: Global routing state is valid if and only if there are no dead ends (easy) and there are no loops (hard) Years from Now. If you remember nothing else from this course except this single slide, I ll be very happy If you don t remember this slide, you have wasted your time 6

Previous Routing Lecture We assume destination-based forwarding The key challenge is to compute loop-free routes This is easy when the topology is a tree Loops are impossible without reversing a packet looding always will find the destination an use learning to reduce need for flooding ut this approach has serious disadvantages an t use entire network, must restrict to tree oes not react well to failures or host movement Universally hated by operators. Other Ways to void Loops? If I gave you a network graph, could you define loop-free paths to a given destination? Simple algorithm: or given source, pick an arbitrary path that doesn t loop or any node not on path, draw a path that does not contradict earlier path ontinue until all nodes are covered an pick any spanning tree rooted at destination 8 xample Loops are easy to avoid..if you have the whole graph entralized or pseudo-centralized computation Requirement: routes computed knowing global view One node can do calculation for everyone Or each node can do calculation for themselves ut question is: how do you construct global view? 9 Link-State Routing Is onceptually Simple Link-State etails in Section ach router keeps track of its incident links ach router broadcasts the link state To give every router a complete view of the graph ach router computes paths using same algorithm xample protocols Open Shortest Path irst (OSP) Intermediate System Intermediate System (IS-IS) hallenges: scaling, transient disruptions

Link State Routing ach node floods its local information ach node then knows entire network topology Host N Host N N N Host Link State: ach Node Has Global View Host N Host N Host Host N N N Host Host N Host N6 N N6 N How to ompute Routes ach node should have same global view They each compute their own routing tables Using exactly the same algorithm an use any algorithm that avoids loops omputing shortest paths is one such algorithm ssociate cost with links, don t worry what it means. ijkstra s algorithm is one way to compute shortest paths We will review ijkstra s algorithm briefly ut that s just because it is expected from such courses o Snore. Least ost Routes No sensible cost metric will be minimized by traversing a loop Least cost routes an easy way to avoid loops Least cost routes are also destination-based i.e., do not depend on the source Why is this? Therefore, least-cost paths form a spanning tree 6 xample ijkstra s Shortest Path lgorithm INPUT: Network topology (graph), with link costs OUTPUT: Least cost paths from one node to all other nodes Produces tree of routes o ifferent from what we talked about before o Previous tree was rooted at destination o This is rooted at source o ut shortest paths are reversible! Warnings: There is a typo, but I don t remember where (prize!) Most claim to know ijkstra, but in practice they don t 8

Notation ijkstra s lgorithm 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 Source 9 Initialization: S = {}; for all nodes v if v adjacent to then (v) = c(,v); 6 else (v) = ; c(i,j): link cost from node i to j (v): current cost source 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 9 find w not in S such that (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: if (w) + c(w,v) < (v) then // w gives us a shorter path to v than we ve found so far (v) = (w) + c(w,v); p(v) = w; until all nodes in S; xample: ijkstra s lgorithm xample: ijkstra s lgorithm (),p(), (),p() (),p(),, (),p() (),p() Initialization: S = {}; for all nodes v if v adjacent to then (v) = c(,v); 6 else (v) = ; (),p(), (),p(), (),p(), (),p() (),p() 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; xample: ijkstra s lgorithm xample: ijkstra s lgorithm (),p() (),p() (),p(),,, (),p() (),p() 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; (),p(), (),p() (),p(),,, (),p(), (),p() 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S;

xample: ijkstra s lgorithm xample: ijkstra s lgorithm (),p(), (),p() (),p(),,,, (),p(), (),p(), 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; (),p(), (),p() (),p(),,,, (),p(), (),p(), 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; 6 xample: ijkstra s lgorithm xample: ijkstra s lgorithm (),p(), (),p() (),p(),,,, (),p(), (),p(), 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; (),p(), (),p() (),p(),,,, (),p(), (),p(), 9 find w not in S s.t. (w) is a minimum; add w to S; update (v) for all v adjacent to w and not in S: If (w) + c(w,v) < (v) then (v) = (w) + c(w,v); p(v) = w; until all nodes in S; 8 xample: ijkstra s lgorithm (),p(), (),p() (),p(),,,, (),p(), (),p() To determine path (say), work backward from via p(v), 9 The orwarding Table Running ijkstra at node gives the shortest path from to all destinations We then construct the forwarding table estination Link (,) (,) (,) (,) (,)

omplexity How much processing does running the ijkstra algorithm take? ssume a network consisting of N nodes ach iteration: check all nodes w not in S N(N+)/ comparisons: O(N ) More efficient implementations: O(N log(n)) looding the Topology Information ach router sends information out its ports The next node sends it out through all of its ports xcept the one where the information arrived Need to remember previous msgs, suppress duplicates! X X (a) (b) X X (c) (d) Making looding Reliable Reliable flooding nsure all nodes receive link-state information nsure all nodes use the latest version hallenges Packet loss Out-of-order arrival Solutions cknowledgments and retransmissions Sequence numbers How can it still fail? When to Initiate lood? Topology change Link or node failure Link or node recovery onfiguration change Link cost change Potential problems with making cost dynamic! Periodically Refresh the link-state information Typically (say) minutes orrects for possible corruption of the data onvergence Getting consistent routing information to all nodes.g., all nodes having the same link-state database orwarding is consistent after convergence ll nodes have the same link-state database ll nodes forward packets on same paths onvergence elay Time elapsed before every router has a consistent picture of the network Sources of convergence delay etection latency looding of link-state information Recomputation of forwarding tables Storing forwarding tables Performance during convergence period Lost packets due to blackholes and TTL expiry Looping packets consuming resources Out-of-order packets reaching the destination Very bad for VoIP, online gaming, and video 6 6

Transient isruptions Reducing onvergence elay Inconsistent link-state database Some routers know about failure before others The shortest paths are no longer consistent an cause transient forwarding loops aster detection Smaller hello timers Link-layer technologies that can detect failures aster flooding looding immediately Sending link-state packets with high-priority and think that this is the path to Loop! thinks that this is the path to aster computation aster processors on the routers Incremental ijkstra algorithm aster forwarding-table update ata structures supporting incremental updates 8 Scaling Link-State Routing Overhead of link-state routing looding link-state packets throughout the network Running ijkstra s shortest-path algorithm ecomes unscalable when s of routers Introducing hierarchy through areas rea rea What about other approaches? Link-state is essentially a centralized computation: Global state, local computation What about a more distributed approach? Local state, global computation area border router rea rea rea 9 The Task Remove sheet of paper from beanbag, but do not look at sheet of paper until I say so Learn-y-oing I need volunteers If you haven t participated, this is your chance! You will have five minutes to complete this task ach sheet says: You are node X You are connected to nodes Y,Z Your job: find route from source (node ) to destination (node ) in five minutes

Ground Rules You may not: Leave your seat (but you can stand) Pass your sheet of paper Let anyone copy your sheet of paper Go! You may: sk nearby friends for advice Shout to other participants (anything you want) urse your instructor (sotto voce) You must: Try istributed omputation of Routes istance-vector etails in Section More scalable than Link-State No global flooding ach node computing the outgoing port based on: Local information (who it is connected to) Paths advertised by neighbors lgorithms differ in what these exchanges contain istance-vector: just the distance to each destination Path-vector: the entire path to each destination We will focus on distance-vector for now 6 xample of istributed omputation I am three hops away This is what you could have done estination stands up I am one hop away nnounces neighbors They stand up I am three hops away I am one hop away They announce their neighbors They stand up (if they haven t already done so) They remember who called them to stand I am three hops away I am one hop away estination..and so on, until source stands Key point: don t stand up twice! 8 8

estination stands up 9 estination stands up nnounces neighbors They stand up I am one hop away I am one hop away I am one hop away estination stands up nnounces neighbors They stand up They announce their neighbors They stand up 9

Why Not Stand Up Twice? eing called a second time means that there is a second (and longer) path to you You already contacted your neighbors the first time Your distance to destination is based on shorter path ongratulations! You have implemented istance-vector routing or a single destination With the slowest code possible OK, so now let s consider this more generally. 6 Routing Metrics lgorithm finds path with smallest hop-count More complicated if you route with a different metric Other routing goals (besides hop-count) Path with highest capacity Path with lowest latency Path with most reliable links. Generally, assume every link has cost or weight associated with it, and you want to minimize cost istance Vector Routing ach router knows the links to its neighbors oes not flood this information to the whole network ach router has provisional shortest path.g.: Router : I can get to router with cost via next hop router Routers exchange this istance-vector information with their neighboring routers Vector because one entry per destination Routers update their idea of the best path using info from neighbors Iterative process converges to set of shortest paths 8 Information low in istance Vector Information low in istance Vector Host Host Host Host Host Host N N N N N N N N Host N Host Host N Host N6 N N6 N 9 6

Information low in istance Vector Host Why is this different from flooding? Host Host N N N N Host N Host N6 N 6 ellman-ord lgorithm INPUT: Link costs to each neighbor Not full topology OUTPUT: Next hop to each destination and the corresponding cost oes not give the complete path to the destination My neighbors tell me how far they are from dest n ompute: (cost to nhbr) plus (nhbr s cost to destination) Pick minimum as my choice dvertise that cost to my neighbors Next few slides also may have a typo. 6 ellman-ord Overview ellman-ord - Overview ach router maintains a table est known distance from X to Y, via Z as next hop = Z (X,Y) ach local iteration caused by: Local link cost change Message from neighbor Notify neighbors only if least cost path to any destination changes Neighbors then notify their neighbors if necessary ach node: wait for (change in local link cost or msg from neighbor) recompute distance table if least cost path to any dest has changed, notify neighbors ach router maintains a table Row for each possible destination olumn for each directly-attached neighbor to node ntry in row Y and column Z of node X best known distance from X to Y, via Z as next hop = Z (X,Y) Node 8 8 Neighbor (next-hop) 6 estinations (, ) ellman-ord - Overview ach router maintains a table Row for each possible destination olumn for each directly-attached neighbor to node ntry in row Y and column Z of node X best known distance from X to Y, via Z as next hop = Z (X,Y) Node 8 8 Smallest distance in row Y = shortest istance of to Y, (, Y) istance Vector lgorithm (cont d) Initialization: for all neighbors V do c(i,j): link cost from node i to j if V adjacent to (, V) = c(,v); Z (,V): cost from to V via Z else (,V): cost of s best path to V 6 (, V) = ; send (, Y) to all neighbors loop: 8 wait (until sees a link cost change to neighbor V /* case */ 9 or until receives update from neighbor V) /* case */ if (c(,v) changes by ±d) /* case */ for all destinations Y that go through V do V (,Y) = V (,Y) ± d else if (update (V, Y) received from V) /* case */ /* shortest path from V to some Y has changed */ V (,Y) = V (,V) + (V, Y); /* may also change (,Y) */ if (there is a new minimum for destination Y) 6 send (, Y) to all neighbors forever 66

xample: st Iteration ( ) loop: else if (update (, Y) from ) (,Y) = (,) + (, Y); if (new min. for destination Y) 6 send (, Y) to all neighbors forever Node 8 8 Node Node (, ) = (,) + (, ) = + = 8 (, ) = (,) + (, ) = + = 8 Node xample: st Iteration ( ) loop: else if (update (, Y) from ) (,Y) = (,) + (, Y); if (new min. for destination Y) 6 send (, Y) to all neighbors forever Node 8 8 Node Node (, ) = (,) + (, ) = + = (, ) = (,) + (, ) = + = Node xample: nd of st Iteration xample: nd Iteration ( ) Where What How harm does could does this we this fix come this? cause? from? Node 8 8 Node 8 9 Node 8 8 Node (, ) = (,) + (, ) = + = (, ) = (,) + (, ) = + = nd of st Iteration ll nodes knows the best two-hop paths Node 9 Node 8 loop: else if (update (, Y) from ) (,Y) = (,) + (, Y); if (new min. for destination Y) 6 send (, Y) to all neighbors forever Node 9 Node 8 xample: nd of nd Iteration xample: nd of rd Iteration Node 8 8 Node Node 8 8 Node 6 nd of nd Iteration ll nodes knows the best three-hop paths Node 6 9 Node nd of rd Iteration: lgorithm onverges! Node 9 Node What route does this represent?

Intuition Initial state: best one-hop paths One round: best two-hop paths Two rounds: best three-hop paths Kth round: best (k+) hop paths This must eventually converge.but how does it respond to changes in cost? istance Vector: Link ost hanges Node Node loop: 8 wait (until sees a link cost change to neighbor V 9 or until receives update from neighbor V) / if (c(,v) changes by ±d) /* case */ for all destinations Y that go through V do V(,Y) = V(,Y) ± d else if (update (V, Y) received from V) /* case */ V(,Y) = V(,V) + (V, Y); if (there is a new minimum for destination Y) 6 send (, Y) to all neighbors forever 6 9 6 9 Link cost changes here 6 9 time lgorithm terminates good news travels fast V: ount to Infinity Problem loop: 8 wait (until sees a link cost change to neighbor V 9 or until receives update from neighbor V) / if (c(,v) changes by ±d) /* case */ for all destinations Y that go through V do V(,Y) = V(,Y) ± d else if (update (V, Y) received from V) /* case */ V(,Y) = V(,V) + (V, Y); if (there is a new minimum for destination Y) 6 send (, Y) to all neighbors forever Node 6 Node 9 Link cost changes here 6 6 9 6 6 9 6 6 8 9 More like avoidance: believe anything if it hides the bad news time bad news travels slowly istance Vector: Poisoned Reverse Node Node If routes through to get to : - tells its ( s) distance to is infinite (so won t route to via ) 6 9 6 6 9 Link cost changes here; updates (, ) = 6 as has advertised (, ) = 6 6 9 6 6 9 6 9 time lgorithm terminates 6 Will PR Solve I Problem ompletely? 6 few comments What if routers don t use the same metric? I want low delay, you want low loss rate? What is routers want a non-additive metric like maximum capacity? What happens if nodes lie? 8

No agreement on metrics? What Happens Here? If the nodes choose their paths according to different criteria, then bad things might happen ares about price, then loss Low price link ares about delay, then price xample Node is minimizing latency Node is minimizing loss rate Node is minimizing price ny of those goals are fine, if globally adopted Only a problem when nodes use different criteria Low loss link Low loss link Low delay link Low delay link Low price link ares about loss, then delay 9 8 an You Use ny Metric? re there any metrics that won t work, even if everyone agrees on it? What Happens Here? high ll capacity nodes link want gets to maximize reduced to capacity low capacity What about maximizing capacity? 8 8 Must agree on loop-avoiding metric When all nodes minimize same metric nd that metric increases around loops Then process is guaranteed to converge Routing: Just the eginning Link state and distance-vector (and path vector) are the deployed routing paradigms ut we know how to do much, much better Stay tuned for a later lecture where we: Reduce convergence time to zero Respond to failures instantly! 8 8