Monday, September 7, 2009

Congestion Avoidance and Control

The paper describes several algorithms to deal with the congestion over the Internet and to conserve the packets. Conservation of packets means that during operating stably, a new packet isn't put into the network till the old packet leaves it which means the sender self clocked. Since the receiver generate acknowledgment signals with space equal to minimum packet spacing on the slowest link in the path. ACK signals then can be used as a clock at the sender such that it starts to send packets with the same space interval. However, there are many reasons that fails this conservation:
  • The connection is starting or restarting after losing packet (i.e., does not get to this state yet). Slow start algorithm has been developed to start data flowing by one packet which gradually will be increased till the sender establish the window of the connection. This algorithm takes a time equal to the multiplication of round trip time by the log. base 2 of the window size
  • A sender put a new packet into the network before the departure of the old one. By the assumption that the transport protocol's implementation is correct, this can be resulted from either a failure in sender's retransmission timer or in the backoff timer (space between the retransmissions). While the first one retreated by an algorithm for good estimation of the round trip time, the second problem recovered by using exponential backoff
  • The network is congested so some of the packets are dropped. This can be solved by applying a congestion avoidance algorithm. Such algorithm has to inform the transport endpoint that congestion is or is about to occur, and the endpoints have to adjust their usage or loading

The author argues the previous paper in that there is no need to the new bit in packet header (feedback signal) since lost packet or timeout case are indication to the congestion over the network. The second part of the algorithm is the control on the endpoint usage of the resources by the implementation of
· Multiplicative decrease by reducing the window size to the half, after any timeout.
· Additive increase by increasing the window size by its inverse value, after each ACK
· Sending the minimum advertised window

Now, while the paper states that this is congestion avoidance algorithm, it seems that algorithm is actually to recover the congestion state after its occurrence since the indication that signals this state is either lost packet or timeout case. Moreover, the paper itself points to that lost packet means congestion which result in retransmission and applying slow start algorithm in addition to the earlier described algorithm


On other hand, the proposed algorithm here doesn't insure the fair sharing of the network capacity. To satisfy this metric the author suggested sending a signal earlier to some of endnodes to inform them that they are using more than their fair share. But this signal represents a feedback while the author argue the first paper in this point exactly ignoring that it satisfied the fairness with congestion avoidance mechanism.

No comments:

Post a Comment