Active queue management
In routers and switches, active queue management (AQM) is the policy of dropping packets inside a buffer associated with a network interface controller (NIC) 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 (RED), Explicit Congestion Notification (ECN), or controlled delay (CoDel). RFC 7567 recommends active queue management as a best practice.
Overview
An Internet router typically maintains a set of queues, one or more 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 occasionally dropping or marking packets according to the probabilities before the queue is full.
Benefits
Drop-tail queues have a tendency to penalise bursty flows, and to cause global synchronization between flows. By dropping packets probabilistically, AQM disciplines typically avoid both of these issues.[1]
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
Early AQM disciplines (notably RED and SRED) require careful tuning of their parameters in order to provide good performance. These systems are not optimally behaved from a control theory perspective.[2] Modern AQM disciplines (ARED, Blue, PI, CoDel, CAKE) 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?"[3]
Simulation
An active queue management and denial-of-Service (AQM&DoS) simulation platform is established based on the NS-2 simulation code of the RRED algorithm. The AQM&DoS simulation platform can simulate a variety of DoS attacks (Distributed DoS, Spoofing DoS, Low-rate DoS, etc.) and AQM algorithms (RED, RRED, SFB, etc.). 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.[4]
Active queue management algorithms
- Blue and Stochastic Fair Blue (SFB)
- Common Applications Kept Enhanced (CAKE)
- Controlled Delay (CoDel)
- FQ-CoDel
- Modified-REM (M-REM) [5]
- PI controller
- Random early detection (RED)
- Random Exponential Marking (REM) [6]
- RED with Preferential Dropping (RED-PD) [7]
- Robust random early detection (RRED) [8]
- RSFB: a Resilient Stochastic Fair Blue algorithm against spoofing DDoS attacks [9]
- Smart Queue Management (SQM) - combining AQM with QOS and other techniques [10][11]
References
- ^ Floyd, Sally; Jacobson, Van (August 1993). "Random Early Detection (RED) gateways for Congestion Avoidance". IEEE/ACM Transactions on Networking. 1 (4): 397–413. CiteSeerX 10.1.1.147.3833. doi:10.1109/90.251892. S2CID 221977646. Retrieved 2008-03-16.
- ^ C.V. Hollot, Vishal Misra, Don Towsley and Wei-Bo Gong, Analysis and Design of Controllers for AQM Routers Supporting TCP Flows
- ^ "The criminal mastermind: bufferbloat!". jg's Ramblings. Gettys.wordpress.com. 2010-12-03. Retrieved 2014-01-23.
- ^ "AQM&DoS Simulation Platform - Changwang Zhang".
- ^ Imer, Orhan; Basar, Tamer (December 2005). "A Global Stability Result in Utility-Based Congestion Control" (PDF). Proceedings of the 44th IEEE Conference on Decision and Control, and the European Control Conference 2005: 6740–6743.
- ^ Athuraliya, S. (June 2001). "REM: Active Queue Management". IEEE Transactions on Networking. 15 (3): 48–53.
- ^ Ratul Mahajan, Sally Floyd, and David Wetherall, Controlling high-bandwidth flows at the congested router, ICNP 2001
- ^ Changwang Zhang, Jianping Yin, Zhiping Cai, and Weifeng Chen, RRED: Robust RED Algorithm to Counter Low-rate Denial-of-Service Attacks, IEEE Communications Letters, vol. 14, pp. 489-491, 2010. Ref
- ^ Changwang Zhang, Jianping Yin, and Zhiping Cai, RSFB: a Resilient Stochastic Fair Blue algorithm against spoofing DDoS attacks, in International Symposium on Communication and Information Technology (ISCIT), 2009. Ref
- ^ "Smart Queue Management". bufferbloat.net. Retrieved 3 October 2020.
- ^ "OpenWrt·Traffic Shaping·SQM". OpenWrt.org. OpenWrt Project. 2 January 2017. Retrieved 3 October 2020.