Paper Review: TCP congestion control

Reviewer: Kenneth Chin

This paper is basically a recap of the 4 algorithms for congestion control in the modern implementations of TCP. They are slow start, congestion avoidance, fast retransmit, and fast recovery. Among the 4 algorithms, slow start and congestion avoidance are required to be implemented before RFC 1122, while the remaining two are not urgent.

The concept of slow start is very simple and it's essentially not to open the whole allowed window size in the very beginning but open in an exponential rate up to the max window size. This is not a surprising idea but it is very important in a situation where intermediate routers cannot handle number of packets allowed by the receiver.

The essence of congestion avoidance algorithm is traffic-probing and incremental-window-advancing. The congestion window size is growing linearly by at most one segment each round-trip time. My view is skeptical about the linear growth of the congestion window; after cutting the congestion window by half, it takes a long time for the congestion window to return to its full size. I doubted if the window size can be regulated by some sort of parameters. Another thing that does not convince me is that when there is congestion, the congestion window is reset to one segment. This seems to be destroying all the network history which are valuable for subsequent predictions.

Fast retransmission is based on the idea that 3 or more ACKs is a good indication of a segment loss, there is no need to wait for a retransmission timer to expire before retransmission. Obviously, fast retransmission aims at improving performance and it aggravates the congestion problem in the network.

As for fast recovery, after fast retransmit sends what appears to be the missing segment, congestion avoidance, rather than slow start is performed. It aims at allowing high throughput under moderate congestion, especially for large windows.

There is nothing much i can take from this paper. Actually it is a review paper, summarizing and organizing other people's work. However, this is a good review in the sense that the contents are coherent and succinct. I would grade this paper a 1.