The "persistently full buffer" problem has been discussed in the IETF
community since the early 80's [RFC896]. The IRTF's End-to-End
Working Group called for the deployment of active queue management
(AQM) to solve the problem in 1998 [RFC2309]. Despite the awareness,
the problem gotten worse as by Moore's Law growth in memory density
fueled an exponential increase in buffer pool size. Efforts to
deploy AQM have been frustrated by difficult configuration and
negative impact on network utilization. The full buffer problem,
recently christened "bufferbloat"[TSVBB2011, BB2011] has become
increasingly important throughout the Internet but particularly at
the consumer edge.
To address bufferbloat, this document describes a general framework
for controlling excessived delay in networks called Controlled Delay
(CoDel) designed to work in modern networking environments as a part
of the solution to bufferbloat [CODEL2012]. CoDel consists of an
estimator, a setpoint, and a control loop and can be deployed in the
Internet without configuration. CoDel comprises some major technical
innovations and has been made available as open source so that the
framework can be applied by the community to a range of problems. It
has been implemented in Linux (and available in the Linux
distribution) and deployed in some networks at the consumer edge. In
addition, the framework has been successfully applied in other ways.
Note: Code Components extracted from this document must include the
license as included with the code in Section 5.