From: Tyler Robison (trobison@cs.washington.edu)
Date: Mon Oct 18 2004 - 01:16:35 PDT
This paper considers network congestion, and suggests several
techniques to prevent it, all based around a 'conservation of packets'
principle; after getting started, a new packet won't be added to the
network until another packet has been taken off. To get to this
equilibrium point he proposes a slow-start algorithm, in which the host
starts by sending a number of packets which grows exponentially, until
either it hits the window size (and stays there) or until it encounters
packet loss (and starts at 1 again). In terms of congestion avoidance,
the window is increased by 1/(the window size) for each ack received, and
is halved if a timeout occurs; this policy allows it to back-off if the
network is getting congested, and also to grow to fill the available
bandwidth. The combined version of this and slow-start involves advancing
the window size to a fairly safe value and then more slowly expanding it.
To determine when a packet has timed out one needs an accurate measure of
how long it should take, and so there is a section in the paper on
calculating such round-trip times.
The techniques proposed in this paper appear to give good results,
and in general seem like good ideas; the ideas seem well thought-out, and
well tested. Although the author doesn't list all of the alternatives he
considered before concluding anything, one gets the impression that he had
looked at various other options, and it is understandable given the
confines of the paper that the entire process can't be included.
One thing that does not appear to have been taken into account is
the possible influence of malicious entities; could any of these policies
be exploited in order to slow down a single host or segment of a network?
Also, what about a host maintaining multiple connections; if conservation
of packets is maintained for each connection, congestion could still occur
by opening more connections. If the conservation is maintained for all
connections together, the host could be tricked into believing the network
is congested by a single malicious host which rarely sends acks, keeping
its window to a minimum and thus slowing down all its traffic. The author
might have taken into account such concerns, but if so it doesn't come
across in the paper.
This archive was generated by hypermail 2.1.6 : Mon Oct 18 2004 - 01:16:35 PDT