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 C6111BDA4Table 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