draft-ietf-aqm-recommendation-06.txt   draft-ietf-aqm-recommendation-07.txt 
Network Working Group F. Baker, Ed. Network Working Group F. Baker, Ed.
Internet-Draft Cisco Systems Internet-Draft Cisco Systems
Obsoletes: 2309 (if approved) G. Fairhurst, Ed. Obsoletes: 2309 (if approved) G. Fairhurst, Ed.
Intended status: Best Current Practice University of Aberdeen Intended status: Best Current Practice University of Aberdeen
Expires: January 2, 2015 July 1, 2014 Expires: February 6, 2015 August 05, 2014
IETF Recommendations Regarding Active Queue Management IETF Recommendations Regarding Active Queue Management
draft-ietf-aqm-recommendation-06 draft-ietf-aqm-recommendation-07
Abstract Abstract
This memo presents recommendations to the Internet community This memo presents recommendations to the Internet community
concerning measures to improve and preserve Internet performance. It concerning measures to improve and preserve Internet performance. It
presents a strong recommendation for testing, standardization, and presents a strong recommendation for testing, standardization, and
widespread deployment of active queue management (AQM) in network widespread deployment of active queue management (AQM) in network
devices, to improve the performance of today's Internet. It also devices, to improve the performance of today's Internet. It also
urges a concerted effort of research, measurement, and ultimate urges a concerted effort of research, measurement, and ultimate
deployment of AQM mechanisms to protect the Internet from flows that deployment of AQM mechanisms to protect the Internet from flows that
are not sufficiently responsive to congestion notification. are not sufficiently responsive to congestion notification.
The note largely repeats the recommendations of RFC 2309, updated The note largely repeats the recommendations of RFC 2309, and
after fifteen years of experience and new research. replaces these after fifteen years of experience and new research.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 2, 2015. This Internet-Draft will expire on February 6, 2015.
Copyright Notice Copyright Notice
Copyright (c) 2014 IETF Trust and the persons identified as the Copyright (c) 2014 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 18 skipping to change at page 2, line 18
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Congestion Collapse . . . . . . . . . . . . . . . . . . . 3 1.1. Congestion Collapse . . . . . . . . . . . . . . . . . . . 3
1.2. Active Queue Management to Manage Latency . . . . . . . . 3 1.2. Active Queue Management to Manage Latency . . . . . . . . 3
1.3. Document Overview . . . . . . . . . . . . . . . . . . . . 4 1.3. Document Overview . . . . . . . . . . . . . . . . . . . . 4
1.4. Requirements Language . . . . . . . . . . . . . . . . . . 5 1.4. Changes to the recommendations of RFC2309 . . . . . . . . 5
2. The Need For Active Queue Management . . . . . . . . . . . . 5 1.5. Requirements Language . . . . . . . . . . . . . . . . . . 6
2. The Need For Active Queue Management . . . . . . . . . . . . 6
2.1. AQM and Multiple Queues . . . . . . . . . . . . . . . . . 9 2.1. AQM and Multiple Queues . . . . . . . . . . . . . . . . . 9
2.2. AQM and Explicit Congestion Marking (ECN) . . . . . . . . 9 2.2. AQM and Explicit Congestion Marking (ECN) . . . . . . . . 10
2.3. AQM and Buffer Size . . . . . . . . . . . . . . . . . . . 9 2.3. AQM and Buffer Size . . . . . . . . . . . . . . . . . . . 10
3. Managing Aggressive Flows . . . . . . . . . . . . . . . . . . 10 3. Managing Aggressive Flows . . . . . . . . . . . . . . . . . . 11
4. Conclusions and Recommendations . . . . . . . . . . . . . . . 13 4. Conclusions and Recommendations . . . . . . . . . . . . . . . 14
4.1. Operational deployments SHOULD use AQM procedures . . . . 14 4.1. Operational deployments SHOULD use AQM procedures . . . . 15
4.2. Signaling to the transport endpoints . . . . . . . . . . 14 4.2. Signaling to the transport endpoints . . . . . . . . . . 15
4.2.1. AQM and ECN . . . . . . . . . . . . . . . . . . . . . 15 4.2.1. AQM and ECN . . . . . . . . . . . . . . . . . . . . . 16
4.3. AQM algorithms deployed SHOULD NOT require operational 4.3. AQM algorithms deployed SHOULD NOT require operational
tuning . . . . . . . . . . . . . . . . . . . . . . . . . 17 tuning . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.4. AQM algorithms SHOULD respond to measured congestion, not 4.4. AQM algorithms SHOULD respond to measured congestion, not
application profiles. . . . . . . . . . . . . . . . . . . 18 application profiles. . . . . . . . . . . . . . . . . . . 18
4.5. AQM algorithms SHOULD NOT be dependent on specific 4.5. AQM algorithms SHOULD NOT be dependent on specific
transport protocol behaviours . . . . . . . . . . . . . . 19 transport protocol behaviours . . . . . . . . . . . . . . 19
4.6. Interactions with congestion control algorithms . . . . . 19 4.6. Interactions with congestion control algorithms . . . . . 20
4.7. The need for further research . . . . . . . . . . . . . . 20 4.7. The need for further research . . . . . . . . . . . . . . 21
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22
6. Security Considerations . . . . . . . . . . . . . . . . . . . 21 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22
7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 21 7. Privacy Considerations . . . . . . . . . . . . . . . . . . . 22
8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.1. Normative References . . . . . . . . . . . . . . . . . . 22 9.1. Normative References . . . . . . . . . . . . . . . . . . 23
9.2. Informative References . . . . . . . . . . . . . . . . . 23 9.2. Informative References . . . . . . . . . . . . . . . . . 23
Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 26 Appendix A. Change Log . . . . . . . . . . . . . . . . . . . . . 27
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 28
1. Introduction 1. Introduction
The Internet protocol architecture is based on a connectionless end- The Internet protocol architecture is based on a connectionless end-
to-end packet service using the Internet Protocol, whether IPv4 to-end packet service using the Internet Protocol, whether IPv4
[RFC0791] or IPv6 [RFC2460]. The advantages of its connectionless [RFC0791] or IPv6 [RFC2460]. The advantages of its connectionless
design: flexibility and robustness, have been amply demonstrated. design: flexibility and robustness, have been amply demonstrated.
However, these advantages are not without cost: careful design is However, these advantages are not without cost: careful design is
required to provide good service under heavy load. In fact, lack of required to provide good service under heavy load. In fact, lack of
attention to the dynamics of packet forwarding can result in severe attention to the dynamics of packet forwarding can result in severe
service degradation or "Internet meltdown". This phenomenon was service degradation or "Internet meltdown". This phenomenon was
first observed during the early growth phase of the Internet in the first observed during the early growth phase of the Internet in the
mid 1980s [RFC0896][RFC0970], and is technically called "congestive mid 1980s [RFC0896][RFC0970], and is technically called "congestive
collapse" and was a key focus of RFC2309. collapse" and was a key focus of RFC2309.
Since 1998, when RFC2309 was written, the Internet has become used Since 1998, when RFC2309 was written, the Internet has become used
for a variety traffic of traffic. In the current Internet and low for a variety of traffic. In the current Internet low latency is
latency is extremely important for many interactive and transaction- extremely important for many interactive and transaction-based
based applications. The same type of technology that RFC2309 applications. The same type of technology that RFC2309 advocated for
advocated for combating congestion collapse is also effective at combating congestion collapse is also effective at limiting delays to
limiting delays to reduce the interaction delay experienced by reduce the interaction delay experienced by applications. While
applications. This document replaces RFC2309, and while there is there is still a need to avoid congestion collapse, there is now also
still a need to avoid congestion collapse, there is now also a focus a focus on reducing network latency using the same technology.
on reducing network latency using the same technology.
1.1. Congestion Collapse 1.1. Congestion Collapse
The original fix for Internet meltdown was provided by Van Jacobsen. The original fix for Internet meltdown was provided by Van Jacobsen.
Beginning in 1986, Jacobsen developed the congestion avoidance Beginning in 1986, Jacobsen developed the congestion avoidance
mechanisms [Jacobson88] that are now required for implementations of mechanisms [Jacobson88] that are now required for implementations of
the Transport Control Protocol (TCP) [RFC0768] [RFC1122]. These the Transport Control Protocol (TCP) [RFC0768] [RFC1122]. These
mechanisms operate in Internet hosts to cause TCP connections to mechanisms operate in Internet hosts to cause TCP connections to
"back off" during congestion. We say that TCP flows are "responsive" "back off" during congestion. We say that TCP flows are "responsive"
to congestion signals (i.e., marked or dropped packets) from the to congestion signals (i.e., packets that are dropped or marked with
network. It is primarily these TCP congestion avoidance algorithms explicit congestion notification [RFC3168]). It is primarily these
that prevent the congestive collapse of today's Internet. Similar TCP congestion avoidance algorithms that prevent the congestive
algorithms are specified for other non-TCP transports. collapse of today's Internet. Similar algorithms are specified for
other non-TCP transports.
However, that is not the end of the story. Considerable research has However, that is not the end of the story. Considerable research has
been done on Internet dynamics since 1988, and the Internet has been done on Internet dynamics since 1988, and the Internet has
grown. It has become clear that the congestion avoidance mechanisms grown. It has become clear that the congestion avoidance mechanisms
[RFC5681], while necessary and powerful, are not sufficient to [RFC5681], while necessary and powerful, are not sufficient to
provide good service in all circumstances. Basically, there is a provide good service in all circumstances. Basically, there is a
limit to how much control can be accomplished from the edges of the limit to how much control can be accomplished from the edges of the
network. Some mechanisms are needed in the network devices to network. Some mechanisms are needed in the network devices to
complement the endpoint congestion avoidance mechanisms. These complement the endpoint congestion avoidance mechanisms. These
mechanisms may be implemented in network devices that include mechanisms may be implemented in network devices that include
skipping to change at page 3, line 52 skipping to change at page 4, line 4
network. Some mechanisms are needed in the network devices to network. Some mechanisms are needed in the network devices to
complement the endpoint congestion avoidance mechanisms. These complement the endpoint congestion avoidance mechanisms. These
mechanisms may be implemented in network devices that include mechanisms may be implemented in network devices that include
routers, switches, and other network middleboxes. routers, switches, and other network middleboxes.
1.2. Active Queue Management to Manage Latency 1.2. Active Queue Management to Manage Latency
Internet latency has become a focus of attention to increase the Internet latency has become a focus of attention to increase the
responsiveness of Internet applications and protocols. One major responsiveness of Internet applications and protocols. One major
source of delay is the build-up of queues in network devices. source of delay is the build-up of queues in network devices.
Queueing occurs whenever the arrival rate of data at the ingress to a Queueing occurs whenever the arrival rate of data at the ingress to a
device exceeds the current egress rate. Such queueing is normal in a device exceeds the current egress rate. Such queueing is normal in a
packet-switched network and often necessary to absorb bursts in packet-switched network and often necessary to absorb bursts in
transmission and perform statistical multiplexing of traffic, but transmission and perform statistical multiplexing of traffic, but
excessive queueing can lead to unwanted delay, reducing the excessive queueing can lead to unwanted delay, reducing the
performance of some Internet applications. performance of some Internet applications.
Active Queue Management (AQM) is a technology that manages the size RFC 2309 introduced the concept of "Active Queue Management" (AQM), a
of the queues that build in network buffers. Deploying AQM in the > class of technologies that, by signaling to common congestion-
network can significantly reduce the latency across an Internet path controlled transports such as TCP, manages the size of queues that
and since writing RFC2309, this has become a key motivation for using build in network buffers. RFC 2309 also describes a specific AQM
AQM in the Internet. algorithm, Random Early Detection (RED), and recommends that this be
widely implemented and used by default in routers.
In the context of AQM, it is useful to distinguish between two With an appropriate set of parameters, RED is an effective algorithm.
related classes of algorithms: "queue management" versus "scheduling" However, dynamically predicting this set of parameters was found to
algorithms. To a rough approximation, queue management algorithms be difficult. As a result, RED has not been enabled by default, and
manage the length of packet queues by marking or dropping packets its present use in the Internet is limited. Other AQM algorithms
when necessary or appropriate, while scheduling algorithms determine have been developed since RC2309 was published, some of which are
which packet to send next and are used primarily to manage the self-tuning within a range of applicability. Hence, while this memo
allocation of bandwidth among flows. While these two mechanisms are continues to recommend the deployment of AQM, it no longer recommends
closely related, they address different performance issues and that RED or any other specific algorithm is used as a default;
operate on different timescales. Both may be used in combination. instead it provides recommendations on how to select appropriate
algorithms and recommends that algorithms should be used that a
recommened algorithm is able to automate any required tuning for
common deployment scenarios.
Deploying AQM in the network can significantly reduce the latency
across an Internet path and since writing RFC2309, this has become a
key motivation for using AQM in the Internet. In the context of AQM,
it is useful to distinguish between two related classes of
algorithms: "queue management" versus "scheduling" algorithms. To a
rough approximation, queue management algorithms manage the length of
packet queues by marking or dropping packets when necessary or
appropriate, while scheduling algorithms determine which packet to
send next and are used primarily to manage the allocation of
bandwidth among flows. While these two mechanisms are closely
related, they address different performance issues and operate on
different timescales. Both may be used in combination.
1.3. Document Overview 1.3. Document Overview
This memo highlights two performance issues: The discussion in this memo applies to "best-effort" traffic, which
is to say, traffic generated by applications that accept the
occasional loss, duplication, or reordering of traffic in flight. It
also applies to other traffic, such as real-time traffic that can
adapt its sending rate to reduce loss and/or delay. It is most
effective when the adaption occurs on time scales of a single Round
Trip Time (RTT) or a small number of RTTs, for elastic traffic
[RFC1633].
Two performance issues are highlighted:
The first issue is the need for an advanced form of queue management The first issue is the need for an advanced form of queue management
that we call "Active Queue Management", AQM. Section 2 summarizes that we call "Active Queue Management", AQM. Section 2 summarizes
the benefits that active queue management can bring. A number of AQM the benefits that active queue management can bring. A number of AQM
procedures are described in the literature, with different procedures are described in the literature, with different
characteristics. This document does not recommend any of them in characteristics. This document does not recommend any of them in
particular, but does make recommendations that ideally would affect particular, but does make recommendations that ideally would affect
the choice of procedure used in a given implementation. the choice of procedure used in a given implementation.
The second issue, discussed in Section 3 of this memo, is the The second issue, discussed in Section 4 of this memo, is the
potential for future congestive collapse of the Internet due to flows potential for future congestive collapse of the Internet due to flows
that are unresponsive, or not sufficiently responsive, to congestion that are unresponsive, or not sufficiently responsive, to congestion
indications. Unfortunately, while scheduling can mitigate some of indications. Unfortunately, while scheduling can mitigate some of
the side-effects of sharing a network queue with an unresponsive the side-effects of sharing a network queue with an unresponsive
flow, there is currently no consensus solution to controlling the flow, there is currently no consensus solution to controlling the
congestion caused by such aggressive flows. Methods such as congestion caused by such aggressive flows. Methods such as
congestion exposure (ConEx) [RFC6789] offer a framework [CONEX] that congestion exposure (ConEx) [RFC6789] offer a framework [CONEX] that
can update network devices to alleviate these effects. Significant can update network devices to alleviate these effects. Significant
research and engineering will be required before any solution will be research and engineering will be required before any solution will be
available. It is imperative that work to mitigate the impact of available. It is imperative that work to mitigate the impact of
unresponsive flows is energetically pursued, to ensure the future unresponsive flows is energetically pursued, to ensure the future
stability of the Internet. stability of the Internet.
Section 4 concludes the memo with a set of recommendations to the Section 4 concludes the memo with a set of recommendations to the
Internet community concerning these topics. Internet community on the use of AQM and recommendations for defining
AQM algorithms.
The discussion in this memo applies to "best-effort" traffic, which 1.4. Changes to the recommendations of RFC2309
is to say, traffic generated by applications that accept the
occasional loss, duplication, or reordering of traffic in flight. It
also applies to other traffic, such as real-time traffic that can
adapt its sending rate to reduce loss and/or delay. It is most
effective when the adaption occurs on time scales of a single Round
Trip Time (RTT) or a small number of RTTs, for elastic traffic
[RFC1633].
[RFC2309] resulted from past discussions of end-to-end performance, This memo replaces the recommendations in [RFC2309], which resulted
Internet congestion, and Random Early Discard (RED) in the End-to-End from past discussions of end-to-end performance, Internet congestion,
Research Group of the Internet Research Task Force (IRTF). This and RED in the End-to-End Research Group of the Internet Research
update results from experience with this and other algorithms, and Task Force (IRTF). It follows experience with this and other
the AQM discussion within the IETF[AQM-WG]. algorithms, and the AQM discussion within the IETF [AQM-WG].
1.4. Requirements Language While RFC2309 described AQM in terms of the length of a queue. This
memo changes this, to use AQM to refer to any method that allows
network devices to control either the queue length and/or the mean
time that a packet spends in a queue.
This memo also explicitly obsoletes the recommendation that Random
Early Detection (RED) was to be used as the default AQM mechanism for
the Internet. This is replaced by a detailed set of recommendations
for selecting an appropriate AQM algorithm. As in RFC2309, this memo
also motivates the need for continued research, but clarifies the
research with examples appropriate at the time that this memo is
published.
1.5. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. The Need For Active Queue Management 2. The Need For Active Queue Management
Active Queue Management (AQM) is a method that allows network devices Active Queue Management (AQM) is a method that allows network devices
to control the queue length or the mean time that a packet spends in to control the queue length or the mean time that a packet spends in
a queue. Although AQM can be applied across a range of deployment a queue. Although AQM can be applied across a range of deployment
environments, the recommendations in this document are directed to environments, the recommendations in this document are directed to
use in the general Internet. It is expected that the principles and use in the general Internet. It is expected that the principles and
guidance are also applicable to a wide range of environments, but may guidance are also applicable to a wide range of environments, but may
require tuning for specific types of link/network (e.g. to require tuning for specific types of link/network (e.g. to
accommodate the traffic patterns found in data centres, the accommodate the traffic patterns found in data centres, the
challenges of wireless infrastructure, or the higher delay challenges of wireless infrastructure, or the higher delay
encountered on satellite Internet links). The remainder of this encountered on satellite Internet links). The remainder of this
section identifies the need for AQM and the advantages of deploying section identifies the need for AQM and the advantages of deploying
the method. AQM methods.
The traditional technique for managing the queue length in a network The traditional technique for managing the queue length in a network
device is to set a maximum length (in terms of packets) for each device is to set a maximum length (in terms of packets) for each
queue, accept packets for the queue until the maximum length is queue, accept packets for the queue until the maximum length is
reached, then reject (drop) subsequent incoming packets until the reached, then reject (drop) subsequent incoming packets until the
queue decreases because a packet from the queue has been transmitted. queue decreases because a packet from the queue has been transmitted.
This technique is known as "tail drop", since the packet that arrived This technique is known as "tail drop", since the packet that arrived
most recently (i.e., the one on the tail of the queue) is dropped most recently (i.e., the one on the tail of the queue) is dropped
when the queue is full. This method has served the Internet well for when the queue is full. This method has served the Internet well for
years, but it has two important drawbacks: years, but it has four important drawbacks:
1. Full Queues 1. Full Queues
The tail drop discipline allows queues to maintain a full (or, The tail drop discipline allows queues to maintain a full (or,
almost full) status for long periods of time, since tail drop almost full) status for long periods of time, since tail drop
signals congestion (via a packet drop) only when the queue has signals congestion (via a packet drop) only when the queue has
become full. It is important to reduce the steady-state queue become full. It is important to reduce the steady-state queue
size, and this is perhaps the most important goal for queue size, and this is perhaps the most important goal for queue
management. management.
skipping to change at page 7, line 29 skipping to change at page 8, line 15
queue). When a new packet arrives at a full queue using the head queue). When a new packet arrives at a full queue using the head
drop on full discipline, the network device drops the packet at the drop on full discipline, the network device drops the packet at the
front of the queue [Lakshman96]. Both of these solve the lock-out front of the queue [Lakshman96]. Both of these solve the lock-out
problem, but neither solves the full-queues problem described above. problem, but neither solves the full-queues problem described above.
We know in general how to solve the full-queues problem for We know in general how to solve the full-queues problem for
"responsive" flows, i.e., those flows that throttle back in response "responsive" flows, i.e., those flows that throttle back in response
to congestion notification. In the current Internet, dropped packets to congestion notification. In the current Internet, dropped packets
provide a critical mechanism indicating congestion notification to provide a critical mechanism indicating congestion notification to
hosts. The solution to the full-queues problem is for network hosts. The solution to the full-queues problem is for network
devices to drop packets before a queue becomes full, so that hosts devices to drop or ECN-mark packets before a queue becomes full, so
can respond to congestion before buffers overflow. We call such a that hosts can respond to congestion before buffers overflow. We
proactive approach AQM. By dropping packets before buffers overflow, call such a proactive approach AQM. By dropping or ECN-marking
AQM allows network devices to control when and how many packets to packets before buffers overflow, AQM allows network devices to
drop. control when and how many packets to drop.
In summary, an active queue management mechanism can provide the In summary, an active queue management mechanism can provide the
following advantages for responsive flows. following advantages for responsive flows.
1. Reduce number of packets dropped in network devices 1. Reduce number of packets dropped in network devices
Packet bursts are an unavoidable aspect of packet networks Packet bursts are an unavoidable aspect of packet networks
[Willinger95]. If all the queue space in a network device is [Willinger95]. If all the queue space in a network device is
already committed to "steady state" traffic or if the buffer already committed to "steady state" traffic or if the buffer
space is inadequate, then the network device will have no ability space is inadequate, then the network device will have no ability
skipping to change at page 8, line 44 skipping to change at page 9, line 31
FIFO scheduling, two TCP flows may receive very different share FIFO scheduling, two TCP flows may receive very different share
of the network capacity simply because they have different round- of the network capacity simply because they have different round-
trip times [Floyd91], and a flow that does not use congestion trip times [Floyd91], and a flow that does not use congestion
control may receive more capacity than a flow that does. AQM can control may receive more capacity than a flow that does. AQM can
therefore be combined with a scheduling mechanism that divides therefore be combined with a scheduling mechanism that divides
network traffic between multiple queues (section 2.1). network traffic between multiple queues (section 2.1).
4. Reduce the probability of control loop synchronisation 4. Reduce the probability of control loop synchronisation
The probability of network control loop synchronisation can be The probability of network control loop synchronisation can be
reduced by introducing randomness in the AQM functions used by reduced if network devices introduce randomness in the AQM
network devices that trigger congestion avoidance at the sending functions that trigger congestion avoidance at the sending host.
host.
2.1. AQM and Multiple Queues 2.1. AQM and Multiple Queues
A network device may use per-flow or per-class queuing with a A network device may use per-flow or per-class queuing with a
scheduling algorithm to either prioritise certain applications or scheduling algorithm to either prioritise certain applications or
classes of traffic, limit the rate of transmission, or to provide classes of traffic, limit the rate of transmission, or to provide
isolation between different traffic flows within a common class. For isolation between different traffic flows within a common class. For
example, a router may maintain per-flow state to achieve general example, a router may maintain per-flow state to achieve general
fairness by a per-flow scheduling algorithm such as various forms of fairness by a per-flow scheduling algorithm such as various forms of
Fair Queueing (FQ) [Dem90], including Weighted Fair Queuing (WFQ), Fair Queueing (FQ) [Dem90] [Sut99], including Weighted Fair Queuing
Stochastic Fairness Queueing (SFQ) [McK90] Deficit Round Robin (DRR) (WFQ), Stochastic Fairness Queueing (SFQ) [McK90] Deficit Round Robin
[Shr96], and/or a Class-Based Queue scheduling algorithm such as CBQ (DRR) [Shr96], [Nic12], and/or a Class-Based Queue scheduling
[Floyd95]. Hierarchical queues may also be used e.g., as a part of a algorithm such as CBQ [Floyd95]. Hierarchical queues may also be
Hierarchical Token Bucket (HTB), or Hierarchical Fair Service Curve used e.g., as a part of a Hierarchical Token Bucket (HTB), or
(HFSC) [Sto97] . These methods are also used to realise a range of Hierarchical Fair Service Curve (HFSC) [Sto97]. These methods are
Quality of Service (QoS) behaviours designed to meet the need of also used to realise a range of Quality of Service (QoS) behaviours
traffic classes (e.g. using the integrated or differentiated service designed to meet the need of traffic classes (e.g. using the
models). integrated or differentiated service models).
AQM is needed even for network devices that use per-flow or per-class AQM is needed even for network devices that use per-flow or per-class
queuing, because scheduling algorithms by themselves do not control queuing, because scheduling algorithms by themselves do not control
the overall queue size or the size of individual queues. AQM the overall queue size or the size of individual queues. AQM
mechanisms need to control the overall queue sizes, to ensure that mechanisms might need to control the overall queue sizes, to ensure
arriving bursts can be accommodated without dropping packets. AQM that arriving bursts can be accommodated without dropping packets.
should also be used to control the queue size for each individual AQM should also be used to control the queue size for each individual
flow or class, so that they do not experience unnecessarily high flow or class, so that they do not experience unnecessarily high
delay. Using a combination of AQM and scheduling between multiple delay. Using a combination of AQM and scheduling between multiple
queues has been shown to offer good results in experimental and some queues has been shown to offer good results in experimental and some
types of operational use. types of operational use.
In short, scheduling algorithms and queue management should be seen In short, scheduling algorithms and queue management should be seen
as complementary, not as replacements for each other. as complementary, not as replacements for each other.
2.2. AQM and Explicit Congestion Marking (ECN) 2.2. AQM and Explicit Congestion Marking (ECN)
skipping to change at page 9, line 51 skipping to change at page 10, line 33
congestion. ECN-marking can allow a network device to signal congestion. ECN-marking can allow a network device to signal
congestion at a point before a transport experiences congestion loss congestion at a point before a transport experiences congestion loss
or additional queuing delay [ECN-Benefit]. Section 4.2.1 describes or additional queuing delay [ECN-Benefit]. Section 4.2.1 describes
some of the benefits of using ECN with AQM. some of the benefits of using ECN with AQM.
2.3. AQM and Buffer Size 2.3. AQM and Buffer Size
It is important to differentiate the choice of buffer size for a It is important to differentiate the choice of buffer size for a
queue in a switch/router or other network device, and the queue in a switch/router or other network device, and the
threshold(s) and other parameters that determine how and when an AQM threshold(s) and other parameters that determine how and when an AQM
algorithm operates. One the one hand, the optimum buffer size is a algorithm operates. The optimum buffer size is a function of
function of operational requirements and should generally be sized to operational requirements and should generally be sized to be
be sufficient to buffer the largest normal traffic burst that is sufficient to buffer the largest normal traffic burst that is
expected. This size depends on the number and burstiness of traffic expected. This size depends on the number and burstiness of traffic
arriving at the queue and the rate at which traffic leaves the queue. arriving at the queue and the rate at which traffic leaves the queue.
The simplest mechanism starts with a new or building session One objective of AQM is to minimize the effect of lock-out, where one
attacking a queue that is full. One or more sessions, following flow prevents other flows from effectively gaining capacity. This
algorithms similar to those of [RFC5681], maximizes its effective need can be illustrated by a simple example of drop-tail queuing when
window, maximizing its impact on a queue somewhere in the network and a new TCP flow injects packets into a queue that happens to be almost
the effect of that queue on both its own latency and that of full. A TCP flow's congestion control algorithm [RFC5681] increases
competing sessions. It also maximizes the probability of loss from the flow rate to maximize its effective window. This builds a queue
that queue. A new session, sending its initial burst, has an in the network, inducing latency to the flow and other flows that
enhanced probability of filling the remaining queue and dropping share this queue. Once a drop-tail queue fills, there will also be
packets. As a result, the new session can be effectively prevented loss. A new flow, sending its initial burst, has an enhanced
from sharing the queue effectively for a period of many RTTs. One probability of filling the remaining queue and dropping packets. As
objective of AQM is to minimize the effect of lock-out by minimizing a result, the new flow can be effectively prevented from effectively
mean queue depth and therefore the probability that competing sharing the queue for a period of many RTTs. In contrast, AQM can
sessions can materially prevent each other from performing well. minimize the mean queue depth and therefore reducing the probability
Different types of traffic and deployment scenarios will lead to that competing sessions can materially prevent each other from
different requirements. performing well.
AQM frees a designer from having to the limit buffer space to achieve AQM frees a designer from having to limit the buffer space assigned
acceptable performance, allowing allocation of sufficient buffering to a queue to achieve acceptable performance, allowing allocation of
to satisfy the needs of the particular traffic pattern. On the other sufficient buffering to satisfy the needs of the particular traffic
hand, the choice of AQM algorithm and associated parameters is a pattern. Different types of traffic and deployment scenarios will
function of the way in which congestion is experienced and the lead to different requirements. The choice of AQM algorithm and
required reaction to achieve acceptable performance. This latter associated parameters is therefore a function of the way in which
topic is the primary topic of the following sections. congestion is experienced and the required reaction to achieve
acceptable performance. This latter is the primary topic of the
following sections.
3. Managing Aggressive Flows 3. Managing Aggressive Flows
One of the keys to the success of the Internet has been the One of the keys to the success of the Internet has been the
congestion avoidance mechanisms of TCP. Because TCP "backs off" congestion avoidance mechanisms of TCP. Because TCP "backs off"
during congestion, a large number of TCP connections can share a during congestion, a large number of TCP connections can share a
single, congested link in such a way that link bandwidth is shared single, congested link in such a way that link bandwidth is shared
reasonably equitably among similarly situated flows. The equitable reasonably equitably among similarly situated flows. The equitable
sharing of bandwidth among flows depends on all flows running sharing of bandwidth among flows depends on all flows running
compatible congestion avoidance algorithms, i.e., methods conformant compatible congestion avoidance algorithms, i.e., methods conformant
with the current TCP specification [RFC5681]. with the current TCP specification [RFC5681].
In this document a flow is known as "TCP-friendly" when it has a In this document a flow is known as "TCP-friendly" when it has a
congestion response that approximates the average response expected congestion response that approximates the average response expected
of a TCP flow. One example method of a TCP-friendly scheme is the of a TCP flow. One example method of a TCP-friendly scheme is the
TCP-Friendly Rate Control algorithm [RFC5348]. In this document, the TCP-Friendly Rate Control algorithm [RFC5348]. In this document, the
term is used more generally to describe this and other algorithms term is used more generally to describe this and other algorithms
that meet these goals. that meet these goals.
It is convenient to divide flows into three classes: (1) TCP Friendly There are a variety of types of network flow. Some convenient
flows, (2) unresponsive flows, i.e., flows that do not slow down when classes that describe flows are: (1) TCP Friendly flows, (2)
congestion occurs, and (3) flows that are responsive but are not TCP- unresponsive flows, i.e., flows that do not slow down when congestion
friendly. The last two classes contain more aggressive flows that occurs, and (3) flows that are responsive but are not TCP-friendly.
pose significant threats to Internet performance, which we will now The last two classes contain more aggressive flows that pose
significant threats to Internet performance, which we will now
discuss. discuss.
1. TCP-Friendly flows 1. TCP-Friendly flows
A TCP-friendly flow responds to congestion notification within a A TCP-friendly flow responds to congestion notification within a
small number of path Round Trip Times (RTT), and in steady-state small number of path Round Trip Times (RTT), and in steady-state
it uses no more capacity than a conformant TCP running under it uses no more capacity than a conformant TCP running under
comparable conditions (drop rate, RTT, packet size, etc.). This comparable conditions (drop rate, RTT, packet size, etc.). This
is described in the remainder of the document. is described in the remainder of the document.
skipping to change at page 11, line 31 skipping to change at page 12, line 16
(both simply called "applications" in the remainder of this (both simply called "applications" in the remainder of this
document) and does not itself provide mechanisms to prevent document) and does not itself provide mechanisms to prevent
congestion collapse and establish a degree of fairness [RFC5405]. congestion collapse and establish a degree of fairness [RFC5405].
There is a growing set of UDP-based applications whose congestion There is a growing set of UDP-based applications whose congestion
avoidance algorithms are inadequate or nonexistent (i.e, a flow avoidance algorithms are inadequate or nonexistent (i.e, a flow
that does not throttle its sending rate when it experiences that does not throttle its sending rate when it experiences
congestion). Examples include some UDP streaming applications congestion). Examples include some UDP streaming applications
for packet voice and video, and some multicast bulk data for packet voice and video, and some multicast bulk data
transport. If no action is taken, such unresponsive flows could transport. If no action is taken, such unresponsive flows could
lead to a new congestive collapse [RFC2309]. lead to a new congestive collapse.
In general, UDP-based applications need to incorporate effective In general, UDP-based applications need to incorporate effective
congestion avoidance mechanisms [RFC5405]. Further research and congestion avoidance mechanisms [RFC5405]. Further research and
development of ways to accomplish congestion avoidance for development of ways to accomplish congestion avoidance for
presently unresponsive applications continue to be important. presently unresponsive applications continue to be important.
Network devices need to be able to protect themselves against Network devices need to be able to protect themselves against
unresponsive flows, and mechanisms to accomplish this must be unresponsive flows, and mechanisms to accomplish this must be
developed and deployed. Deployment of such mechanisms would developed and deployed. Deployment of such mechanisms would
provide an incentive for all applications to become responsive by provide an incentive for all applications to become responsive by
either using a congestion-controlled transport (e.g. TCP, SCTP either using a congestion-controlled transport (e.g. TCP, SCTP
[RFC4960] and DCCP [RFC4340].) or by incorporating their own [RFC4960] and DCCP [RFC4340].) or by incorporating their own
congestion control in the application [RFC5405]. congestion control in the application [RFC5405], [RFC6679].
Lastly, some applications (e.g. current web browsers) open a Lastly, some applications (e.g. current web browsers) open a
large numbers of short TCP flows for a single session. This can large numbers of short TCP flows for a single session. This can
lead to each individual flow spending the majority of time in the lead to each individual flow spending the majority of time in the
exponential TCP slow start phase, rather than in TCP congestion exponential TCP slow start phase, rather than in TCP congestion
avoidance. The resulting traffic aggregate can therefore be much avoidance. The resulting traffic aggregate can therefore be much
less responsive than a single standard TCP flow. less responsive than a single standard TCP flow.
3. Non-TCP-friendly Transport Protocols 3. Non-TCP-friendly Transport Protocols
A second threat is posed by transport protocol implementations A second threat is posed by transport protocol implementations
that are responsive to congestion, but, either deliberately or that are responsive to congestion, but, either deliberately or
through faulty implementation, are not TCP-friendly. Such through faulty implementation, are not TCP-friendly. Such
applications may gain an unfair share of the available network applications may gain an unfair share of the available network
capacity. capacity.
For example, the popularity of the Internet has caused a For example, the popularity of the Internet has caused a
proliferation in the number of TCP implementations. Some of proliferation in the number of TCP implementations. Some of
these may fail to implement the TCP congestion avoidance these may fail to implement the TCP congestion avoidance
mechanisms correctly because of poor implementation. Others may mechanisms correctly because of poor implementation. Others may
skipping to change at page 12, line 47 skipping to change at page 13, line 34
more aggressive flows in classes 2 and 3 clearly poses a threat to more aggressive flows in classes 2 and 3 clearly poses a threat to
future Internet stability. There is an urgent need for measurements future Internet stability. There is an urgent need for measurements
of current conditions and for further research into the ways of of current conditions and for further research into the ways of
managing such flows. This raises many difficult issues in managing such flows. This raises many difficult issues in
identifying and isolating unresponsive or non-TCP-friendly flows at identifying and isolating unresponsive or non-TCP-friendly flows at
an acceptable overhead cost. Finally, there is as yet little an acceptable overhead cost. Finally, there is as yet little
measurement or simulation evidence available about the rate at which measurement or simulation evidence available about the rate at which
these threats are likely to be realized, or about the expected these threats are likely to be realized, or about the expected
benefit of algorithms for managing such flows. benefit of algorithms for managing such flows.
Another topic requiring consideration is the appropriate Another topic requiring consideration is the appropriate granularity
granugranularity of a "flow" when considering a queue management of a "flow" when considering a queue management method. There are a
method. There are a few "natural" answers: 1) a transport (e.g. TCP few "natural" answers: 1) a transport (e.g. TCP or UDP) flow (source
or UDP) flow (source address/port, destination address/port, address/port, destination address/port, protocol); 2) Differentiated
protocol); 2) Differentiated Services Code Point, DSCP; 3) a source/ Services Code Point, DSCP; 3) a source/destination host pair (IP
destination host pair (IP address); 4) a given source host or a given address); 4) a given source host or a given destination host, or
destination host, or various combinations of the above. various combinations of the above; 5) a subscriber or site receiving
the Internet service (enterprise or residential).
The source/destination host pair gives an appropriate granularity in The source/destination host pair gives an appropriate granularity in
many circumstances, However, different vendors/providers use many circumstances, However, different vendors/providers use
different granularities for defining a flow (as a way of different granularities for defining a flow (as a way of
"distinguishing" themselves from one another), and different "distinguishing" themselves from one another), and different
granularities may be chosen for different places in the network. It granularities may be chosen for different places in the network. It
may be the case that the granularity is less important than the fact may be the case that the granularity is less important than the fact
that a network device needs to be able to deal with more unresponsive that a network device needs to be able to deal with more unresponsive
flows at *some* granularity. The granularity of flows for congestion flows at *some* granularity. The granularity of flows for congestion
management is, at least in part, a question of policy that needs to management is, at least in part, a question of policy that needs to
be addressed in the wider IETF community. be addressed in the wider IETF community.
4. Conclusions and Recommendations 4. Conclusions and Recommendations
The IRTF, in publishing [RFC2309], and the IETF in subsequent The IRTF, in publishing [RFC2309], and the IETF in subsequent
discussion, has developed a set of specific recommendations regarding discussion, has developed a set of specific recommendations regarding
the implementation and operational use of AQM procedures. The the implementation and operational use of AQM procedures. The
updated recommendations provided by this document are summarised as: recommendations provided by this document are summarised as:
1. Network devices SHOULD implement some AQM mechanism to manage 1. Network devices SHOULD implement some AQM mechanism to manage
queue lengths, reduce end-to-end latency, and avoid lock-out queue lengths, reduce end-to-end latency, and avoid lock-out
phenomena within the Internet. phenomena within the Internet.
2. Deployed AQM algorithms SHOULD support Explicit Congestion 2. Deployed AQM algorithms SHOULD support Explicit Congestion
Notification (ECN) as well as loss to signal congestion to Notification (ECN) as well as loss to signal congestion to
endpoints. endpoints.
3. The algorithms that the IETF recommends SHOULD NOT require 3. The algorithms that the IETF recommends SHOULD NOT require
skipping to change at page 18, line 29 skipping to change at page 19, line 18
combine AQM with these traffic classification mechanisms and perform combine AQM with these traffic classification mechanisms and perform
AQM only on specific queues within a network device. AQM only on specific queues within a network device.
An AQM algorithm should not deliberately try to prejudice the size of An AQM algorithm should not deliberately try to prejudice the size of
packet that performs best (i.e. Preferentially drop/mark based only packet that performs best (i.e. Preferentially drop/mark based only
on packet size). Procedures for selecting packets to mark/drop on packet size). Procedures for selecting packets to mark/drop
SHOULD observe the actual or projected time that a packet is in a SHOULD observe the actual or projected time that a packet is in a
queue (bytes at a rate being an analog to time). When an AQM queue (bytes at a rate being an analog to time). When an AQM
algorithm decides whether to drop (or mark) a packet, it is algorithm decides whether to drop (or mark) a packet, it is
RECOMMENDED that the size of the particular packet should not be RECOMMENDED that the size of the particular packet should not be
taken into account [Byte-pkt]. taken into account [RFC7141].
Applications (or transports) generally know the packet size that they Applications (or transports) generally know the packet size that they
are using and can hence make their judgments about whether to use are using and can hence make their judgments about whether to use
small or large packets based on the data they wish to send and the small or large packets based on the data they wish to send and the
expected impact on the delay or throughput, or other performance expected impact on the delay or throughput, or other performance
parameter. When a transport or application responds to a dropped or parameter. When a transport or application responds to a dropped or
marked packet, the size of the rate reduction should be proportionate marked packet, the size of the rate reduction should be proportionate
to the size of the packet that was sent [Byte-pkt]. to the size of the packet that was sent [RFC7141].
AQM-enabled system MAY instantiate different instances of an AQM AQM-enabled system MAY instantiate different instances of an AQM
algorithm to be applied within the same traffic class. Traffic algorithm to be applied within the same traffic class. Traffic
classes may be differentiated based on an Access Control List (ACL), classes may be differentiated based on an Access Control List (ACL),
the packet Differentiated Services Code Point (DSCP) [RFC5559], the packet Differentiated Services Code Point (DSCP) [RFC5559],
enabling use of the ECN field (i.e. any of ECT(0), ECT(1) or enabling use of the ECN field (i.e. any of ECT(0), ECT(1) or
CE)[RFC3168] [RFC4774], a multi-field (MF) classifier that combines CE)[RFC3168] [RFC4774], a multi-field (MF) classifier that combines
the values of a set of protocol fields (e.g. IP address, transport, the values of a set of protocol fields (e.g. IP address, transport,
ports) or an equivalent codepoint at a lower layer. This ports) or an equivalent codepoint at a lower layer. This
recommendation goes beyond what is defined in RFC 3168, by allowing recommendation goes beyond what is defined in RFC 3168, by allowing
skipping to change at page 19, line 52 skipping to change at page 20, line 38
sometimes require transport timers or probe packets to detect and sometimes require transport timers or probe packets to detect and
respond to such loss. Loss patterns may also impact timely respond to such loss. Loss patterns may also impact timely
detection, e.g. the time may be reduced when network devices do not detection, e.g. the time may be reduced when network devices do not
drop long runs of packets from the same flow. drop long runs of packets from the same flow.
A common objective of an elastic transport congestion control A common objective of an elastic transport congestion control
protocol is to allow an application to deliver the maximum rate of protocol is to allow an application to deliver the maximum rate of
data without inducing excessive delays when packets are queued in a data without inducing excessive delays when packets are queued in a
buffers within the network. To achieve this, a transport should try buffers within the network. To achieve this, a transport should try
to operate at rate below the inflexion point of the load/delay curve to operate at rate below the inflexion point of the load/delay curve
(the bend of what is sometimes called a "hockey-stick" curve). When (the bend of what is sometimes called a "hockey-stick" curve)
the congestion window allows the load to approach this bend, the end- [Jain94]. When the congestion window allows the load to approach
to-end delay starts to rise - a result of congestion, as packets this bend, the end-to-end delay starts to rise - a result of
probabilistically arrive at non-overlapping times. On the one hand, congestion, as packets probabilistically arrive at non-overlapping
a transport that operates above this point can experience congestion times. On the one hand, a transport that operates above this point
loss and could also trigger operator activities, such as those can experience congestion loss and could also trigger operator
discussed in [RFC6057]. On the other hand, a flow may achieve both activities, such as those discussed in [RFC6057]. On the other hand,
near-maximum throughput and low latency when it operates close to a flow may achieve both near-maximum throughput and low latency when
this knee point, with minimal contribution to router congestion. it operates close to this knee point, with minimal contribution to
Choice of an appropriate rate/congestion window can therefore router congestion. Choice of an appropriate rate/congestion window
significantly impact the loss and delay experienced by a flow and can therefore significantly impact the loss and delay experienced by
will impact other flows that share a common network queue. a flow and will impact other flows that share a common network queue.
Some applications may send less than permitted by the congestion Some applications may send less than permitted by the congestion
control window (or rate). Examples include multimedia codecs that control window (or rate). Examples include multimedia codecs that
stream at some natural rate (or set of rates) or an application that stream at some natural rate (or set of rates) or an application that
is naturally interactive (e.g., some web applications, gaming, is naturally interactive (e.g., some web applications, gaming,
transaction-based protocols). Such applications may have different transaction-based protocols). Such applications may have different
objectives. They may not wish to maximize throughput, but may desire objectives. They may not wish to maximize throughput, but may desire
a lower loss rate or bounded delay. a lower loss rate or bounded delay.
The correct operation of an AQM-enabled network device MUST NOT rely The correct operation of an AQM-enabled network device MUST NOT rely
skipping to change at page 22, line 21 skipping to change at page 23, line 13
Dave Taht, John Leslie, David Collier-Brown and many others. Dave Taht, John Leslie, David Collier-Brown and many others.
Gorry Fairhurst was in part supported by the European Community under Gorry Fairhurst was in part supported by the European Community under
its Seventh Framework Programme through the Reducing Internet its Seventh Framework Programme through the Reducing Internet
Transport Latency (RITE) project (ICT-317700). Transport Latency (RITE) project (ICT-317700).
9. References 9. References
9.1. Normative References 9.1. Normative References
[Byte-pkt]
and Internet Engineering Task Force, Work in Progress,
"Byte and Packet Congestion Notification (draft-ietf-
tsvwg-byte-pkt-congest)", July 2013.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP", RFC of Explicit Congestion Notification (ECN) to IP", RFC
3168, September 2001. 3168, September 2001.
[RFC4301] Kent, S. and K. Seo, "Security Architecture for the [RFC4301] Kent, S. and K. Seo, "Security Architecture for the
Internet Protocol", RFC 4301, December 2005. Internet Protocol", RFC 4301, December 2005.
skipping to change at page 23, line 9 skipping to change at page 23, line 41
[RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion [RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
Control", RFC 5681, September 2009. Control", RFC 5681, September 2009.
[RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion [RFC6040] Briscoe, B., "Tunnelling of Explicit Congestion
Notification", RFC 6040, November 2010. Notification", RFC 6040, November 2010.
[RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P., [RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P.,
and K. Carlberg, "Explicit Congestion Notification (ECN) and K. Carlberg, "Explicit Congestion Notification (ECN)
for RTP over UDP", RFC 6679, August 2012. for RTP over UDP", RFC 6679, August 2012.
[RFC7141] Briscoe, B. and J. Manner, "Byte and Packet Congestion
Notification", BCP 41, RFC 7141, February 2014.
9.2. Informative References 9.2. Informative References
[AQM-WG] "IETF AQM WG", . [AQM-WG] "IETF AQM WG", .
[CONEX] Mathis, M. and B. Briscoe, "The Benefits to Applications [CONEX] Mathis, M. and B. Briscoe, "The Benefits to Applications
of using Explicit Congestion Notification (ECN)", IETF of using Explicit Congestion Notification (ECN)", IETF
(Work-in-Progress) draft-ietf-conex-abstract-mech, March (Work-in-Progress) draft-ietf-conex-abstract-mech, March
2014. 2014.
[Choi04] Choi, Baek-Young., Moon, Sue., Zhang, Zhi-Li., [Choi04] Choi, Baek-Young., Moon, Sue., Zhang, Zhi-Li.,
skipping to change at page 27, line 18 skipping to change at page 27, line 49
that ECN mark threshold needs to be configurable. - Reworked your that ECN mark threshold needs to be configurable. - Reworked your
"knee" para. Various updates in response to feedback. "knee" para. Various updates in response to feedback.
-05 WG Draft - Minor edits June 2014 - New text added to address -05 WG Draft - Minor edits June 2014 - New text added to address
further comments, and improve introduction - adding context, further comments, and improve introduction - adding context,
reference to Conex, linking between sections, added text on reference to Conex, linking between sections, added text on
synchronisation. synchronisation.
-06 WG Draft - Minor edits July 2014 - Reorganised the introduction -06 WG Draft - Minor edits July 2014 - Reorganised the introduction
following WG feedback to better explain how this relates to the following WG feedback to better explain how this relates to the
original goals of RGFC2309. Added item on packet bursts. Various original goals of RFC2309. Added item on packet bursts. Various
minor corrections incorporatd - no change to main recommendations. minor corrections incorporated - no change to main
recommendations.
-07 WG Draft - Minor edits July 2014 - Replaced ID REF by RFC 7141.
Changes made to introduction following inputs from Wes Eddy and
John Leslie. Corrections and additions proposed by Bob Briscoe.
Authors' Addresses Authors' Addresses
Fred Baker (editor) Fred Baker (editor)
Cisco Systems Cisco Systems
Santa Barbara, California 93117 Santa Barbara, California 93117
USA USA
Email: fred@cisco.com Email: fred@cisco.com
 End of changes. 41 change blocks. 
151 lines changed or deleted 194 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/