![TCP Congestion Control (1) TCP Congestion Control (1)](https://i0.wp.com/www/icons//next_motif.gif)
![TCP Congestion Control (2) TCP Congestion Control (2)](https://i0.wp.com/www/icons//up_motif.gif)
![TCP Congestion Control (3) TCP Congestion Control (3)](https://i0.wp.com/www/icons//previous_motif.gif)
![TCP Congestion Control (4) TCP Congestion Control (4)](https://i0.wp.com/www/icons//contents_motif.gif)
Next: Design AssumptionsUp: Extending TCP for Wireless Previous: Introduction
TCP uses a round-trip delay estimate for its adaptive windowingscheme to transmit data reliably over an unreliable network withtime varying bandwidth. An estimate of the round trip time ismaintained as a smoothed moving average [6] using the relation -
Similarly a smoothed variance (estimated as mean difference toavoid square root calculations in the kernel) is also maintained (TahoeTCP). A initial re-transmission timeout is then set as -
If an acknowledgement for a segment is not received within thetimeout, it is re-transmitted.
TCP uses a congestion window in the sender side to do congestionavoidance. The congestion window indicates the maximum amount ofdata that can be sent out on a connection without being acknowledged.TCP detects congestion when it fails to receive an acknowledgementfor a packet within the estimated timeout. In such a situation, itdecreases the congestion window to one maximum segment size (MSS),and under other cases it increases the congestion window by oneMSS. There also exists a congestion window threshold, which isset to half the congestion window size at the time when a re-transmitwas required.
The inherent assumption in this mechanism is that lack of an acknowledgementis due to network congestion. If a packet, however, is lost by thenetwork for reasons other than network congestion, then waiting forthe timer to run out is wasteful. This is a situation that may happenquite frequently in wireless networks, and so to improve TCP performance,it is needed to pre-empt re-transmissions before waiting for thetimer to run out.
To guard against this scenario, Reno TCP [7] uses Fast Re-transmit andFast Recovery algorithms. Both these algorithms depend on countingduplicate acknowledgements sent by the data receiver in response toeach additional segment received following some missing data. FastRe-transmit detects loss of a segment when three duplicate acknowledgementsare received, and re-transnits it. Fast Recovery algorithm attempts toestimate how much data is outstanding in the network by countingduplicate acknowledgements.
![TCP Congestion Control (7) TCP Congestion Control (7)](https://i0.wp.com/www/icons//next_motif.gif)
![TCP Congestion Control (8) TCP Congestion Control (8)](https://i0.wp.com/www/icons//up_motif.gif)
![TCP Congestion Control (9) TCP Congestion Control (9)](https://i0.wp.com/www/icons//previous_motif.gif)
![TCP Congestion Control (10) TCP Congestion Control (10)](https://i0.wp.com/www/icons//contents_motif.gif)
Next: Design AssumptionsUp: Extending TCP for Wireless Previous: IntroductionSuman Banerjee
Wed May 21 00:53:15 EDT 1997