1 / 21

Congestion Control - Supplementary

Congestion Control - Supplementary. Slides are adapted on Jean Walrand’s Slides. TOC: Congestion Control. Congestion control for bandwidth sharing Cheating TCP Buffer Size ECN RED TCP Unfairness TCP Vegas. Congestion Control: Questions. How to avoid network congestion?

fausta
Télécharger la présentation

Congestion Control - Supplementary

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. Congestion Control - Supplementary Slides are adapted on Jean Walrand’s Slides

  2. TOC: Congestion Control • Congestion control for bandwidth sharing • Cheating TCP • Buffer Size • ECN • RED • TCP Unfairness • TCP Vegas

  3. Congestion Control: Questions • How to avoid network congestion? • How to recover from congestion? • Congestion occurs at access link and access network • How to share the links bandwidth? • If bandwidth is allocated and enforced properly, no congestion should occur. • Can improve treatment of flows • E.g., one flow should not get a much smaller fraction of bandwidth • Some flows might need some guaranteed bandwidth • Discovering available bandwidth • What is fair?

  4. = router = host = link with bandwidth of 3Mbps(same for 6 and 10) 3 Questions: Available bandwidth? • Example: x, y, z = throughput of flows

  5. Questions: Available bandwidth? • Example: • What is available bandwidth? (See later) • How does A “discover” the available bandwidth to B? • Some approaches: • Reservation: e.g., Telephone • Adapt to congestion: TCP • Pricing congestion: research topic

  6. Available bandwidth: Reservation • Routers (or manager) keep track of reserved rates • A requests a rate R to B from the network • The network figures out if R is available • If R is available, routers (or manager) update reservations and confirm to A • Note: complex, slow, requires connection setup and enforcement

  7. Available bandwidth: Adapt • Transmit and slow down if congestion occur • Example: • Initially: x= 0, y = 3, z = 3 • Then A increases its rate; C and E notice congestion and slow down • Later, C stops: A and E increase rates • Notes: • No guarantees: throughput may drop • Key question: how to adapt rates, e.g., TCP

  8. Available bandwidth: Pricing • Example: • When they get saturated, routers mark packets • If a flow with rate R uses saturated links, it gets marks with rate R • Each mark costs one unit • Source slows down if price becomes excessive • x= 1+, y = 2+, z = 2+  pA = 1 + 1; pC = pE = 2 • x = 2+, y = 1+, z = 1+ pA = 2 + 2; pC = pE = 1

  9. Questions: What is Fair? • Example: • x = y = z = 1.5: fair in max-min sense • x = 0, y = z = 3: maximizes x + y + z • 5x = 4y = 4z: equalizes resources flows use with x = 1.33, y = z = 1.67 • What if AB needs 2Mbps?(and is willing to pay for it)

  10. C x A B y D E Cheating: Increase Faster y C x increases by 2 MSS/RTT per RTT y increases by 1 MSS/RTT per RTT Limit rates: x = 2y x

  11. C = 50 x A B y D E Cheating: Increase Faster Rate time

  12. C x A B y D E Cheating: Start SS with CongWin > 1 x starts SS with CongWin = 4 y starts SS with CongWin = 1

  13. C x A B y D E Cheating: Open Many Connections • Assume • A starts 10 connections to B • D starts 1 connection to E • Each connection gets about the same throughput • Then A gets 10 times more throughput than D

  14. ECN: Explicit Congestion Notification • Standard TCP: • Losses needed to detect congestion • Wasteful and unnecessary • ECN: • When congested, routers mark (IP) packets instead of dropping them • Destination marks ACKs of marked packets • Source set CongWin = CongWin/2 when it sees mark • Advantages: • No time wasted to retransmit • Link errors not confused with congestion • Example: without ECN, at wireless link, packets can get corrupted by noise and interference, and get dropped eventually. Sender will think congestion has occurred.

  15. Explicit Congestion Notification • Illustration: A B A B CongWin = CongWin/ 2

  16. Explicit Congestion Notification Backward Compatibility: • Unused bits from TCP and IP headers are used for ECN. • One bit in IP header indicates if hosts implement ECN • If it does, router marks packet • If it does not, router drops packet

  17. RED Random Early Detection:As queue builds up, drop or mark packets with increasing probability (before queue gets full) • Advantages: • Avoids penalizing streams with large bursts • This is done by keeping the queue size smaller than the buffer size • Earlier marking reduces dropped packets • De-synchronizes the source behaviors

  18. RED: Illustration C Mbps PACKETS • Calculate recent average of queue length: Qav Qav(n+1) = (1 – b) Qav(n) + b Q(n) • 0 < b < 1 • Determine drop or mark probability p(Qav): 1 k Qav 0 H L

  19. Router Buffers: Rule of Thumb • Imagine that all connections on input port with rate R “burst” for RTT seconds (until stopped by RED) • Router must store RxRTT for each port • Example: • 40 Gbps throughput (sum of port rates) • RTT = 200 ms (worst case?) • Then storage = 8 Gbits = (about) 1 GByte • Question: Is this reasonable?

  20. Unfairness • Fact: • TCP favors connections with short RTT • Cause: • Increase rate is 1 MSS/RTT, so that it is faster for connections with small RTT • Recall our discussion of “Cheating RTT” • It is quite possible for a connection to get only a few percent of its fair share • Solutions: • Modify TCP to increase in proportion to RTT?Problem: Estimate of RTT is noisy • TCP Vegas (see next)

  21. TCP Vegas • Consider one queue: C x A B y D E • Assume both connections have the same backlog • Then they have the same throughput … • Vegas Algorithm: • Estimate backlog by • Q = Outstanding – Rate  Base_RTT • Rate = Bytes_Sent_Successfully / Current_RTT • If Q > 3 MSS, then slow down; otherwise, speed up • Problem: Reno clobbers Vegas (unlike in real life)

More Related