1 / 19

2004.5.18.

2004.5.18. Last Class This Class Chapter 6.3. ~ 6.4. TCP congestion control. When congestion happens …. ssthresh = ½ of cwnd In case of TCP Tahoe, cwnd = 1 When timeout happened/triple ACKs arrived Start from minimum sending rate (slow start) In case of TCP Reno, cwnd = ssthresh

badru
Télécharger la présentation

2004.5.18.

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. 2004.5.18. • Last Class • This Class • Chapter 6.3. ~ 6.4. • TCP congestion control

  2. When congestion happens … • ssthresh = ½ of cwnd • In case of TCP Tahoe, cwnd = 1 • When timeout happened/triple ACKs arrived • Start from minimum sending rate (slow start) • In case of TCP Reno, cwnd = ssthresh • When triple duplicate ACKs arrive • Sending rate decreased only by half (fast recovery) • When timeout happened, same as in Tahoe.

  3. Problems with TCP Reno • Triple ACKs often fails to be triggered due to either • Losses in burst • Small sending window • Timeout needs unnecessarily long delay. • Congestion control in Reno • Need to create packet losses to find the available bandwidth of the connection • Continually congesting the network • Creating losses for other connections sharing the link. • Oscillations

  4. TCP Vegas • Ideas • Detect congestion before losses occur • Compare RTT between two ACKs • If delay has increased, retransmit before a third ACK • Lower the rate when this imminent packet loss is detected • Estimate the thruput by cwnd and RTT • Increase/decrease cwnd by 1

  5. How would you compare Tahoe, Reno, and Vegas? • Which town offers best skiing? • Highest probability to win a jackpot? • All employ AIMD • Distributed – no coordinationbetween connections needed? • Efficient – desired load level close to total? • Fairness – connections split the share equally? • Responsive to and smooth in equilibrium?

  6. Congestion Avoidance • Instead of reacting to congestion, try to predict when congestion is about to happen and reduce sending rates • DECbit • router sets congestion bit to notify users of impending congestion • Random Early Detection • Source-based Congestion Avoidance

  7. Random Early Drop (RED) • Main idea • Instead of waiting for the queue to get full to start dropping, it drops arriving packets with some drop probability whenver queue length exceeds some threshold.

  8. MaxT MinT Drop Probability 1 MaxP AvgQLen MinT MaxT Drop with some p Drop all

  9. AvgQLen = (1-α) AvgQLen + α SampleLen Queue Length Instantaneous Average Time

  10. Drop Probability of RED TempP = MaxP ·(AvgQLen – MinT)/(MaxT-MinT) P = TempP/(1-count · TempP) count = # of pkts not dropped while MinT < AvgQLen < MaxT

  11. Source-Based Congestion Avoidance • Key idea • Figure out that some router’s queue is building up • Monitor RTT for increase

  12. Source-Based Congestion Avoidance Mechanisms • If CurrRTT > (minRTT+maxRTT)/2 Then decrease cwnd by 1/8 • If (CurrW – OldW) x (CurrRTT – OldRTT) > 0 Then decrease cwnd by 1/8 Else increase cwnd by 1/8 • Per RTT, increase/decrease cwnd by 1 pkt Compare thruput with previous one • TCP Vegas

  13. When congestion happens … • ssthresh = ½ of cwnd • In case of TCP Tahoe, cwnd = 1 • When timeout happened/triple ACKs arrived • Start from minimum sending rate (slow start) • In case of TCP Reno, cwnd = ssthresh • When triple duplicate ACKs arrive • Sending rate decreased only by half (fast recovery) • When timeout happened, same as in Tahoe.

  14. Problems with TCP Reno • Triple ACKs often fails to be triggered due to either • Losses in burst • Small sending window • Timeout needs unnecessarily long delay. • Congestion control in Reno • Need to create packet losses to find the available bandwidth of the connection • Continually congesting the network • Creating losses for other connections sharing the link. • Oscillations

  15. TCP Vegas • Ideas • Detect congestion before losses occur • Compare RTT between two ACKs • If delay has increased, retransmit before a third ACK • Lower the rate when this imminent packet loss is detected • Estimate the thruput by cwnd and RTT • Increase/decrease cwnd by 1

  16. Quality of Service • Real-time applications • need more than best-effort • require some form of QoS guarantee • intolerant of loss/delay

  17. VoIP Timing Charts Sue speaks encoded and packetized at receiver played out

  18. QoS Support Approaches • IntServ’s RSVP • DiffServ • EF/AF • ATM • CBR • VBR-rt, VBR-nrt • ABR • UBR • Equation-based congestion control

  19. Next Class • HW #8 due • End-to-End data (Chap. 7)

More Related