Active Queue Management
From Wikipedia, the free encyclopedia
In Internet routers, Active Queue Management (AQM) is a technique that consists in dropping or ECN-marking packets before a router's queue is full.
Contents |
[edit] 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 (measured in packets or in bytes), 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.
[edit] 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 reduces network latency ("ping time").
Since AQM queues are never quite full, they can use ECN to mark packets instead of dropping them.
[edit] Drawbacks of AQM
Early AQM disciplines (notably RED and SRED) require careful tuning of their parameters in order to provide good performance. Modern AQM disciplines (ARED, Blue, PI) are self-tuning, and can be run with their default parameters in most or all circumstances.
AQM is counter-intuitive to many network engineers: "Why should I drop perfectly good packets when I still have free buffer space?"
[edit] AQM Algorithms
- Adaptive Virtual Queue (AVQ);
- Random early detection (RED);
- Random Exponential Marking (REM);
- Blue and Stochastic Fair Blue (SFB);
- PI controller.