RFC 2309 (rfc2309) - Page 2 of 17


Recommendations on Queue Management and Congestion Avoidance in the Internet



Alternative Format: Original Text Document



RFC 2309          Internet Performance Recommendations        April 1998


1. INTRODUCTION

   The Internet protocol architecture is based on a connectionless end-
   to-end packet service using the IP protocol.  The advantages of its
   connectionless design, flexibility and robustness, have been amply
   demonstrated.  However, these advantages are not without cost:
   careful design is required to provide good service under heavy load.
   In fact, lack of attention to the dynamics of packet forwarding can
   result in severe service degradation or "Internet meltdown".  This
   phenomenon was first observed during the early growth phase of the
   Internet of the mid 1980s [Nagle84], and is technically called
   "congestion collapse".

   The original fix for Internet meltdown was provided by Van Jacobson.
   Beginning in 1986, Jacobson developed the congestion avoidance
   mechanisms that are now required in TCP implementations [Jacobson88,
   HostReq89].  These mechanisms operate in the hosts to cause TCP
   connections to "back off" during congestion.  We say that TCP flows
   are "responsive" to congestion signals (i.e., dropped packets) from
   the network.  It is primarily these TCP congestion avoidance
   algorithms that prevent the congestion collapse of today's Internet.

   However, that is not the end of the story.  Considerable research has
   been done on Internet dynamics since 1988, and the Internet has
   grown.  It has become clear that the TCP congestion avoidance
   mechanisms [RFC 2001], while necessary and powerful, are not
   sufficient to provide good service in all circumstances.  Basically,
   there is a limit to how much control can be accomplished from the
   edges of the network.  Some mechanisms are needed in the routers to
   complement the endpoint congestion avoidance mechanisms.

   It is useful to distinguish between two classes of router algorithms
   related to congestion control: "queue management" versus "scheduling"
   algorithms.  To a rough approximation, queue management algorithms
   manage the length of packet queues by dropping packets when necessary
   or appropriate, while scheduling algorithms determine which packet to
   send next and are used primarily to manage the allocation of
   bandwidth among flows.  While these two router mechanisms are closely
   related, they address rather different performance issues.

   This memo highlights two router performance issues.  The first issue
   is the need for an advanced form of router queue management that we
   call "active queue management."  Section 2 summarizes the benefits
   that active queue management can bring.  Section 3 describes a
   recommended active queue management mechanism, called Random Early
   Detection or "RED".  We expect that the RED algorithm can be used
   with a wide variety of scheduling algorithms, can be implemented
   relatively efficiently, and will provide significant Internet



Braden, et. al.              Informational