DOC PREVIEW
Princeton COS 461 - Shortest­Path Routing

This preview shows page 1-2-17-18-19-35-36 out of 36 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 36 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Shortest-Path Routing Reading: Sections 4.2 and 4.3.4Goals of Today’s LectureWhat is Routing?Forwarding vs. RoutingWhy Does Routing Matter?Shortest-Path RoutingShortest-Path ProblemDijkstra’s Shortest-Path AlgorithmDijsktra’s AlgorithmDijkstra’s Algorithm ExampleSlide 11Shortest-Path TreeLink-State RoutingDetecting Topology ChangesBroadcasting the Link StateSlide 16When to Initiate FloodingConvergenceTransient DisruptionsSlide 20Convergence DelayReducing Convergence DelayScaling Link-State RoutingBellman-Ford AlgorithmDistance Vector AlgorithmDistance Vector AlgorithmDistance Vector Example: Step 0Distance Vector Example: Step 2Distance Vector Example: Step 3Distance Vector: Link Cost ChangesSlide 31Distance Vector: Poison ReverseRouting Information Protocol (RIP)Comparison of LS and DV algorithmsConclusionsSlide 361Shortest-Path RoutingReading: Sections 4.2 and 4.3.4COS 461: Computer NetworksSpring 2007 (MW 1:30-2:50 in Friend 004)Jennifer RexfordTeaching Assistant: Ioannis Avramopouloshttp://www.cs.princeton.edu/courses/archive/spring07/cos461/2Goals of Today’s Lecture•Path selection–Minimum-hop and shortest-path routing–Dijkstra and Bellman-Ford algorithms•Topology change–Using beacons to detect topology changes–Propagating topology or path information•Routing protocols–Link state: Open Shortest Path First–Distance vector: Routing Information Protocol3What is Routing?•A famous quotation from RFC 791 “A name indicates what we seek.An address indicates where it is.A route indicates how we get there.” -- Jon Postel4Forwarding vs. Routing•Forwarding: data plane–Directing a data packet to an outgoing link–Individual router using a forwarding table•Routing: control plane–Computing paths the packets will follow–Routers talking amongst themselves–Individual router creating a forwarding table5Why Does Routing Matter?•End-to-end performance–Quality of the path affects user performance–Propagation delay, throughput, and packet loss•Use of network resources–Balance of the traffic over the routers and links–Avoiding congestion by directing traffic to lightly-loaded links•Transient disruptions during changes–Failures, maintenance, and load balancing–Limiting packet loss and delay during changes6Shortest-Path Routing•Path-selection model–Destination-based–Load-insensitive (e.g., static link weights)–Minimum hop count or sum of link weights 32211414537Shortest-Path Problem •Given: network topology with link costs–c(x,y): link cost from node x to node y–Infinity if x and y are not direct neighbors•Compute: least-cost paths to all nodes–From a given source u to all other nodes–p(v): predecessor node along path from source to v3221141453uvp(v)8Dijkstra’s Shortest-Path Algorithm•Iterative algorithm–After k iterations, know least-cost path to k nodes•S: nodes whose least-cost path definitively known–Initially, S = {u} where u is the source node–Add one node to S in each iteration•D(v): current cost of path from source to node v–Initially, D(v) = c(u,v) for all nodes v adjacent to u–… and D(v) = ∞ for all other nodes v–Continually update D(v) as shorter paths are learned9Dijsktra’s Algorithm1 Initialization: 2 S = {u} 3 for all nodes v 4 if v adjacent to u {5 D(v) = c(u,v) 6 else D(v) = ∞ 7 8 Loop 9 find w not in S with the smallest D(w)10 add w to S 11 update D(v) for all v adjacent to w and not in S: 12 D(v) = min{D(v), D(w) + c(w,v)} 13 until all nodes in S10Dijkstra’s Algorithm Example322114145332211414533221141453322114145311Dijkstra’s Algorithm Example322114145332211414533221141453322114145312Shortest-Path Tree•Shortest-path tree from u•Forwarding table at u3221141453uvwxyzstv (u,v)w (u,w)x(u,w)y (u,v)z(u,v)links (u,w)t(u,w)13Link-State Routing•Each router keeps track of its incident links–Whether the link is up or down–The cost on the link•Each router broadcasts the link state–To give every router a complete view of the graph•Each router runs Dijkstra’s algorithm–To compute the shortest paths–… and construct the forwarding table•Example protocols–Open Shortest Path First (OSPF)–Intermediate System – Intermediate System (IS-IS)14Detecting Topology Changes•Beaconing–Periodic “hello” messages in both directions–Detect a failure after a few missed “hellos”•Performance trade-offs–Detection speed–Overhead on link bandwidth and CPU–Likelihood of false detection“hello”15Broadcasting the Link State•Flooding–Node sends link-state information out its links–And then the next node sends out all of its links–… except the one where the information arrivedX AC B D(a)X AC B D(b)X AC B D(c)X AC B D(d)16Broadcasting the Link State•Reliable flooding–Ensure all nodes receive link-state information–… and that they use the latest version•Challenges–Packet loss–Out-of-order arrival•Solutions–Acknowledgments and retransmissions–Sequence numbers–Time-to-live for each packet17When to Initiate Flooding•Topology change–Link or node failure–Link or node recovery•Configuration change–Link cost change•Periodically–Refresh the link-state information–Typically (say) 30 minutes–Corrects for possible corruption of the data18Convergence•Getting consistent routing information to all nodes–E.g., all nodes having the same link-state database•Consistent forwarding after convergence–All nodes have the same link-state database–All nodes forward packets on shortest paths–The next router on the path forwards to the next hop322114145319Transient Disruptions•Detection delay–A node does not detect a failed link immediately–… and forwards data packets into a “blackhole”–Depends on timeout for detecting lost hellos322114145320Transient Disruptions•Inconsistent link-state database–Some routers know about failure before others–The shortest paths are no longer consistent–Can cause transient forwarding loops232114145332211414321Convergence Delay•Sources of convergence delay–Detection latency–Flooding of link-state information–Shortest-path computation–Creating the forwarding table•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 video22Reducing Convergence


View Full Document

Princeton COS 461 - Shortest­Path Routing

Documents in this Course
Links

Links

39 pages

Lecture

Lecture

76 pages

Switches

Switches

35 pages

Lecture

Lecture

42 pages

Links

Links

39 pages

Lecture

Lecture

34 pages

Topology

Topology

42 pages

Lecture

Lecture

42 pages

Overview

Overview

42 pages

Sockets

Sockets

45 pages

Load more
Download Shortest­Path Routing
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Shortest­Path Routing and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Shortest­Path Routing 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?