Controlled Delay Active Queue Management
RFC 8289
Document | Type |
RFC - Experimental
(January 2018; No errata)
Was draft-ietf-aqm-codel (aqm WG)
|
|
---|---|---|---|
Authors | Kathleen Nichols , Van Jacobson , Andrew McGregor , Jana Iyengar | ||
Last updated | 2018-01-05 | ||
Replaces | draft-nichols-tsvwg-codel, draft-aqm-codel | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Wesley Eddy | ||
Shepherd write-up | Show (last changed 2016-11-02) | ||
IESG | IESG state | RFC 8289 (Experimental) | |
Action Holders |
(None)
|
||
Consensus Boilerplate | Yes | ||
Telechat date | |||
Responsible AD | Mirja Kühlewind | ||
Send notices to | (None) | ||
IANA | IANA review state | Version Changed - Review Needed | |
IANA action state | No IANA Actions |
Internet Engineering Task Force (IETF) K. Nichols Request for Comments: 8289 Pollere, Inc. Category: Experimental V. Jacobson ISSN: 2070-1721 A. McGregor, Ed. J. Iyengar, Ed. Google January 2018 Controlled Delay Active Queue Management Abstract This document describes CoDel (Controlled Delay) -- a general framework that controls bufferbloat-generated excess delay in modern networking environments. CoDel consists of an estimator, a setpoint, and a control loop. It requires no configuration in normal Internet deployments. Status of This Memo This document is not an Internet Standards Track specification; it is published for examination, experimental implementation, and evaluation. This document defines an Experimental Protocol for the Internet community. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Not all documents approved by the IESG are a candidate for any level of Internet Standard; see Section 2 of RFC 7841. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8289. Nichols, et al. Experimental [Page 1] RFC 8289 CoDel January 2018 Copyright Notice Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Conventions and Terms Used in This Document . . . . . . . . . 4 3. Understanding the Building Blocks of Queue Management . . . . 5 3.1. Estimator . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2. Target Setpoint . . . . . . . . . . . . . . . . . . . . . 8 3.3. Control Loop . . . . . . . . . . . . . . . . . . . . . . 10 4. Overview of the CoDel AQM . . . . . . . . . . . . . . . . . . 13 4.1. Non-starvation . . . . . . . . . . . . . . . . . . . . . 14 4.2. Setting INTERVAL . . . . . . . . . . . . . . . . . . . . 14 4.3. Setting TARGET . . . . . . . . . . . . . . . . . . . . . 14 4.4. Use with Multiple Queues . . . . . . . . . . . . . . . . 15 4.5. Setting Up CoDel . . . . . . . . . . . . . . . . . . . . 16 5. Annotated Pseudocode for CoDel AQM . . . . . . . . . . . . . 16 5.1. Data Types . . . . . . . . . . . . . . . . . . . . . . . 17 5.2. Per-Queue State (codel_queue_t Instance Variables) . . . 17 5.3. Constants . . . . . . . . . . . . . . . . . . . . . . . . 17 5.4. Enqueue Routine . . . . . . . . . . . . . . . . . . . . . 18 5.5. Dequeue Routine . . . . . . . . . . . . . . . . . . . . . 18 5.6. Helper Routines . . . . . . . . . . . . . . . . . . . . . 19 5.7. Implementation Considerations . . . . . . . . . . . . . . 21 6. Further Experimentation . . . . . . . . . . . . . . . . . . . 21 7. Security Considerations . . . . . . . . . . . . . . . . . . . 21 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 9.1. Normative References . . . . . . . . . . . . . . . . . . 22 9.2. Informative References . . . . . . . . . . . . . . . . . 22 Appendix A. Applying CoDel in the Data Center . . . . . . . . . 24 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 25 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 Nichols, et al. Experimental [Page 2] RFC 8289 CoDel January 2018 1. Introduction The "persistently full buffer" problem has been discussed in the IETF community since the early 80s [RFC896]. The IRTF's End-to-End Research Group called for the deployment of Active Queue ManagementShow full document text