lecture 8 congestion control
play

Lecture 8 Congestion Control EECS 122 University of California - PowerPoint PPT Presentation

Lecture 8 Congestion Control EECS 122 University of California Berkeley TOC: Congestion Control The Problem Questions Approaches TCP: Algorithm TCP Refinements Summary EECS 122 Walrand 2 Congestion Control: The Problem Flows share


  1. Lecture 8 Congestion Control EECS 122 University of California Berkeley

  2. TOC: Congestion Control The Problem Questions Approaches TCP: Algorithm TCP Refinements Summary EECS 122 Walrand 2

  3. Congestion Control: The Problem Flows share links: How to share the links bandwidth? EECS 122 Walrand 3

  4. Congestion Control: Questions What should be the ideal sharing? � Does it matter? � Discovering available bandwidth � What is fair? EECS 122 Walrand 4

  5. Questions: Does it matter? Congestion occurs � Access link � Slow link (56k, DSL, T1, wireless, …) � Access network � E.g., behind the DSLAM 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 EECS 122 Walrand 5

  6. Questions: Available bandwidth? Example: x A B 10 10 3 6 3 10 10 10 10 z C y E D F = router = host = link with bandwidth of 3Mbps 3 (same for 6 and 10) x, y, z = throughput of flows EECS 122 Walrand 6

  7. Questions: Available bandwidth? Example: x A B 10 10 3 6 3 10 10 10 10 z C y E D F • Assume C � D with rate y and E � F with rate z • How does A “discover” the available bandwidth to B? • Some approaches: 1. Reservation 2. Adapt to congestion 3. Test for sufficient bandwidth 4. Pricing congestion EECS 122 Walrand 7

  8. Questions: Available bandwidth? Example: x A B 10 10 3 6 3 10 10 10 10 z C y E D F • Assume C � D with rate y and E � F with rate z • How does A “discover” the available bandwidth to B? • Some approaches: 1. Reservation 2. Adapt to congestion 3. Test for sufficient bandwidth 4. Pricing congestion EECS 122 Walrand 8

  9. Available bandwidth: Reservation x A B 10 10 3 6 3 10 10 10 10 z C y E D F 1. Routers (or manager) keep track of reserved rates 2. A requests a rate R to B from the network 3. The network figures out if R is available 4. If R is available, routers (or manager) update reservations and confirm to A 5. Note: Complex, Slow, Requires enforcement, Renegotiations, Pricing EECS 122 Walrand 9

  10. Available bandwidth: Adapt x A B 10 10 3 6 3 10 10 10 10 z C y E D F 1. Transmit and slow down if congestion occur 2. 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 3. Notes: • No guarantees: throughput may drop • Key question: how to adapt rates EECS 122 Walrand 10

  11. Available bandwidth: Test x A B 10 10 3 6 3 10 10 10 10 z C y E D F 1. Assume flows require at most 1Mbps (e.g., video) 2. Routers monitor their rates to see if they have at least 1 Mbps of available bandwidth; they mark packets otherwise 3. If A wants a new flow to B, it sends test packets to B 4. If routers do not mark test packets, then A can start its new flow; otherwise, A does not start it 5. Advantages: 1. relatively simple 2. guarantee EECS 122 Walrand 11

  12. Available bandwidth: Pricing Example: x A B 10 10 3 6 3 10 10 10 10 z C y E D F • 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 EECS 122 Walrand 12

  13. Questions: What is Fair? Example: x A B 10 10 3 6 3 10 10 10 10 z C y E D F • 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) EECS 122 Walrand 13

  14. Congestion Control: Approaches Telephone Network: Reservation Transmission Control Protocol (TCP) � Adapt rate to congestion � Algorithm for adaptation attempts to be fair … User Datagram Protocol (UDP) � Transmit and hope for the best Various proposals for Internet: � Reservation � Pricing � Test � Note: Either by hosts or between domains EECS 122 Walrand 14

  15. Congestion Control: TCP Algorithm Principles Example Multiple Sources A Bad Algorithm: AIAD AIMD: Additive Increase – Multiplicative Decrease Why AIAD Fails EECS 122 Walrand 15

  16. TCP Algorithm: Principles We focus on the “standard” TCP (reno) Idea: � Not congested => increase rate � Congested => slow down Questions: � How to detect congestion? Missing ACKs � � How to increase/slow down? AIMD � EECS 122 Walrand 16

  17. TCP Algorithm: Example C = 50 pkts/RTT x A B No congestion � x increases by one packet/RTT every RTT Congestion � decrease x by factor 2 Rate (pkts/RTT) 60 50 40 30 Backlog in router (pkts) 20 Congested if > 20 10 0 1 28 55 82 109 136 163 190 217 244 271 298 325 352 379 406 433 460 487 EECS 122 Walrand 17

  18. TCP Algorithm: Multiple Sources C = 50 pkts/RTT x A B y D E No congestion � rate increases by one packet/RTT every RTT Congestion � decrease rate by factor 2 60 Rates equalize � fair share 50 40 30 20 10 0 1 28 55 82 109 136 163 190 217 244 271 298 325 352 379 406 433 460 487 EECS 122 Walrand 18

  19. TCP Algorithm: Bad Algorithm C = 50 pkts/RTT x A B y D E No congestion � x increases by one packet/RTT every RTT Congestion � decrease x by 1 60 50 40 30 20 10 0 1 28 55 82 109 136 163 190 217 244 271 298 325 352 379 406 433 460 487 EECS 122 Walrand 19

  20. TCP Algorithm: AIMD C x A B y D E y C Limit rates: x = y x EECS 122 Walrand 20

  21. TCP Algorithm: Why AIAD Fails C x A B y D E y C Limit rates: x and y depend on initial values x EECS 122 Walrand 21

  22. Congestion Control: TCP Refinements Fast Retransmit Fast Recovery: 1 st Look Fast Recovery: 2 nd Look Slow Start Window Updates Flow Control Summary EECS 122 Walrand 22

  23. Refinements: Fast Retransmit Cumulative ACKs: n ACK # = next expected # n+1 n+2 n+3 n+1 timeout 3 rd duplicated ACK: n+1 n+1 � likely packet loss n+1 � retransmit EECS 122 Walrand 23

  24. Refinements : Fast Recovery (1) Timeout � Reset Window = 1 unit (MSS) 3 rd Dup ACK � Window/2 3 rd Dup ACK Window Timeout Slope = n 1 MSS/RTT n/2 1 Moderate congestion Severe congestion (subsequent pkts arrived) EECS 122 Walrand 24

  25. Refinements : Fast Recovery (2) Window adjustment is tricky: Want W � W/2 W/2 outstanding W/2 outstanding ssthresh = W/2 packets: packets: W = ssthresh + 3 n+1, …, n+W/2 n+1, …, n+W/2 W = W + 1 at each Dup Ack W = n + W/2 W = ssthresh n - 3 W n 1 EECS 122 Walrand 25

  26. Refinements : Slow Start Objective: Discover available bdw fast Solution: Exponential increase of window 65KB Threshold W Additive n Slope = 1/RTT n/2 exp exp 1 Timeout EECS 122 Walrand 26

  27. Refinements : Window Updates Exponential: W = W + 1 at each ACK: W = 1 W = 2 W = 4 W = 8 Additive: W = W + 1/W at each ACK: W = 8.125 + 1/8.125 ? 8 + 2/8 W = 8 + 1/8 W ? 8 + 8/8 = 9 W = 8 W ? 9 + 9/9 = 10 EECS 122 Walrand 27

  28. Refinements : Flow Control Objective: Avoid saturating destination Algorithm: Receiver avertizes window RAW window = min{RAW – OUT, W} where OUT = Oustanding = Last sent – last ACKed W = Cong. Window from AIMD + refinements RAW [ACK | RAW | …] EECS 122 Walrand 28

  29. Refinements : Summary Actual window = min{RAW - OUT, W} 65KB W 3DA 3DA TO X 0.5 X 0.5 X 0.5 X 0.5 3 3 TO 1 CA SS SS CA EECS 122 Walrand 29

  30. Congestion Control: Summary Slow Start: Discover available bandwidth Congestion Avoidance: AIMD � Tries to be fair Refinements: � Fast Retransmit: 3DA � Fast Recovery: Reset W to W/2 (instead of W = 1) [More precisely: ssthresh = W/2, W = W + 1 per DA, W = ssthresh when get new ACK.] � TO: set ssthresh = W/2, W = 1, SS until W = ssthresh, then CA Timers: � Timeout = Average + 4 Deviations � If time out � Timeout x 2 Reset after new packet or new ACK Flow Control: � Window = min{RAW – OUT, W} EECS 122 Walrand 30

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend