1 / 51

CSE 30264 Computer Networks

CSE 30264 Computer Networks. Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 12 – February 18, 2010. Today’s Lecture. Routing Distance Vector Link State Global Routing. Application. Transport. Network. Data. Physical.

kaili
Download Presentation

CSE 30264 Computer Networks

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. CSE 30264Computer Networks Prof. Aaron Striegel Department of Computer Science & Engineering University of Notre Dame Lecture 12 – February 18, 2010

  2. Today’s Lecture • Routing • Distance Vector • Link State • Global Routing Application Transport Network Data Physical CSE 30264

  3. Routing (Revisited) Outline Distance Vector Link State CSE30264

  4. Overview • Forwarding vs Routing • Forwarding: to select an output port based on destination address and routing table • Routing: process by which routing table is built • Network as a Graph • Problem: Find lowest cost path between two nodes • How much do you know? • Distance vector: Just my neighbors and who they can reach • Link state: Everything on my network CSE30264

  5. Distance Vector • Each node maintains a set of triples • (Destination, Cost, NextHop) Exchange the vector (the table) of my current routing information CSE30264

  6. Routing Revisited A 6 3 1 F 1 B E 2 4 1 C D 9 CSE 30264

  7. Time t=0, Start Time Perspective of A A’s Routing Table A 6 3 1 F 1 B A C=0 NH: * E 2 4 B C=3 NH: B 1 E C=1 NH: E C D F C=6 NH: F 9 Assume know our neighbors and link cost CSE 30264

  8. Symmetry A A 3 3 3 B B Cost in either direction is the same CSE 30264

  9. A sends to its neighbors Routing Table A C=0 NH: Me B C=3 NH: B Vector of reachability E C=1 NH: E F C=6 NH: F A F B Send this to our neighbors E CSE 30264

  10. E broadcasts to its neighbors A 6 3 1 F Distance Vector 1 B E 2 4 1 C D 9 Vector = Here is my best cost to get to these locations if you come through me CSE 30264

  11. Gather round…. • Send our distance vector • Cost to reach nodes through us • Two ways • Cost in the vector • Let external node put in cost • When we receive a DV • Are any routes better than our own? • Could we take the cost of using that link and navigate via that node? CSE 30264

  12. Perspective of A A’s Routing Table What happens at A? A C=0 NH: * A B C=3 NH: B 6 3 E C=1 NH: E 1 F F C=6 NH: F 1 B E 2 4 Compare new vs. current DV from E 1 That’s us, duh C D 9 3 vs. 1+1 via E Inf vs. 1+1 via E 6 vs. 1+2 via E CSE 30264

  13. Perspective of A A’s Routing Table What happens at A? A C=0 NH: * A B C=3 NH: B 6 3 E C=1 NH: E 1 F F C=6 NH: F 1 B E 2 4 1 A C=0 NH: * C B C=2 NH: E D 9 E C=1 NH: E F C=3 NH: E D C=E NH: E CSE 30264

  14. Convergence • Convergence • Stop when no more changes • Non-convergence bad • We’ll see that in a moment • How? • Only send on change of local table • Stop seeing bcast, stop CSE 30264

  15. Routing Loops • Example 1 • F detects that link to G has failed • F sets distance to G to infinity and sends update t o A • A sets distance to G to infinity since it uses F to reach G • A receives periodic update from C with 2-hop path to G • A sets distance to G to 3 and sends update to F • F decides it can reach G in 4 hops via A • Example 2 • link from A to E fails • A advertises distance of infinity to E • B and C advertise a distance of 2 to E • B decides it can reach E in 3 hops; advertises this to A • A decides it can read E in 4 hops; advertises this to C • C decides that it can reach E in 5 hops… Count to Infinity Problem CSE30264

  16. Loop-Breaking Heuristics • Set infinity to 16 • Split horizon • Split horizon with poison reverse CSE30264

  17. Is DV used? • Yes • RIP – Routing Information Protocol • BGP – Border Gateway Protocol* • Sort of, BGP is kind of a hybrid • Various mobile routing protocols CSE 30264

  18. Routing Information Protocol (RIP) • Distributed along with BSD Unix • Straightforward implementation of DV • Updates sent every 30 seconds • Link costs constant at 1 (16 = infinity) CSE30264

  19. Link State • Strategy • Two-fold • Exchange HELLO msgs with neighbors • Broadcast changes to all of neighbor state • Link State Packet (LSP) • ID of the node that created the LSP • Cost of link • Sequence number • TTL CSE30264

  20. Link State (cont) • Changes  Reliably flood • store most recent LSP from each node • forward LSP to all nodes but one that sent it • generate new LSP periodically • increment SEQNO • start SEQNO at 0 when reboot • decrement TTL of each LSP • discard when TTL=0 CSE30264

  21. Flooding CSE30264

  22. Route Calculation • Dijkstra’s shortest-path algorithm • Let • N denotes set of nodes in the graph • l (i, j) denotes non-negative cost (weight) for edge (i, j) • s denotes this node • M denotes the set of nodes incorporated so far • C(n) denotes cost of the path from s to node n M = {s} for each n in N - {s} C(n) = l(s, n) while (N != M) M = M union {w} such that C(w) is the minimum for all w in (N - M) for each n in (N - M) C(n) = MIN(C(n), C (w) + l(w, n )) CSE30264

  23. Link State Example A 6 3 1 F 1 B E 2 4 1 C D 9 Assume that A gets updates from everyone else via reliably flooded updates, i.e. A knows the topology of the graph CSE 30264

  24. Link State Example A 6 3 F,* 1 B,* 1 E,* 2 4 1 C,* D,* 9 Step 0: Set everyone’s weight to infinity Add ourselves as the lowest cost node CSE 30264

  25. Link State Example A 6 3 F,* 1 B,* 1 E,* 2 4 1 C,* D,* 9 Who has the lowest total reachable cost from our covered net? Lowest cost total reachable cost  E CSE 30264

  26. E wins, add it to our covered graph A 6 3 1 F,* B,* 1 E,1 2 4 1 C,* D,* 9 Who has the lowest total reachable cost from our covered net? Lowest cost total reachable cost  B or D tied at 2 CSE 30264

  27. B wins, add it to our covered graph A 6 3 1 F,* B,2 1 E,1 2 4 1 C,* D,* 9 Who has the lowest total reachable cost from our covered net? Lowest cost total reachable cost  D at 2 CSE 30264

  28. D wins, add it to our covered graph A 6 3 1 F,* B,2 1 E,1 2 4 1 C,* D,2 9 Who has the lowest total reachable cost from our covered net? Lowest cost total reachable cost  F with a cost of 3 CSE 30264

  29. F wins, add it to our covered graph A 6 3 1 F,3 B,2 1 E,1 2 4 1 C,* D,2 9 Who has the lowest total reachable cost from our covered net? Lowest cost total reachable cost  C with a cost of 6 CSE 30264

  30. C wins, all done A 6 3 1 F,3 B,2 1 E,1 2 4 1 C,6 D,2 9 CSE 30264

  31. What does it mean? A 6 3 1 F,3 B,2 1 E,1 2 4 1 C,6 D,2 9 CSE 30264

  32. OSPF • Open Shortest Path First Protocol • Authentication • Additional hierarchy • Load balancing Quintessential link state protocol CSE30264

  33. Metrics • Original ARPANET metric • measures number of packets queued on each link • took neither latency or bandwidth into consideration • New ARPANET metric • stamp each incoming packet with its arrival time (AT) • record departure time (DT) • when link-level ACK arrives, compute Delay = (DT - AT) + Transmit + Latency • if timeout, reset DT to departure time for retransmission • link cost = average delay over some time period • Revised ARPANET metric • compressed dynamic range • replaced Delay with link utilization • Practice • static metrics (e.g., 1/bandwidth) Why might variable weights be bad? CSE30264

  34. Global Internet Outline Subnetting Supernetting CSE30264

  35. How to Make Routing Scale • Flat versus Hierarchical Addresses • Inefficient use of Hierarchical Address Space • Class C with 2 hosts (2/254 = 0.78% efficient) • Class B with 256 hosts (256/65534 = 0.39% efficient) • Too many networks • Routing tables do not scale • Route propagation protocols do not scale Current routers – IPv4 – core  160k entries CSE30264

  36. Internet Structure Recent Past NSFNET backbone Stanford ISU BARRNET MidNet ■ ■ ■ regional Westnet regional regional Berkeley PARC UNL KU UNM NCAR UA CSE30264

  37. Large corporation “Consumer” ISP Peering point Backbone service provider Peering point “Consumer” ISP “Consumer” ISP Large corporation Small corporation Internet Structure Today CSE30264

  38. Abilene – aka Internet 2 CSE 30264

  39. Subnetting • Add another level to address/routing hierarchy: subnet • Subnet masks define variable partition of host part • Subnets visible only within site CSE30264

  40. Forwarding Algorithm D = destination IP address for each entry (SubnetNum, SubnetMask, NextHop) D1 = SubnetMask & D if D1 = SubnetNum if NextHop is an interface deliver datagram directly to D else deliver datagram to NextHop • Use a default router if nothing matches • Not necessary for all 1s in subnet mask to be contiguous • More likely than not, it will be • Can put multiple subnets on one physical network • Subnets not visible from the rest of the Internet CSE30264

  41. Supernetting • Assign block of contiguous network numbers to nearby networks • Called CIDR: Classless Inter-Domain Routing • Represent blocks with a single pair (first_network_address, count) • Restrict block sizes to powers of 2 • Use a bit mask (CIDR mask) to identify block size • All routers must understand CIDR addressing CSE30264

  42. CIDR Instead of advertising two networks upstream, just advertise one Corporation X Border gateway (11000000000001000001) (advertises path to Regional network 11000000000001) Corporation Y (11000000000001000000) CSE30264

  43. Route Propagation • Know a smarter router • hosts know local router • local routers know site routers • site routers know core router • core routers know everything • Autonomous System (AS) • corresponds to an administrative domain • examples: University, company, backbone network • assign each AS a 16-bit number • Two-level route propagation hierarchy • interior gateway protocol (each AS selects its own) • exterior gateway protocol (Internet-wide standard) CSE30264

  44. Inter-Domain/Intra-Domain Edge router Core router CSE30264

  45. Popular Interior Gateway Protocols • RIP: Route Information Protocol • developed for XNS • distributed with Unix • distance-vector algorithm • based on hop-count • OSPF: Open Shortest Path First • recent Internet standard • uses link-state algorithm • supports load balancing • supports authentication CSE30264

  46. EGP: Exterior Gateway Protocol • Overview • designed for tree-structured Internet • concerned with reachability, not optimal routes • Protocol messages • Neighbor acquisition: one router requests that another be its peer; peers exchange reachability information • Neighbor reachability: one router periodically tests if the another is still reachable; exchange HELLO/ACK messages; uses a k-out-of-n rule • Routing updates: peers periodically exchange their routing tables (distance-vector) CSE30264

  47. BGP-4: Border Gateway Protocol • AS Types • Stub AS: has a single connection to one other AS • carries local traffic only • Multihomed AS: has connections to more than one AS • refuses to carry transit traffic • Transit AS: has connections to more than one AS • carries both transit and local traffic • Each AS has: • one or more border routers • one BGP speaker that advertises: • local networks • other reachable networks (transit AS only) • gives path information CSE30264

  48. Large corporation “Consumer” ISP Peering point Backbone service provider Peering point “Consumer” ISP “Consumer” ISP Large corporation Small corporation Multi-Backbone Internet CSE30264

  49. BGP Example • Speaker for AS2 advertises reachability to P and Q • network 128.96, 192.4.153, 192.4.32, and 192.4.3, can be reached directly from AS2 • Speaker for backbone advertises • networks 128.96, 192.4.153, 192.4.32, and 192.4.3 can be reached along the path (AS1, AS2). • Speaker can cancel previously advertised paths 128.96 Customer P 192.4.153 (AS 4) Regional provider A (AS 2) Customer Q 192.4.32 (AS 5) 192.4.3 Backbone network (AS 1) Customer R 192.12.69 (AS 6) Regional provider B (AS 3) Customer S 192.4.54 (AS 7) 192.4.23 CSE30264

  50. IP Version 6 • Features • 128-bit addresses (classless) • multicast • real-time service • authentication and security • autoconfiguration • end-to-end fragmentation • protocol extensions • Header • 40-byte “base” header • extension headers (fixed order, mostly fixed length) • fragmentation • source routing • authentication and security • other options CSE30264

More Related