Active queue management


In routers and switches, active queue management is the policy of dropping packets inside a buffer associated with a network interface controller before that buffer becomes full, often with the goal of reducing network congestion or improving end-to-end latency. This task is performed by the network scheduler, which for this purpose uses various algorithms such as random early detection, Explicit Congestion Notification, or controlled delay. RFC 7567 recommends active queue management as a best practice.

Queue management

An Internet router typically maintains a set of queues, one per interface, that hold packets scheduled to go out on that interface. Historically, such queues use a drop-tail discipline: a packet is put onto the queue if the queue is shorter than its maximum size, and dropped otherwise.
Active queue disciplines drop or mark packets before the queue is full. Typically, they operate by maintaining one or more drop/mark probabilities, and probabilistically dropping or marking packets even when the queue is short.

Benefits of AQM

Drop-tail queues have a tendency to penalise bursty flows, and to cause global synchronisation between flows. By dropping packets probabilistically, AQM disciplines typically avoid both of these issues.
By providing endpoints with congestion indication before the queue is full, AQM disciplines are able to maintain a shorter queue length than drop-tail queues, which combats bufferbloat and reduces network latency.

Drawbacks of AQM

Early AQM disciplines require careful tuning of their parameters in order to provide good performance, and have other problems from a control theoretic standpoint. Modern AQM disciplines are self-tuning, and can be run with their default parameters in most circumstances.
Network engineers have historically been trained to avoid packet loss, and have therefore sometimes been critical of AQM systems that drop packets : "Why should I drop perfectly good packets when I still have free buffer space?" This issue has been alleviated to a certain extent by educating network engineers about the benefit of active policies.

The Simulation and Analysis Platform for AQM algorithms

An Active Queue Management and Denial-of-Service Simulation Platform is established based on the NS-2 simulation code of the RRED algorithm. The can simulate a variety of DoS attacks and Active Queue Management algorithms. It automatically calculates and records the average throughput of normal TCP flows before and after DoS attacks to facilitate the analysis of the impact of DoS attacks on normal TCP flows and AQM algorithms. .

Active queue management algorithms