cs 514 computer networks lecture 9 global routing
play

CS 514: Computer Networks Lecture 9: Global Routing Xiaowei Yang - PowerPoint PPT Presentation

CS 514: Computer Networks Lecture 9: Global Routing Xiaowei Yang xwy@cs.duke.edu Overview Continue our discussion on resource allocation Introduction to global routing Another important and fundamental problem in networking


  1. CS 514: Computer Networks Lecture 9: Global Routing Xiaowei Yang xwy@cs.duke.edu

  2. Overview • Continue our discussion on resource allocation • Introduction to global routing – Another important and fundamental problem in networking

  3. Review • A fundamental question of networking: who gets to send at what speed?

  4. Design Space for resource allocation • Router-based vs. Host-based • Reservation-based vs. Feedback-based • Window-based vs. Rate-based

  5. An example R(t) P=5 P=3 t=0 t=4 P=6 P=2 P=4 t=12 t=6 t=1 0 t • Two flows, unit link speed 1 bit per second • R(t) may be flat if there is no flow in the system

  6. Design space for resource allocation • Router+host joint control – Router: Early signaling of congestion – Host: react to congestion signals – Case studies: DECbit, Random Early Detection

  7. DECbit • Add a congestion bit to a packet header • A router sets the bit if its average queue length is non-zero – Queue length is measured over a busy+idle interval • If less than 50% of packets in one window do not have the bit set – A host increases its congest window by 1 packet • Otherwise – Decreases by 0.875 • AIMD

  8. Random Early Detection • Random early detection (Floyd93) – Goal: operate at the “knee” – Problem: very hard to tune (why) • RED is generalized by Active Queue Managment (AQM) • A router measures average queue length using exponential weighted averaging algorithm: – AvgLen = (1-Weight) * AvgLen + Weight * SampleQueueLen

  9. RED algorithm p 1 avg_qlen min_thresh max_thresh • If AvgLen ≤ MinThreshold – Enqueue packet • If MinThreshold < AvgLen < MaxThreshold – Calculate dropping probability P – Drop the arriving packet with probability P • If MaxThreshold ≤ AvgLen – Drop the arriving packet

  10. Even out packet drops TempP 1 avg_qlen min_thresh max_thresh • TempP = MaxP x (AvgLen – Min)/(Max-Min) • P = TempP / (1 – count * TempP) • Count – keeps track of how many newly arriving packets have been queued when min < Avglen < max • It keeps drop evenly distributed over time, even if packets arrive in burst

  11. An example • MaxP = 0.02 • AvgLen is half way between min and max thresholds • TempP = 0.01 • A burst of 1000 packets arrive • With TempP, 10 packets may be discarded uniformly randomly among the 1000 packets • With P, they are likely to be more evently spaced out, as P gradually increases if previous packets are not discarded

  12. Explicit Congestion Notification • A new IETF standard • Two bits in IP header – 00: No ECN support – 01/10: ECN enabled transport – 11: Congestion CE=1 experienced X ECE=1 • Two TCP flags – ECE: congestion CWR=1 experienced – CWR: cwnd reduced

  13. DiffServ with RED • DiffServ – Treating different flows with different priorities

  14. Red with In or Out (RIO) • Similar to RED, but with two separate probability curves • Has two classes, � In � and � Out � (of profile) • � Out � class has lower Min thresh , so packets are dropped from this class first – Based on queue length of all packets • As avg queue length increases, � in � packets are also dropped – Based on queue length of only “in” packets 15

  15. RIO Drop Probabilities P (drop out) P (drop in) P max_out P max_in min_in max_in min_out max_out avg_in avg_total 16

  16. Edge Router Input Functionality Traffic Conditioner 1 Flow 1 Traffic Flow N Conditioner N Arriving Forwarding Packet packet engine classifier Best effort Classify packets based on packet header 17

  17. Traffic Conditioning Drop on overflow Packet Packet Wait for Set EF bit output input token No token token Packet Packet Set AF Test if output input token � in � bit 18

  18. Router Output Processing • Two queues: EF packets on higher priority queue • Lower priority queue implements RED � In or Out � scheme (RIO) EF What DSCP? High-priority Q Packets out AF If � in � set Low-priority Q incr in_cnt If � in � set RIO queue decr in_cnt management 19

  19. Edge Router Policing no Token Clear � in � bit available? AF � in � set Arriving Forwarding Not marked Is packet packet engine marked? EF set no Token Drop packet available? 20

  20. Summary • The problem of network resource allocation – Case studies • TCP congestion control • Fair queuing • Active queue management – Random Early Detection

  21. Global Routing

  22. What is routing? End-hosts Routers

  23. The Internet: Zooming In • ASes: Independently owned & operated commercial entities Autonomous Systems (ASes) Abilene BGP Comcast Duke AT&T Cogent IGPs (OSPF, etc)

  24. ASes (or domains) • Autonomously administered • Economically motivated • All must cooperate to ensure reachability • Routing between: BGP • Routing inside: Up to the AS – OSPF, E-IGRP, ISIS (You may have heard of RIP; almost nobody uses it) • Inside an AS: Independent policies about nearly everything.

  25. Transit ASes vs Stub ASes AT&T BGP Abilene Comcast Duke Cogent All ASes are not equal

  26. AS relationships • Very complex economic landscape. • Simplifying a bit: – Transit: “I pay you to carry my packets to everywhere” (provider-customer) – Peering: “For free, I carry your packets to my customers only.” (peer-peer) • Technical definition of tier-1 ISP: In the � default- free � zone. No transit. – Note that other “tiers” are marketing, but convenient. “Tier 3” may connect to tier-1.

  27. Zooming in 4 Tier 1 Tier 1 ISP ISP Default free, Has information on every prefix $$ Default: provider $$ Tier 2 Tier 2 Tier 2 $$ Regional Tier 3 (local) Tier 2: Regional/National Tier 3: Local

  28. Who pays whom? • Transit: Customer pays the provider – Who is who? Usually, the one who can “live without” the other. AT&T does not need Duke, but Duke needs some ISP. • What if both need each other? Free Peering. – Instead of sending packets over $$ transit, set up a direct connection and exchange traffic for free!

  29. • Tier 1s must all peer with each other by definition – Tier 1s form a full mesh Internet core • Peering can give: – Better performance – Lower cost – More “efficient” routing (keeps packets local) • But negotiating can be very tricky!

  30. Business and peering • Cooperative competition • Much more desirable to have your peer � s customers – Much nicer to get paid for transit • Peering � tiffs � are relatively common 31 Jul 2005: Level 3 Notifies Cogent of intent to disconnect. 16 Aug 2005: Cogent begins massive sales effort and mentions a 15 Sept. expected depeering date. 31 Aug 2005: Level 3 Notifies Cogent again of intent to disconnect (according to Level 3) 5 Oct 2005 9:50 UTC: Level 3 disconnects Cogent. Mass hysteria ensues up to, and including policymakers in Washington, D.C. 7 Oct 2005: Level 3 reconnects Cogent During the � outage � , Level 3 and Cogent � s singly homed customers could not reach each other. (~ 4% of the Internet � s prefixes were isolated from each other)

  31. Terms • Route: a network prefix plus path attributes • Customer/provider/peer routes: route advertisements heard from customers/providers/peers. • Transit service: If A advertises a route to B, it implies that A will forward packets coming from B to any destination in the advertised prefix 152.3/16 152.3/16 UNC Duke NC RegNet 152.2.3.4 152.3.137.179

  32. BGP version 4 • Design goals: – Scalability as more networks connect – Policy: ASes should be able to enforce business/routing policies • Result: Flexible attribute structure, filtering – Cooperation under competition: • ASes should have great autonomy for routing and internal architecture • But BGP should provide global reachability

  33. BGP Autonomous Systems (ASes) Route Advertisement Traffic Session (over TCP) BGP peers

  34. • BGP messages – OPEN – UPDATE • Announcements – Dest Next-hop AS Path … other attributes … – 128.2.0.0/16 196.7.106.245 2905 701 1239 5050 9 • Withdrawals – KEEPALIVE • Keepalive timer / hold timer • Key thing: The Next Hop attribute

  35. Path Vector • ASPATH Attribute – Records what ASes a route went through – Loop avoidance: Immediately discard – Short path heuristics • Like distance vector, but fixes the count-to- infinity problem

  36. An example of BGP advertisement • BGP routing table entry for 152.3.0.0/16, version 1009002 • Paths: (36 available, best #10, table default) • Not advertised to any peer • Refresh Epoch 1 • 54728 20130 6939 11164 81 13371 • 140.192.8.16 from 140.192.8.16 (140.192.8.16) • Origin IGP, localpref 100, valid, external • rx pathid: 0, tx pathid: 0 • Refresh Epoch 1 • 58901 51167 3356 209 81 13371 • 93.104.209.174 from 93.104.209.174 (93.104.209.174) • Origin IGP, localpref 100, valid, external • rx pathid: 0, tx pathid: 0 • Refresh Epoch 1

Recommend


More recommend