1 / 21

Improving the Start-Up Behavior of a Congestion Control Scheme for TCP.

Improving the Start-Up Behavior of a Congestion Control Scheme for TCP. Janey C. Hoe Laboratory for Computer Science at MIT. 노상훈 , 권민혁 @ Pllab. Abstract. Introduction. Related Work. The Congestion Control Scheme. Slow-start problem. Fast retransmit problem #1 : Timeout. CWND is full

jennyvega
Download Presentation

Improving the Start-Up Behavior of a Congestion Control Scheme for TCP.

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. Improving the Start-Up Behavior of a Congestion Control Scheme for TCP. Janey C. Hoe Laboratory for Computer Science at MIT 노상훈, 권민혁 @ Pllab

  2. Abstract

  3. Introduction

  4. Related Work

  5. The Congestion Control Scheme

  6. Slow-start problem

  7. Fast retransmit problem #1: Timeout • CWND is full • 51 is recovered • By fast retransmit • 53 couldn’t recovered • Network is idle • Retransmission time0ut • Ignored cue • Max seq is 54 and Last ack is 53 • Obviously 53 was lost

  8. Fast retransmit problem #2: False Fast Retransmit

  9. Modification: Slow-start • Use better initial value of ssthresh • Estimated value is better than arbitrary default value • Estimation method • At first, initialize as previous default value (=64 seg) • During 3 ack (= establishing connection) • Least square estimation of bandwidth-delay product • Even if default value is high, CWND not ramp up riskily

  10. Modification: Slow-start • Prevent multiple packet losses during start-up period on severe environment

  11. Modification: Fast retransmit & Fast Recovery #1

  12. Modification: Fast retransmit & Fast Recovery #2 Yes, Still in fast retransmit phase • Fast retransmit phase • Setup • set ssthresh = ½ cwnd • cwnd = 1 segment • snd_next = snd_una • (2) set snd_high = snd_max • save_cwnd = ssthresh + 1 segment Retransmit (3) send using slow start algorithm (4) allow congestion window to increase as long as congestion window <= save_cwnd (5) do not start a new fast retransmit phase (6) upon receiving 2 duplicate ACK’s, send out 1 new packet beyond snd_high Seq number ACKed < snd_high Upon receiving 3 duplicate ACK’s begin fast restransmit Phase No cwnd=save_cwnd

  13. Modification: Fast retransmit & Fast Recovery #3 • Modified algorithm can handle multiple packet losses

  14. Simulation Environment • Bottle-neck link HOST 1 Switch1 Switch2 HOST 2 10Mbps 1600Kbps 10Mbps 50ms delay

  15. Simulation result - original • Multiple packet losses occurred during start-up period

  16. Simulation result – improved • Graph show new algorithm is better than original algorithm

  17. Conclusion • Proposes several possible changes to improve the start-up behavior of the congestion control scheme. • Estimated ssthresh value. • Modification Fast retransmit algorithm. • Tested in simulations and over real network. • These changes can significantly improve TCP’s performanceduringstart-up period • Byeliminating the wait for unnecessary timeout • These changes arenoticeable inshort TCP data transfers

  18. Reference • [1] Janey C. Hoe, Improving the Start-up Behavior of a Congestion Control Scheme for TCP, Proceedings of the ACM SIGCOMM Conference, 1996 • [2] Kevin Fall. Kannan Varadhan, ns Notes and Documentation, UC Berkeley, LBL, USC/ISI, and Xerox PARC

  19. Supplement 1:About Implementation. [2] ns Notes and Documentation

  20. Supplement 2:About Implementation

  21. Supplement 3:About graph • There is no TCL variable which is contain current sequence number. • We added new variable “just_seq_” and compiled.

More Related