Paper review: Congestion Avoidance and Control

Reviewer: Kevin Hofstra

  1. How does TCP effectively avoid network issues associated with congestion?
  2. The paper contains algorithms rooted in the idea of achieving network stability by forcing the transport connection to obey a packet conservation principle.  It also contains case studies of network congestion problems and what effect the new procedures would have on the congestion in terms of network performance.  This problem will always continue to be a problem and will increase in importance as the internet grows with time.
  3. The most important ideas are:
  1. Dynamic window sizing.  A host will only transmit a certain window size before waiting to receive an ack.  This prevents the host from sending too much information that will congest the network even more, have to be dropped, and must be sent again.  This allows the absence of acks to indicate a congested network, and be used for flow control.
  2. Slow Start.  Forces the host to first send one segment and wait for an ack and with each success work its way to using the full bandwidth.  This prevents a routers queue from being filled by a host that began with a full windows worth of information because it did not see the congestion coming.  They were able to show through studies that begin with a smaller number of segments and then increasingly taking more bandwidth is a small price to pay in comparison to a congested network without Slow Start.
  3. Fast Retransmit.  If an end host receives a packet out of order it will immediately send an ack that the packet has not been received and that it must be sent again.  The end host is unable to use any of the packets until the lost one has been received.  This means that the host will not have to wait for the retransmission timer to expire to send the lost packet.  If this time is saved then all the out of order packets that would overflow the buffer and the end host do not have to be sent until they will be received in order.
  1. Critique the main contribution
  2. System researchers and builders should recognize that to more effectively deal with congestion the network must be able to give an indication of how many packets are getting through.  This is solved by the ack packets.  They must also realize that the problem of sharing the bandwidth is very dynamic with hosts leaving and entering very quickly.  The sender must be always adjusting his window size according to how many of his packets are being dropped or are out of order.  One of the key points to this is to also always error on the side of caution when deciding how much bandwidth to allow a host.