Summary: CS740 Review of Congestion Avoidance and Control
Shijin Kong (login: krobin)
This paper introduces several fundamental technologies to avoid and control TCP congestion,
most of which are widely used in today's IPv4 network. It talks about slow start algorithm, which
effectively decreases retransmission times. One thing lead to another, a dynamic timer algorithm is
described to ensure the correctness of slow start, that is, most time-out is due to packet loss, not
because of broken time. The third contribution of this paper is multiplicative decrease and additive
increase in transmission windows to avoid congestion.
This is a quite early paper which devotes on end systems congestion control. With the fast
development of internet, end system congestion control is not enough to control the bandwidth for
TCP flows. In fact, those congestion avoidance and control algorithms were invented to just
resolve the problem caused by early congestions. Current urgent requirement is not only to limit
the transmission rate of TCP flows when in congestion, but in all time. As a solution, other
network parts like routers also play a role in today's congestion control.
In the future, my opinion is that congestion control only depending on protocol would be more
trivial while other technology looking the whole network as a entity will dominate the congestion
control. For example, as I know, there is an experimental substitute of TCP (called XCP) which
accepts regular updates from routers to immediately get the maximum non-congested window size,
which is more efficient and more intuitive that TCP's slow start/additive increase.