1 / 37

TCP Vegas: New Techniques for Congestion Detection and Avoidance

TCP Vegas: New Techniques for Congestion Detection and Avoidance. Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science University of Arizona Tucson, AZ 85721. Presented By Khandoker Nadim Parvez Computer Science University of Calgary. Outline.

curry
Download Presentation

TCP Vegas: New Techniques for Congestion Detection and Avoidance

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. TCP Vegas: New Techniques for CongestionDetection and Avoidance Lawrence S. Brakmo Sean W. O’Malley Larry L. Peterson Department of Computer Science University of Arizona Tucson, AZ 85721 Presented By Khandoker Nadim Parvez Computer Science University of Calgary

  2. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas[1] • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit[2] • Effectiveness of Vegas Techniques • Conclusion

  3. Problem Statement / Motivation • Problems of TCP (Reno) • TCP needs packet loss to infer available bandwidth • TCP reduces transmission rate in response to each packet loss • Our motivation • To design a proactive TCP • To design a TCP that will be able to track the bottleneck bandwidth without incurring packet loss • To response to a loss event, not each packet loss • Multiple loss in a single window should be considered as a single loss event and hence should reduce the transmission rate only one once • To have a more aggressive TCPwhen we have proactive mechanism • retransmission and transmission should be more aggressive

  4. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit • Effectiveness of Vegas Techniques • Conclusion

  5. Background: TCP • Reliable ordered delivery • Reliability achieved by means of retransmissions if necessary • Cumulative acknowledgements • An acks acknowledges all contiguously received data • End-to-end semantics • Acknowledgements sent to TCP sender confirm delivery of data received by TCP receiver • Implements Congestion Control • Slow-Start • Congestion Avoidance

  6. Congestion avoidance Receiver Window Slow start threshold (ssthresh=8) ACK Slow start TCP: Congestion Control TCP Sink Source • Slow-Start Phase: When cwnd<ssthresh. cwnd increases exponentially,i.e. by 1 for each ACK. • Congestion Avoidance Phase: When cwnd>ssthresh. Cwnd increases linearly, i.e., by 1 in each RTT. • Transmission (without loss): • At 0 sec, cwnd=1 & speed= 1KB/S • At 1 sec, cwnd=2 & speed= 2KB/S • At 2 sec, cwnd=4 & speed= 4KB/S • At 3 sec, cwnd=8 & speed= 8KB/S • At 4 sec, cwnd=9 & speed= 9KB/S • At 5 sec, cwnd=10 & speed=10KB/S 500ms, 20KB/S

  7. TCP Reno • Slow-Start • Congestion Avoidance • Fast Retransmit • Retransmits the loss packet when it receives 3 dupacks • Fast Recovery • Enters into fast recovery with reception of 3 dupacks • Sets ssthresh=cwnd/2 • Sets cwnd=cwnd/2+3 • Exits fast recovery when receives the acknowledgement of the lost packet • Increases the congestion window by one for each received dupack Window Packet Sequence:

  8. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit • Effectiveness of Vegas Techniques • Conclusion

  9. TCP Vegas • Developed over TCP Reno • Modified Congestion Avoidance • Aggressive Retransmission (use fine grained timer) • With dupacks • With partial acks • Aggressive Congestion Window Adaptation • With recovery • With multiple loss • Initial setting • Modified Slow-Start

  10. Vegas: Modified Congestion Avoidance • Vegas Calculates (Once per RTT): • Expected Throughput=WindowSize/BaseRTT • Actual Throughput=ActualSentAmount/RTT • Static Parameters: •  = 1 pkts/RTT •  = 3 pkts/RTT

  11. Vegas: Modified Congestion Avoidance   Expected Throughput Throughput Actual Throughput ( Increase Tx) Actual Throughput ( Tx Unchanged) ( Decrease Tx) Actual Throughput

  12. Vegas: Modified Congestion Avoidance

  13. Vegas: Modified Congestion Avoidance • TCP transmission rate = cwnd/RTT • TCP takes congestion window updating decision once per RTT • The decision is applied throughput the next RTT for each received ACK as follows: • Increase Tx Rate (Expected-Actual>): : • cwnd = cwnd + 1/cwnd • Decrease Tx Rate (Expected-Actual<): • cwnd = cwnd - 1/cwnd • Tx Rate Unchanged (<Expected-Actual<): : • cwnd = cwnd

  14. Vegas: Aggressive Retransmission • With dupacks • When Vegas receives the first dupack or the second dupacks, it checks the fine grained timer expiry • If timer expirers, it retransmits immediately • With partial acks • For the first two partial acks, Vegas checks whether fine grained timer expires • If timer expires, it retransmits immediately Window Packet Sequence:

  15. Vegas: Aggressive cwnd Updating • With recovery • Reduce cwnd by one quarter instead of half when it enters into recovery • With multiple loss • In case of multiple segment loss from a single window, it reduces the cwnd only once • With Initial setting • cwnd is set to 2 instead of 1

  16. Vegas: Modified Slow-Start • Vegas Calculates (in every alternate RTT): • Expected Throughput=WindowSize/BaseRTT • Actual Throughput=ActualSentAmount/RTT • Static Parameters: •  = 1 pkts/RTT

  17. Vegas: Modified Slow-Start  Expected Throughput Throughput Actual Throughput ( Continue SS) ( Switch to CA) Actual Throughput

  18. Vegas: Modified Slow-Start • TCP keeps the congestion window fixed in every other RTT and it measures the throughput • On every next RTT, it does the followings: • Continue SS (Expected-Actual<): • Exponential Increase. • cwnd = cwnd + 1 for each ACK, that is, • Cwnd = 2 * cwnd for each RTT • Switch to CA (Expected-Actual>): • Set ssthresh=cwnd • Follow the rules of CA

  19. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit • Effectiveness of Vegas Techniques • Conclusion

  20. Simulation Topology • Target TCP runs from 1a to 1b • Background traffic runs from 3a to 3b

  21. TCP Reno with no Background Traffic

  22. TCP Vegas with no Background Traffic

  23. Vegas with Background Traffic

  24. Vegas: Simulation Result

  25. Vegas: Internet Experiments

  26. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit • Effectiveness of Vegas Techniques • Conclusion

  27. TCP Vegas Revisit: 3 Mechanisms • Congestion Avoidance(CA) • Modified Congestion Avoidance • Congestion Recovery(REC) • Aggressive Retransmission (use fine grained timer) • With dupacks • With partial acks • Aggressive Congestion Window Updating • With recovery • With multiple loss • Slow-Start(SS) • Modified Slow-Start • Initial cwnd

  28. Percentage of Throughput Variation

  29. Percentage of Throughput Variation

  30. Effectiveness of Vegas Mechanisms • Congestion Avoidance(CA) • Modified Congestion Avoidance • Congestion Recovery(REC) • Aggressive Retransmission (use fine grained timer) • With dupacks • With partial acks (Retransmission with 1st/2nd partial ack) • Aggressive Congestion Window Updating • With recovery (Reduction of cwnd by quarter) • With multiple loss • Slow-Start(SS) • Modified Slow-Start • Initial cwnd

  31. Vegas CA: Condition of Increment

  32. Vegas: Problems of CA [3] • Unfair Treatment of Old Connections • Old connections have smaller baseRTT • Vegas decreases Tx Rate if • Vegas increases Tx Rate if • Persistent Congestion

  33. Outline • Problem Statement / Motivation • Background: TCP/TCP Reno • TCP Vegas • Modified Congestion Avoidance • Aggressive Retransmission • Aggressive Window Adaptation • Modified Slow-Start • Simulation Results • Vegas Revisit • Effectiveness of Vegas Techniques • Conclusion

  34. Vegas: Conclusion • Less fluctuation • Less fluctuation in bottleneck queue • Less fluctuation in send rate • Enhanced Throughput • Better Utilization of bottleneck capacity • Unfair treatment of old connection • Ineffectiveness of congestion avoidance

  35. Questions ?

  36. THANKS

  37. Bibliography [1] Lawrence S. Brakmo and Larry L. Peterson, “TCP Vegas: End to end congestion avoidance on a global internet”, IEEE Journal on Selected Areas in Communication, 13(8):1465--1480, October 1995. [2] U. Hengartner, J. Bolliger, and Th. Gross, "TCP Vegas Revisited," in Proc. of IEEE Infocom '2000, March 2000. [3] Mo, R. J. La, V. Anantharam, and J. Walrand, “Analysis and comparison of TCP Reno and Vegas” , Proc. of IEEE INFOCOM'99, New York, NY, March 1999.

More Related