Review of "Congestion Avoidance and Control"

From: Seth Cooper (scooper@cs.washington.edu)
Date: Sun Oct 17 2004 - 23:16:40 PDT

  • Next message: Tom Christiansen: "Jacobson, 1988 Rewiev"

            This paper describes some of the mechanisms in TCP that help it to
    control congestion in the Internet. The mechanisms attempt to achieve
    "conservation of packets", which means that in a full network running
    stably, new packets are only put into the network when old packets
    leave. A large part of this is achieved by adding a "congestion window"
    (also known as cwnd) to the connection state. Using slow start, cwnd
    begins at 1, then grows exponentially until packets begin to get lost.
    Congestion avoidance uses an additive increase/multiplicative decrease
    strategy to slowly test increasing throughput and quickly back off once
    packets are lost. The sender uses the minimum of cwnd and the receivers
    advertised window.
            One of the strengths of this paper is the mathematical background it
    presents for the various congestion control strategies. For example,
    when discussing retransmissions, the paper mentions that exponential
    backoff is the only acceptable strategy. The paper doesn't go into the
    full proof, but offers convincing evidence. The paper offers similar
    support for using additive increase/multiplicative decrease in
    congestion avoidance.
            A weakness of this paper is that a large part of the rationale for
    their strategies rests on the fact that the way the network reports
    congestion is by dropping packets. Thus, when packets are lost, TCP
    assumes it is because the network is congested and reduces its sending
    rate. One could imagine other scenarios, perhaps in a wireless network
    situation, where packet loss is not due to network congestion, but
    rather packet corruption. The appropriate action then might be to
    continue sending at the current rate, or even to increase the rate of
    sending to increase the likelihood that an appropriate number of packets
    will get through to the receiver. In this way, TCP violates the layer
    abstraction by assuming things about lower layers that might not be true.
            This work is relevant today because we are living with an Internet in
    which these TCP decisions have been widely deployed. TCP is a widely
    used transport protocol, so the design decisions affect how most
    applications will use Internet bandwidth. We must also be aware of how
    TCP will interact with lower layers that don't necessarily match its
    assumptions.


  • Next message: Tom Christiansen: "Jacobson, 1988 Rewiev"

    This archive was generated by hypermail 2.1.6 : Sun Oct 17 2004 - 23:16:37 PDT