Congestion Avoidance and Control

From: Shvetank <shvetank_at_eecg.toronto.edu>
Date: Tue, 26 Sep 2006 04:47:00 -0400

Motivation : This paper discusses the seven new algorithms that were put
into TCP to make sure that it adhered to the "packet conservation"
principle. The motivations for these congestion mechanisms and control
algorithms are discussed.

Key Points:

1) The paper was a result of congestion collapse incident and the
investigations that were triggered by it.

2) A new packet isn't put into the network until an old packet leaves.
This helps in a self clocking mechanism for stability in a network
(especially in the face of congestion). This principle gets violated when:

   1. connection doesn't get to equilibrium
   2. sender injects a new packet before an old packet has exited
   3. equilibrium can't be reached because of resource limits along the
path.

3) Slow-start (getting to equilibrium) - Add a congestion window (cwnd)
to the per connection state. When starting or restarting after a loss,
set cwnd to one packet. On each ack for new data, increase cwnd by one
packet. When sending, send the minimum of the receiver's advertised
window and cwnd. Slow start increases congestion window in a controlled
fashion until the sender hits the receiver's advertised window size. It
helps in avoiding bursts of data during start to cause persistent
failure mode of continuous retransmissions.

4) Round-trip timing (conservation at equilibrium) - The round-trip time
and deviation in round-trip time increases quickly with load. This helps
in eliminating spurious transmissions and eliminates wasted bandwidth.
The RTT time estimate is much a better indicator and exponential
back-off holds promise for working in most situations.

5) Congestion avoidance (adapting to the path) - On most network paths,
network congestion seems to be (almost) always the cause of packet loss
and a timeout is (almost) always due to a lost packet. Thus, it seems to
be a good indicator of network congestion.

6) It is suggested that since at gateways are the place where
convergence of flows takes place, it seems natural to do control sharing
and fairness allocation there.

7) A lot of interesting side-by-side graphs have been drawn which
provide interesting comparisons of the ideas explored.

8) Slow start doesn't seem to optimally utilize the available bandwidth.

9) The reasoning is well supported by theory which helps in
understanding more clearly the roots of constants and ideas.

Lesson Learnt: Accidents can lead to great discoveries by methodical
investigation.
Received on Tue Sep 26 2006 - 04:46:44 EDT

This archive was generated by hypermail 2.2.0 : Tue Sep 26 2006 - 08:06:29 EDT