1 / 40

0131_09F7/c2

Link-state protocols SPF algo. 0131_09F7/c2. 1. Summary. The basic ideas of link-state protocols Dijkstra’s Shortest Path First algorithm. Summary. The basic ideas of link-state protocols Dijkstra’s Shortest Path First algorithm. The basic idea.

beata
Télécharger la présentation

0131_09F7/c2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Link-state protocols SPF algo 0131_09F7/c2 1

  2. Summary • The basic ideas of link-state protocols • Dijkstra’s Shortest Path First algorithm Henk Smit jan1999

  3. Summary • The basic ideas of link-state protocols • Dijkstra’s Shortest Path First algorithm Henk Smit jan1999

  4. The basic idea • In a link-state protocol, the network can be viewed as a jigsaw puzzle • Each piece of the puzzle holds one router • Each router creates a packet which represents its own jigsaw piece • These packets are flooded everywhere • Use SPF to put the pieces together Henk Smit jan1999

  5. LSP for routerB LSP for routerA to A to B to E to D to C to E to B to A LSP for routerE to A to B to C to D LSP for routerD LSP for routerC About link-state protocols The jigsaw puzzle Henk Smit jan1999

  6. Link-state protocols • Each router keeps track of its own state • Send and receive hellos to detect neighbors • Keep track of IP and CLNS addresses • interface IP prefixes • maybe inter-area or redistributed prefixes • Each router builds one linkstate packet (LSP) with all own local information • OSPF builds multiple LSAs for inter-area/externals Henk Smit jan1999

  7. Link-state protocols • All routers exchange copies of all LSPs • via a reliable flooding mechanism • Each router stores all LSPs in a database • separate from the routing table • all routers should have exactly the same LSPDB • New LSPs sent only when there’s a change • and additionally periodic refreshes • new LSP will overwrite the old LSP • no partial updates Henk Smit jan1999

  8. Link-state protocols • By executing Dijkstra’s SPF algorithm, each router ‘composes the jigsaw puzzle’. • the topology is calculated as a shortest-path-tree • each router is the root of the SPT it has calculated • From the SPT the RIBs are calculated • No routing loops will occur because • all routers have an identical LSPDB • all info in the LSPDB comes directly from the source • Distance Vector protocols are based on hear-say Henk Smit jan1999

  9. lspB lspB lspB lspB lspB lspA lspA lspA lspA lspA lspE lspE lspE lspE lspE lspD lspD lspD lspD lspD lspC lspC lspC lspC lspC Each router has the same LSPDB RouterA’s LSPDB RouterB’s LSPDB RouterE’s LSPDB RouterC’s LSPDB RouterD’s LSPDB Henk Smit jan1999

  10. Summary • The basic ideas of link-state protocols • Dijkstra’s Shortest Path First algorithm • Pseudonodes and Network LSAs • Flooding • Scaling link-state protocols by using areas • inter-area routing is IS-IS Henk Smit jan1999

  11. Shortest Path First algorithm • Also called Dijkstra’s algorithm • The goal is to find the topology in the form of a shortest path tree (SPT) • From the SPT we build routing tables • Complexity is independent from position of computing router in the network • makes LS protocols less useful for hub-and-spoke • use distance-vector with default routes and filters Henk Smit jan1999

  12. Shortest Path First algorithm • SPF complexity is O(n log n) • Theoretical complexity depends on sorting • ISIS uses quick array sort • causes link metric limitation of 63 • CPU usage in real life depends on other stuff • number of links is important • number of IP routes, stability of adjacencies, etc • flooding is probably more important for scaling Henk Smit jan1999

  13. Shortest Path First algorithm • We maintain three lists (or sets) • Unknown list • all nodes start on this list • TENTative list • all nodes we are currently examining • also called candidate list • PATHS list • all nodes to which we have calculated final paths • also called known list Henk Smit jan1999

  14. Shortest Path First algorithm • We execute N steps • typically N is the number of nodes in the network • At each step we move one node to PATHS • During the first step we move ourself to PATHS • During the next steps we find the nodethat has the shortest path amongst all nodes on TENT, and move it from TENT to PATHS • At each step we find all neighbors reachable from that node and move them to the TENT list Henk Smit jan1999

  15. Shortest Path First algorithm • Special actions • after each step we clean up the TENT list • if a node is directly connected to us, search the first-hop info in the adjacency database • if a node is not directly connected to us, copy the first-hop info from the parent(s) • for each node on TENT, maintain the cost to get there from the root, and the first-hop info • if parallel paths, maintain multiple first-hops Henk Smit jan1999

  16. A network rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  17. The link-state database LSP K IS: 4 S IS: 2 F LSP F IS: 5 B IS: 12 R IS: 5 B IS: 12 W IS: 2 K LSP B IS: 2 C IS: 2 R IS: 5 F IS: 5 F LSP Z IS: 3 C IS: 3 D LSP W IS: 3 R IS: 3 A IS: 12 F IS: 5 S IS: 2 Q LSP S IS: 4 Q IS: 5 W IS: 4 K LSP R IS: 3 D IS: 7 A IS: 3 W IS: 2 B IS: 12 F LSP A IS: 3 D IS: 4 D IS: 7 R IS: 3 W IS: 5 Q IS: 5 Q LSP Q IS: 5 A IS: 5 A IS: 2 W IS: 4 S LSP C IS: 2 B IS: 8 D LSP D IS: 3 A IS: 8 C IS: 3 R IS: 4 A Henk Smit jan1999

  18. The adjacency database Neighbor Interface Cost rtrD serial0 3 rtrD serial1 4 rtrR serial2 7 rtrW serial3 3 rtrQ serial4 5 rtrQ serial5 5 Henk Smit jan1999

  19. Shortest Path First example • Initial situation • TENT: empty • PATHS: empty • Unknown: A B C D F K Q R S W Z Henk Smit jan1999

  20. Shortest Path First example • First iteration • Move ourself (rtrA) to PATHS • Move neighbors of rtrA to TENT • find first-hop info in adjacency database • TENT: D cost 3 via S0, R cost 7 via S2, W cost 3 via S3, Q cost 5 via S4 or S5 • PATHS: A • Unknown: B C F K S Z Henk Smit jan1999

  21. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  22. Shortest Path First example • Second iteration • Move rtrD to PATHS • Move neighbors of rtrD to TENT • rtrC and rtrR, found better path to rtrR, ignore rtrA • TENT: W cost 3 via S3, Q cost 5 via S4/S5, C cost 11 via S0, R cost 6 via S0 • PATHS: A, D cost 3 via S0 • Unknown: B F K S Z Henk Smit jan1999

  23. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  24. Shortest Path First example • Third iteration • Move rtrW to PATHS, neighbors of rtrW to TENT • F and S, found more equal-cost paths to R and Q • TENT: Q cost 5 via S4/S5/S3, C cost 11 via S0, R cost 6 via S0/S3, S cost 8 via S3, F cost 15 via S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3 • Unknown: B K Z Henk Smit jan1999

  25. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  26. Shortest Path First example • Fourth iteration • Move rtrQ to PATHS, neighbors of rtrQ to TENT • found worse path (9 vs 8) to S. A W already known • TENT: C cost 11 via S0, R cost 6 via S0/S3, S cost 8 via S3, F cost 15 via S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3 • Unknown: B K Z Henk Smit jan1999

  27. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  28. Shortest Path First example • Fifth iteration • Move rtrR to PATHS, neighbors of rtrR to TENT • new path to B, worse to F. A D W already known • TENT: C cost 11 via S0, S cost 8 via S3, F cost 15 via S3, B cost 8 via S0/S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3 • Unknown: K Z Henk Smit jan1999

  29. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  30. Shortest Path First example • Sixth iteration • Move rtrS to PATHS, neighbors of rtrS to TENT • new path to K. Q W already known • TENT: C cost 11 via S0, F cost 15 via S3, B cost 8 via S0/S3, K cost 12 via S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3 • Unknown: Z Henk Smit jan1999

  31. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  32. Shortest Path First example • Seventh iteration • Move rtrB to PATHS, neighbors of rtrB to TENT • better paths to C (10 vs 11) and F (13 vs 15) • TENT: C cost 10 via S0/S3, F cost 13 via S0/S3, K cost 12 via S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3, B cost 8 via S0/S3 • Unknown: Z Henk Smit jan1999

  33. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  34. Shortest Path First example • Eigth iteration • Move rtrC to PATHS, neighbors of rtrC to TENT • B and D already known • TENT: F cost 13 via S0/S3, K cost 12 via S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3, B cost 8 via S0/S3, C cost 10 via S0/S3 • Unknown: Z Henk Smit jan1999

  35. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  36. Shortest Path First example • Ninth iteration • Move rtrK to PATHS, neighbors of rtrK to TENT • found worse path to F (14 vs 13), S already known • TENT: F cost 13 via S0/S3 • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3, B cost 8 via S0/S3, C cost 10 via S0/S3, K cost 12 via S3 • Unknown: Z Henk Smit jan1999

  37. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  38. Shortest Path First example • Tenth iteration • Move rtrF to PATHS, neighbors of rtrK to TENT • all neighbors already known, no changes to TENT • TENT: empty • PATHS: A, D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3, B cost 8 via S0/S3, C cost 10 via S0/S3, K cost 12 via S3, F cost 13 via S0/S3 • Unknown: Z Henk Smit jan1999

  39. PATHS and TENT rtrZ rtrF 3 2 5 rtrB rtrK 3 5 12 12 4 2 2 rtrW RtrR 5 rtrS rtrC 3 2 3 4 7 3 8 5 4 rtrQ rtrD 5 3 rtrA Henk Smit jan1999

  40. Shortest Path First example • Done ! • iteration stops because TENT is empty • we obviously didn’t find a path to Z • we can now calculate routing tables • result: D cost 3 via S0, W cost 3 via S3, Q cost 5 via S4/S5/S3, R cost 6 via S0/S3, S cost 8 via S3, B cost 8 via S0/S3, C cost 10 via S0/S3, K cost 12 via S3, F cost 13 via S0/S3 Henk Smit jan1999

More Related