Packet-switching nodes such as routers usually need to accomodate queues to buffer packets, when incoming traffic exceeds the available outbound capacity. Traditionally, these buffers have been organised as tail-drop queues, where packets are queued until the buffer is full, and when it is full, newly arriving packets are dropped until the queue empties out. With bursty traffic (as is typical with TCP/IP), this can lead to entire bursts of arriving packets to be dropped because of a full queue. The effects of this are synchronisation of flows and a decrease of aggregate throughput. Another effect of the tail-drop queueing strategy is that, when congestion is long-lived, the queue will grow to fill the buffer, and will remain large until congestion eventually subsides. With large router buffers, this leads to increased one-way delay and round-trip times, which impacts network performance in various ways - see BufferBloat.
This had lead to the idea of "active queue management", where network nodes send congestion signals once they sense the onset of congestion, to avoid buffers filling up completely.
Active Queue Management is a precondition for Explicit Congestion Notification (ECN), which helps performance by reducing or eliminating packet loss during times of (light) congestion.
The earliest and best-known form of AQM on the Internet is Random Early Detection (RED). This is now supported by various routers and switches, although it is not typically activated by default. One possible reason is that RED, as originally specified, must be "tuned" depending on the given traffic mix (and optimisation goals) to be maximally effective. Various alternative methods have been proposed as improvements to RED, but none of them have enjoyed widespread use.
CoDel (May 2012) has been proposed as an promising practical alternative to RED. PIE was then proposed as an alternative to CoDel, claiming to be easier to implement efficiently, in particular on "hardware" implementations.
AQM in the IETF
RFC 2309 (now obsoleted by RFC 7567, see below), Recommendations on Queue Management and Congestion Avoidance in the Internet, (1998) recommended "testing, standardization, and widespread deployment" of AQM, and specifically RED, on the Internet. The testing part was certainly followed, in the sense that a huge number of academic papers was published about RED, its perceived shortcomings, proposed alternative AQMs, and so on. There was no standardization, and very little actual deployment. While RED is implemented in most routers today, it is generally not enabled by default, and very few operators explicitly enable it. There are many reasons for this, but an important one is that optimal configuration parameters for RED depend on traffic load and tradeoffs between various optimization goals (e.g. throughput and delay). RFC 3819, Advice for Internet Subnetwork Designers, also discusses questions of AQM, in particular RED and its configuration parameters.
In March 2013, a new AQM mailing list (archive) was announced to discuss a possible replacement for RFC 2309. This evolved into the AQM Working Group, which produced RFC 7567, published in July 2015 as a replacement of RFC 2309. RFC 7567 notably drops the specific recommendation of RED as an AQM mechanism.
- RFC 7567, IETF Recommendations Regarding Active Queue Management, F. Baker, Ed., G. Fairhurst, Ed., July 2015
- RFC 2309, Recommendations on Queue Management and Congestion Avoidance in the Internet, B. Braden, D. Clark, J. Crowcroft, B. Davie, S. Deering, D. Estrin, S. Floyd, V. Jacobson, G. Minshall, C. Partridge, L. Peterson, K. Ramakrishnan, S. Shenker, J. Wroclawski, L. Zhang. April 1998 (obsoleted by RFC 7567)
- RFC 3819, Advice for Internet Subnetwork Designers, P. Karn, Ed., C. Bormann, G. Fairhurst, D. Grossman, R. Ludwig, J. Mahdavi, G. Montenegro, J. Touch, L. Wood. July 2004
- RFC 7806, On Queuing, Marking, and Dropping, F. Baker, R. Pan, April 2016
- Advice on network buffering, G. Fairhurst, B. Briscoe, slides presented to ICCRG at IETF-86, March 2013
- RFC 7928, Characterization Guidelines for Active Queue Management (AQM), N. Kuhn, Ed., P. Natarajan, Ed., N. Khademi, Ed., D. Ros, July 2016
- draft-lauten-aqm-gsp-03, Global Synchronization Protection for Packet Queues, Wolfram Lautenschlaeger, May 2016
- draft-ietf-tsvwg-l4s-arch-02, Low Latency, Low Loss, Scalable Throughput (L4S) Internet Service: Architecture, Bob Briscoe, Koen De Schepper, Marcelo Bagnulo, March 2018
- draft-ietf-tsvwg-aqm-dualq-coupled-18, DualQ Coupled AQMs for Low Latency, Low Loss and Scalable Throughput (L4S), Koen De Schepper, Bob Briscoe, Greg White, October 2021
– SimonLeinen - 2005-01-05 - 2021-10-26