DOC PREVIEW
CMU CS 15441 - lecture

This preview shows page 1-2-3-21-22-23-43-44-45 out of 45 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 45 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 45 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 45 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 45 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 45 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 45 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 45 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 45 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 45 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 45 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

15-441 Computer NetworkingRouter OperationGraph ModelRoutes from Node AWays to Compute Shortest PathsOutlineDistance-Vector MethodDistance-Vector UpdateAlgorithmStartIteration #1Iteration #2Distance Vector: Link Cost ChangesSlide 14Distance Vector: Split HorizonDistance Vector: Poison ReversePoison Reverse FailuresRouting Information Protocol (RIP)RIP UpdatesRIP Staleness / Oscillation ControlRIP Table ProcessingSlide 22Link State Protocol ConceptSending Link States by FloodingDijkstra’s AlgorithmDijkstra’s Algorithm: ConceptDijkstra’s Algorithm: InitiallyDijkstra’s Algorithm: SelectionSlide 29Dijkstra’s Algorithm: UpdateLink State CharacteristicsOSPF Routing ProtocolOSPF Reliable FloodingOSPF Flooding OperationFlooding IssuesAdoption of OSPFComparison of LS and DV AlgorithmsSlide 38EXTRA SLIDESRouting HierarchiesAreasOSPF Routing HierarchyOSPF External RoutesThe Area HierarchyPath Sub-optimality15-441 Computer NetworkingLecture 12: Intra-Domain RoutingRIP (Routing Information Protocol) & OSPF (Open Shortest Path First)Lecture 12: 2-19-2004 2Router Operation•When Packet Arrives at Router•Examine header to determine intended destination•Look up in table to determine next hop in path•Send packet out appropriate port•Today’s lecture•How to generate the routing tableRouterLecture 12: 2-19-2004 3Graph Model•Represent each router as node•Direct link between routers represented by edge•Symmetric links  undirected graph•Edge “cost” c(x,y) denotes measure of difficulty of using link•delay, $ cost, or congestion level•Task•Determine least cost path from every node to every other node•Path cost d(x,y) = sum of link costsAEFCDB23641113Lecture 12: 2-19-2004 4Routes from Node A•Properties•Some set of shortest paths forms tree•Shortest path spanning tree•Solution not unique•E.g., A-E-F-C-D also has cost 7AEFCDB23641113Table for ADest Cost Next HopA 0 AB 4 BC 6 ED 7 BE 2 EF 5 ELecture 12: 2-19-2004 5Ways to Compute Shortest Paths•Centralized•Collect graph structure in one place•Use standard graph algorithm•Disseminate routing tables•Partially Distributed•Every node collects complete graph structure•Each computes shortest paths from it•Each generates own routing table•“Link-state” algorithm•Fully Distributed•No one has copy of graph•Nodes construct their own tables iteratively•Each sends information about its table to neighbors•“Distance-Vector” algorithmLecture 12: 2-19-2004 6Outline•Distance Vector•Link StateLecture 12: 2-19-2004 7Distance-Vector Method•Idea•At any time, have cost/next hop of best known path to destination•Use cost  when no path known•Initially•Only have entries for directly connected nodesAEFCDB23641113Initial Table for ADest Cost Next HopA 0 AB 4 BC–D–E 2 EF 6 FLecture 12: 2-19-2004 8Distance-Vector Update•Update(x,y,z)d  c(x,z) + d(z,y) # Cost of path from x to y with first hop zif d < d(x,y)# Found better pathreturn d,z # Updated cost / next hopelsereturn d(x,y), nexthop(x,y) # Existing cost / next hopxzyc(x,z)d(z,y)d(x,y)Lecture 12: 2-19-2004 9Algorithm•Bellman-Ford algorithm•RepeatFor every node xFor every neighbor zFor every destination yd(x,y)  Update(x,y,z)•Until ConvergeLecture 12: 2-19-2004 10StartAEFCDB23641113Table for ADst Cst HopA 0 AB 4 BC–D–E 2 EF 6 FTable for BDst Cst HopA 4 AB 0 BC–D 3 DE–F 1 FTable for CDst Cst HopA–B–C 0 CD 1 DE–F 1 FTable for DDst Cst HopA–B 3 BC 1 CD 0 DE–F–Table for EDst Cst HopA 2 AB–C–D–E 0 EF 3 FTable for FDst Cst HopA 6 AB 1 BC 1 CD–E 3 EF 0 FOptimum 1-hop pathsLecture 12: 2-19-2004 11Iteration #1Table for ADst Cst HopA 0 AB 4 BC 7 FD 7 BE 2 EF 5 ETable for BDst Cst HopA 4 AB 0 BC 2 FD 3 DE 4 FF 1 FTable for CDst Cst HopA 7 FB 2 FC 0 CD 1 DE 4 FF 1 FTable for DDst Cst HopA 7 BB 3 BC 1 CD 0 DE–F 2 CTable for EDst Cst HopA 2 AB 4 FC 4 FD–E 0 EF 3 FTable for FDst Cst HopA 5 BB 1 BC 1 CD 2 CE 3 EF 0 FOptimum 2-hop pathsAEFCDB23641113Lecture 12: 2-19-2004 12Iteration #2Table for ADst Cst HopA 0 AB 4 BC 6 ED 7 BE 2 EF 5 ETable for BDst Cst HopA 4 AB 0 BC 2 FD 3 DE 4 FF 1 FTable for CDst Cst HopA 6 FB 2 FC 0 CD 1 DE 4 FF 1 FTable for DDst Cst HopA 7 BB 3 BC 1 CD 0 DE 5 CF 2 CTable for EDst Cst HopA 2 AB 4 FC 4 FD 5 FE 0 EF 3 FTable for FDst Cst HopA 5 BB 1 BC 1 CD 2 CE 3 EF 0 FOptimum 3-hop pathsAEFCDB23641113Lecture 12: 2-19-2004 13Distance Vector: Link Cost ChangesLink cost changes:•Node detects local link cost change •Updates distance table •If cost change in least cost path, notify neighborsXZ1450Y1algorithmterminates“goodnews travelsfast”Lecture 12: 2-19-2004 14Distance Vector: Link Cost ChangesLink cost changes:•Good news travels fast •Bad news travels slow - “count to infinity” problem!XZ1450Y60algorithmcontinueson!Lecture 12: 2-19-2004 15Distance Vector: Split HorizonIf Z routes through Y to get to X :•Z does not advertise its route to X back to YalgorithmterminatesXZ1450Y60? ? ?Lecture 12: 2-19-2004 16Distance Vector: Poison ReverseIf 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 completely solve count to infinity problem? XZ1450Y60algorithmterminatesLecture 12: 2-19-2004 17Poison Reverse Failures•Iterations don’t converge•“Count to infinity”•Solution•Make “infinity” smaller•What is upper bound on maximum path length?Table for ADst Cst HopC 7 FTable for BDst Cst HopC 8 ATable for FDst Cst HopC 1 CTable for FDst Cst HopC–Table for ADst Cst HopC–ForcedUpdateTable for BDst Cst HopC 14 AForcedUpdateF C6111BDA4Table for DDst Cst HopC 9 BForcedUpdateTable for ADst Cst HopC 13 DBetterRouteTable for DDst Cst HopC 15 BTable for ADst Cst HopC 19 DForcedUpdate•••ForcedUpdateLecture 12: 2-19-2004 18Routing Information Protocol (RIP)•Earliest IP routing protocol (1982 BSD)•Current standard is version 2 (RFC 1723)•Features•Every link has cost 1•“Infinity” = 16•Limits to networks where everything reachable within 15 hops•Sending Updates•Every router listens for updates on UDP port 520•RIP message can contain entries for up to 25 table entriesLecture 12: 2-19-2004 19RIP Updates•Initial•When router first starts, asks for copy of table for every neighbor•Uses it to iteratively generate own table•Periodic•Every 30 seconds, router sends copy of its table to each


View Full Document

CMU CS 15441 - lecture

Documents in this Course
lecture

lecture

34 pages

lecture

lecture

38 pages

lecture

lecture

18 pages

lecture

lecture

28 pages

lecture

lecture

11 pages

Lecture

Lecture

64 pages

lecture

lecture

10 pages

lecture

lecture

19 pages

Lecture 6

Lecture 6

43 pages

Exam

Exam

14 pages

lecture

lecture

38 pages

Debugging

Debugging

23 pages

lecture

lecture

60 pages

review

review

27 pages

lecture

lecture

12 pages

The Web

The Web

28 pages

Lecture

Lecture

40 pages

lecture

lecture

42 pages

lecture

lecture

9 pages

lecture

lecture

10 pages

lecture

lecture

49 pages

lecture

lecture

26 pages

Project

Project

5 pages

lecture

lecture

40 pages

lecture

lecture

9 pages

lecture

lecture

41 pages

lecture

lecture

32 pages

lecture

lecture

36 pages

lecture

lecture

34 pages

lecture

lecture

26 pages

lecture

lecture

6 pages

lecture

lecture

51 pages

Project

Project

16 pages

lecture

lecture

44 pages

lecture

lecture

13 pages

lecture

lecture

42 pages

lecture

lecture

36 pages

Project

Project

13 pages

Project

Project

33 pages

lecture

lecture

43 pages

lecture

lecture

49 pages

Load more
Download lecture
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 lecture 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 lecture 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?