1 / 37

Behind the Plug

Behind the Plug. 0101: How Do I Get There?. A Plethora of Packets. Whew! We now have some idea about how the data is actually carried across wires Protocols Packets Sockets But how do these packets know how to get where they need to go? It’s like finding your way to the Church…

lars
Download Presentation

Behind the Plug

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. Behind the Plug 0101: How Do I Get There?

  2. A Plethora of Packets • Whew! • We now have some idea about how the data is actually carried across wires • Protocols • Packets • Sockets • But how do these packets know how to get where they need to go? • It’s like finding your way to the Church… • Where do you turn right, and where do you turn left?

  3. How Do I Get There? (dog driving)

  4. How Do I Get There? Routing: Because even dogs need directions sometimes!

  5. How Do I Get There? • I send a packet from Raleigh to Ashville… • How does the packet know which way to go to get there? • Remember computer networks are just like road networks…

  6. How Do I Get There? Suppose you’re driving down the road trying to get from Raleigh to Ashville… But the roads don’t have road signs! Which way do I go? When you get to a fork in the road, take it…

  7. How Do I Get There? We could hire someone to stand at the intersection and tell us which way to go… Remember, packets aren’t smart! There’s no “driver” in a packet.

  8. How Do I Get There? In the networking world, we call these…

  9. How Do I Get There? • A router is a specialized computer that… • Connects multiple physical links • Directs packets along the correct link to get to the IP address they’re trying to get to • Great! Problem solved! • Well, not so fast… • How does the guy standing in the intersection —the router— know which way to go? • Does he have to run down to the end of every road to find out?

  10. How Do I Get There? • This problem is solved in the Internet by routing protocols • Routing protocol rules: • The routing protocol must never build a permanent loop for traffic to follow • The routing protocol must be deterministic • From the outside, I must be able to tell how traffic would flow in the network

  11. How Do I Get There? • Routing protocol rules (continued) • The routing protocol must adjust dynamically to changes • A change in the connections between routers is called a topology change • When a routing protocol modifies the paths through the network to adjust to topology changes, this is called convergence • Adjustments must be made as close to “real time” as possible

  12. Distance Vector Routing I’m in Raleigh I can reach Greensboro (80 miles) I can reach Charlotte (180 miles) I can reach Atlanta (430 miles) I can reach Knoxville (410 miles) I’m in Greensboro I can reach Charlotte (100 miles) I can reach Atlanta (350 miles) I can reach Knoxville (330 miles) 250 miles 80 miles I’m in Atlanta 100 miles I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) 230 miles I’m in Knoxville

  13. Distance Vector Routing I’m in Raleigh I can reach Greensboro (80 miles) I can reach Charlotte (180 miles) I can reach Atlanta (430 miles) I can reach Knoxville (410 miles) I’m in Greensboro I can reach Charlotte (100 miles) I can reach Atlanta (350 miles) I can reach Knoxville (330 miles) 250 miles 80 miles I’m in Atlanta 100 miles My distance to Knoxville is the distance to my friend in Knoxville I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) 230 miles I’m in Knoxville

  14. Distance Vector Routing I’m in Raleigh I can reach Greensboro (80 miles) I can reach Charlotte (180 miles) I can reach Atlanta (430 miles) I can reach Knoxville (410 miles) I’m in Greensboro I can reach Charlotte (100 miles) I can reach Atlanta (350 miles) I can reach Knoxville (330 miles) 250 miles 80 miles I’m in Atlanta 100 miles My distance to Knoxville is the distance to my friend in Charlotte plus his distance to Knoxville I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) 230 miles I’m in Knoxville

  15. Distance Vector Routing I’m in Raleigh I can reach Greensboro (80 miles) I can reach Charlotte (180 miles) I can reach Atlanta (430 miles) I can reach Knoxville (410 miles) I’m in Greensboro I can reach Charlotte (100 miles) I can reach Atlanta (350 miles) I can reach Knoxville (330 miles) 250 miles 80 miles I’m in Atlanta 100 miles My distance to Knoxville is the distance to my friend in Greensboro plus his distance to Knoxville I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) 230 miles I’m in Knoxville

  16. Distance Vector Routing • This is essentially how distance vector routing protocols work • How do I know the path the routing protocol chooses isn’t a loop? • The shortest path can never be a loop • If it were a loop, there would be a shorter path available • This is “simple” geometry

  17. Distance Vector Routing • This is “simple” geometry? • The shortest path between two points is a straight line • In the absence of a straight line, the shortest path will be the path closest to a straight line • A straight line cannot circle back on itself This is always shorter than this!

  18. Distance Vector Routing • Bellman-Ford • In the simplest form, this is called Bellman-Ford • Named after the two inventors of the algorithm • Invented by Richard Bellman and Lester Ford in 1958 • Used in the… • Routing Information Protocol (RIP) • Spanning Tree Protocol (STP) –not technically a routing protocol

  19. Distance Vector Routing • Diffusing Update Algorithm (DUAL) • Invented by JJ Garcia in 1993 • So similar to Bellman-Ford almost everyone confuses the two • Calculates the shortest path in the same way • Calculates a set of alternate loop free paths, as well

  20. Link State Routing I’m in Greensboro I can reach Charlotte (100 miles) I can reach Raleigh (80 miles) I’m in Raleigh I can reach Greensboro (80 miles) 250 miles 80 miles I’m in Atlanta I can reach Charlotte (250 miles) 100 miles Every router discovers the distance to its friends I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) I can reach Greensboro (80 miles) 230 miles I’m in Knoxville I can reach Charlotte (230 miles)

  21. Link State Routing I’m in Greensboro I can reach Charlotte (100 miles) I can reach Raleigh (80 miles) I’m in Raleigh I can reach Greensboro (80 miles) 250 miles 80 miles I’m in Atlanta I can reach Charlotte (250 miles) 100 miles I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) I can reach Greensboro (80 miles) 230 miles Run Shortest Path First (SPF) I’m in Knoxville I can reach Charlotte (230 miles)

  22. Link State Routing I’m in Raleigh I can reach Greensboro (80 miles) I can reach Charlotte (180 miles) I can reach Atlanta (430 miles) I can reach Knoxville (410 miles) I’m in Greensboro I can reach Charlotte (100 miles) I can reach Atlanta (350 miles) I can reach Knoxville (330 miles) 250 miles 80 miles I’m in Atlanta 100 miles I’m in Charlotte I can reach Atlanta (250 miles) I can reach Knoxville (230 miles) 230 miles We wind up with the same information! I’m in Knoxville

  23. The Dijkstra Algorithm • Dijkstra’s SPF algorithm is not the only SPF algorithm • GPS’ often use a different SPF algorithm • Let’s walk through a Dijsktra calculation in this simple network to understand how it works • You know you want to…  10 A B 10 10 C 30 30 10 10 E D 10

  24. There are two lists TENT The list of tentative paths Paths under consideration to install in the PATH list PATH The list of known shortest paths The solution The Dijkstra Algorithm A B C E D PATH TENT

  25. Insert paths to connected neighbors on the TENT list A/B, A/C, A/D are all added to the TENT 10 10 30 The Dijkstra Algorithm A B C E D PATH TENT

  26. Choose the lowest cost link from the TENT and place it on the PATH A/B and A/C are equal cost, choose one of the two Place link to C on PATH Place all of C’s neighbors to the TENT C/D is added C/E is added C/B is added 10 10 10 10 10 The Dijkstra Algorithm 10 A B C 30 E D PATH TENT

  27. Examine cost to all reachable nodes, and remove higher cost paths D A/D == 30 A/C/D ==20 A/D is removed B A/B == 10 A/C/B == 20 A/C/B is removed 10 10 30 The Dijkstra Algorithm A B 10 C 10 10 E D PATH TENT

  28. The shortest path on the TENT is now added to the PATH A/B is added to the PATH 10 10 The Dijkstra Algorithm A B 10 C 10 10 E D PATH TENT

  29. Add B’s neighbors to the TENT B/C has already been examined, so ignore that one B/E is added Examine cost to all reachable nodes; remove duplicates with a higher cost A/B/E == 40 A/C/D == 20 A/B/E is removed 30 10 The Dijkstra Algorithm 10 A B 10 C 10 E D PATH TENT

  30. The shortest path on the TENT is added to the PATH A/C/D is added 10 10 The Dijkstra Algorithm 10 A B 10 C 10 E D PATH TENT

  31. Add D’s neighbors to the TENT D/A has already been considered, so ignore it D/E is added Examine cost to all reachable nodes; remove duplicates with a higher cost A/C/D/E == 30 A/C/E == 20 A/C/D/E is removed 10 10 The Dijkstra Algorithm 10 A B 10 C 10 E D PATH TENT

  32. The shortest path on the TENT is added to the PATH A/C/E is added The TENT is empty We’re done! Whew! 10 10 The Dijkstra Algorithm 10 A B 10 C 10 E D PATH TENT

  33. Link State Routing • Link state routing is used in… • Open Shortest Path First (OSPF) • Intermediate System to Intermediate System (IS-IS) • Developed by EdsjarDijkstra in 1956 • Edward Moore developed it independently in 1957 • They didn’t realize they’d overlapped until they both published

  34. Path Vector Routing • A third algorithm used in routing protocols • But we won’t go into this one in depth here… • Use by “A Border Gateway Protocol” (BGP) • This is the protocol that really connects the Internet together

  35. Routing Concepts • Two “types” of protocols • Interior Gateway Protocols (IGPs) • Used within a single network • Generally, the bounds of the IGP are contained by the “administrative domain” • In other words, a set of routers which are all owned and managed by the same company • RIP, OSPF, IS-IS, and EIGRP are all IGPs • IGPs are “high trust protocols” • There are very few security capabilities, and almost no policy capabilities • But… they converge very fast

  36. Routing Concepts • Exterior Gateway Protocols (EGPs) • Also called Interdomain Routing (IDR) • Used to connect networks together • Or rather, to connect administrative domains together • Policy and security oriented • Routing is all based on a specialized form of geometry called graph theory

  37. How Do I Get There? • Okay, now we’re confused about routing protocols! • But at least we have some idea of how they work… • But what do routing protocols run on? • What does a router look like? • Where are these routers physically located? • And these highways –I still don’t understand those!

More Related