next up previous
Next: Startup Up: Congestion Control Algorithm Previous: Translating the relative delay

Adjusting the window

We attempt to keep the SC-TCP congestion window such that Equation 2 is satisfied within a range of $n \pm \delta$, where $\delta$ is some fraction of a packet. Adjustments are made to the congestion window only at discrete intervals, i.e., in the time taken to empty a windowful of data from the network. Over this interval, MWi-1 is calculated and at the end of the interval it is added to Nti-1. If the result falls within the range of $n \pm \delta$, the congestion window is maintained at its current size. If, however, Nti falls below $n - \delta$, the system is not being pushed enough and the window is increased linearly during the next interval. If Nti rises above $n + \delta$, then the system is being pushed too high above our desired operating point, and the congestion window is decreased linearly during the next interval.

In Reno TCP the congestion control algorithm is driven by the arrival of ACKs at the source (the window is incremented by 1/cwnd for each ACK while in the congestion avoidance phase) and is for this reason adversely affected by ACK loss [11]. ACK loss becomes a predominant feature in TCP over asymmetric networks [11]. Because our congestion control algorithm makes adjustments to the window based upon the advancement of the window and not on the arrival of ACKs in general, the algorithm is robust to ACK loss.


next up previous
Next: Startup Up: Congestion Control Algorithm Previous: Translating the relative delay
Chris Parsa
2000-01-25