rfc9743xml2.original.xml   rfc9743.xml 
<?xml version="1.0" encoding="UTF-8"?> <?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 2.
7.4) -->
<!DOCTYPE rfc [ <!DOCTYPE rfc [
<!ENTITY nbsp "&#160;"> <!ENTITY nbsp "&#160;">
<!ENTITY zwsp "&#8203;"> <!ENTITY zwsp "&#8203;">
<!ENTITY nbhy "&#8209;"> <!ENTITY nbhy "&#8209;">
<!ENTITY wj "&#8288;"> <!ENTITY wj "&#8288;">
]> ]>
<rfc ipr="trust200902" docName="draft-ietf-ccwg-rfc5033bis-08" category="bcp" co <rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft
nsensus="true" submissionType="IETF" obsoletes="5033" tocInclude="true" sortRefs -ietf-ccwg-rfc5033bis-08" number="9743" category="bcp" consensus="true" submissi
="true" symRefs="true"> onType="IETF" obsoletes="5033" updates="" tocInclude="true" sortRefs="true" symR
efs="true" version="3" xml:lang="en">
<front> <front>
<title abbrev="New CC Algorithms">Specifying New Congestion Control Algorith ms</title> <title abbrev="New CC Algorithms">Specifying New Congestion Control Algorith ms</title>
<seriesInfo name="RFC" value="9743"/>
<seriesInfo name="BCP" value="133"/>
<!--[rfced] *ADs - As this document obsoletes RFC 5033, should it be
added to BCP 133? We have updated as such; please let us know
any objections. -->
<!--[rfced] While we understand RFC 5033 was published
with some of the text we are questioning below, the questions and
edits are aimed at making the text as correct and useful to the reader
as possible. Please review carefully.
In addition, this document is in the current RFC format (a major change
was made in 2019), so various updates have been made in the source file.
Details are here: https://www.rfc-editor.org/pubprocess/how-we-update.
-->
<author initials="M." surname="Duke" fullname="Martin Duke" role="editor"> <author initials="M." surname="Duke" fullname="Martin Duke" role="editor">
<organization>Google LLC</organization> <organization>Google LLC</organization>
<address> <address>
<email>martin.h.duke@gmail.com</email> <email>martin.h.duke@gmail.com</email>
</address> </address>
</author> </author>
<author initials="G." surname="Fairhurst" fullname="Godred Fairhurst" role=" editor"> <author initials="G." surname="Fairhurst" fullname="Godred Fairhurst" role=" editor">
<organization>University of Aberdeen</organization> <organization>University of Aberdeen</organization>
<address> <address>
<email>gorry@erg.abdn.ac.uk</email> <email>gorry@erg.abdn.ac.uk</email>
</address> </address>
</author> </author>
<date year="2025" month="March"/>
<date year="2024" month="August" day="21"/> <area>WIT</area>
<workgroup>ccwg</workgroup>
<area>General</area> <!-- [rfced] Please insert any keywords (beyond those that appear in
<workgroup>CCWG</workgroup> the title) for use on https://www.rfc-editor.org/search.
<keyword>Internet-Draft</keyword> -->
<abstract> <keyword>example</keyword>
<?line 99?> <!--[rfced] Might this update to the Abstract be of interest? It
attempts to reduce redundancy and reorganize the sentences
slightly.
<t>This document replaces RFC 5033, which discusses the principles and Original:
guidelines for standardzing new congestion control algorithms. It seeks to
ensure that proposed congestion control algorithms operate without harm and
efficiently alongside other algorithms in the global Internet. It emphasizes the
need for comprehensive testing and validation to prevent adverse interactions
with existing flows. This document provides a framework for the development and
assessment of congestion control mechanisms, promoting stability across diverse
network environments. It obsoletes RFC5033 to reflect changes in the congestion
control landscape.</t>
</abstract> This document replaces RFC 5033, which discusses the principles and
guidelines for standardizing new congestion control algorithms. It
seeks to ensure that proposed congestion control algorithms operate
without harm and efficiently alongside other algorithms in the global
Internet. It emphasizes the need for comprehensive testing and
validation to prevent adverse interactions with existing flows. This
document provides a framework for the development and assessment of
congestion control mechanisms, promoting stability across diverse
network environments. It obsoletes RFC5033 to reflect changes in
the congestion control landscape.
<note title="About This Document" removeInRFC="true"> Perhaps:
<t>
Status information for this document may be found at <eref target="https
://datatracker.ietf.org/doc/draft-ietf-ccwg-rfc5033bis/"/>.
</t>
<t>
Discussion of this document takes place on the
Congestion Control Working Group (ccwg) Working Group mailing list (<ere
f target="mailto:ccwg@ietf.org"/>),
which is archived at <eref target="https://mailarchive.ietf.org/arch/bro
wse/ccwg/"/>.
Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ccwg/"/
>.
</t>
<t>Source for this draft and an issue tracker can be found at
<eref target="https://github.com/ietf-wg-ccwg/rfc5033bis"/>.</t>
</note>
RFC 5033 discusses the principles and guidelines for standardizing
new congestion control algorithms. This document obsoletes RFC
5033 to reflect changes in the congestion control landscape by
providing a framework for the development and assessment of
congestion control mechanisms, promoting stability across diverse
work environments. This document aims to describe ways that
proposed congestion control algorithms can operate both without
harm and efficiently alongside other algorithms in the global
Internet. It emphasizes the need for comprehensive testing and
validation to prevent adverse interactions with existing flows.
-->
<abstract>
<t>This document replaces RFC 5033, which discusses the principles and
guidelines for standardizing new congestion control algorithms. It seeks
to ensure that proposed congestion control algorithms operate without
harm and efficiently alongside other algorithms in the global
Internet. It emphasizes the need for comprehensive testing and
validation to prevent adverse interactions with existing flows. This
document provides a framework for the development and assessment of
congestion control mechanisms, promoting stability across diverse
network environments. It obsoletes RFC 5033 to reflect changes in the
congestion control landscape.</t>
</abstract>
</front> </front>
<middle> <middle>
<section anchor="introduction">
<name>Introduction</name>
<?line 111?> <t>This document provides guidelines for the IETF to use when evaluating
a proposed congestion control algorithm that differs from the general
<section anchor="introduction"><name>Introduction</name> congestion control principles outlined in <xref target="RFC2914"/>. The
guidance is intended to be useful to authors proposing congestion
control algorithms and for the IETF community when evaluating whether a
proposal is appropriate for publication in the RFC Series and for
deployment in the Internet.</t>
<t>This document provides guidelines for the IETF to use when evaluating a propo <t>This document obsoletes <xref target="RFC5033"/>, which was published
sed in 2007 as a Best Current Practice for evaluating proposed congestion
congestion control algorithm that differs from the general congestion control control algorithms for publication in Experimental or Proposed Standard RF
principles outlined in <xref target="RFC2914"/>. The guidance is intended to be Cs.</t>
useful to
authors proposing congestion control algorithms and for the IETF community when
evaluating whether a proposal is appropriate for publication in the RFC series
and for deployment in the Internet.</t>
<t>This document obsoletes <xref target="RFC5033"/>, which was published in 2007 <t>The IETF specifies standard Internet congestion control algorithms in
as a Best the RFC Series. These congestion control algorithms can suffer
Current Practice for evaluating proposed congestion control algorithms as performance challenges when used in differing environments (e.g.,
Experimental or Proposed Standard RFCs.</t> high-speed networks, cellular and Wi-Fi wireless technologies, and
long-distance satellite links), and also when flows carry specific
workloads (e.g., Voice over IP (VoIP), gaming, and videoconferencing).</t>
<t>The IETF specifies standard Internet congestion control algorithms in the RFC <t>When <xref target="RFC5033"/> was published, TCP <xref
-series. target="RFC9293"/> was the primary focus of IETF congestion control
These congestion control algorithms can suffer performance challenges when used efforts, with proposals typically discussed within the Internet
in Congestion Control Research Group (ICCRG). Concurrently, the Datagram
differing environments (e.g., high-speed networks, cellular and WiFi wireless Congestion Control Protocol (DCCP) <xref target="RFC4340"/> was
technologies, and long distance satellite links), and also when flows carry developed to define new congestion control algorithms for datagram
specific workloads (Voice over IP (VoIP), gaming, and videoconferencing).</t> traffic, while the Stream Control Transmission Protocol (SCTP) <xref
target="RFC9260"/> reused TCP congestion control algorithms.</t>
<t>When <xref target="RFC5033"></xref> was published in 2007, TCP [RFC9293] was <t>Since then, several changes have occurred. The range of protocols
the primary focus of utilizing congestion control algorithms has expanded to include QUIC
IETF congestion control efforts, with proposals typically discussed within the <xref target="RFC9000"/> and RTP Media Congestion Avoidance Techniques
Internet Congestion Control Research Group (ICCRG). Concurrently, the Datagram (RMCAT) (e.g., <xref target="RFC8836"/>). Additionally, some alternative
Congestion Control Protocol (DCCP) [RFC4340] was developed to define new congestion control algorithms have been tested and deployed at scale
congestion control algorithms for datagram traffic, while the Stream Control without full IETF review. There is increased interest in specialized use
Transmission Protocol (SCTP) [RFC9260] reused TCP congestion control algorithms. cases, such as data centers (e.g., <xref target="RFC8257"/>), and in
</t> supporting a variety of upper-layer protocols and applications, such as
real-time protocols. Moreover, the community has gained significant
experience with congestion indications beyond packet loss.</t>
<t>Since then, several changes have occurred. The range of protocols utilizing <t>Multicast congestion control is a considerably less mature field of
congestion control algorithms has expanded to include QUIC [RFC9000] and RTP study and is not in the scope of this document. However, <xref
Media Congestion Avoidance Techniques (RMCAT) (e.g., <xref target="RFC8836"></xr section="4" sectionFormat="of" target="RFC8085"/> provides additional
ef>. Additionally, guidelines for multicast and broadcast usage of UDP.</t>
some alternative congestion control algorithms have been tested and deployed
at scale without full IETF review. There is increased interest in specialized
use cases, such as data centers (e.g., [RFC8257], and in supporting a variety of
upper layer protocols and applications, such as real-time protocols. Moreover,
the community has gained significant experience with congestion indications
beyond packet loss.</t>
<t>Multicast congestion control is a considerably less mature field of study and <t>Congestion control algorithms have been developed outside of the
is not in the scope of this document. However, <xref section="4" sectionFormat=" IETF, including at least two that saw large scale deployment. These
of" target="RFC8085"/> provides include CUBIC <xref target="HRX08"/> and Bottleneck Bandwidth and
additional guidelines for multicast and broadcast usage of UDP.</t> Round-trip propagation time (BBR) <xref
target="I-D.cardwell-iccrg-bbr-congestion-control"/>.</t>
<t>Congestion control algorithms have been developed outside of the IETF, includ <!-- [rfced] We note that [HRX08] states it was published in 2008. May
ing we update the text below accordingly?
at least two that saw large scale deployment: CUBIC <xref target="HRX08"/> and B
ottleneck
Bandwidth and Round-trip propagation time (BBR) <xref target="BBR-draft"/>.</t>
<t>CUBIC was documented in a research publication in 2007 <xref target="HRX08"/> Original:
, and was then CUBIC was documented in a research publication in 2007 [HRX08], and
adopted as the default congestion control algorithm for the TCP implementation was then adopted as the default congestion control algorithm for
in Linux. It was already used in a significant fraction of TCP connections over the TCP implementation in Linux.
the Internet before being documented in an Informational Internet-Draft in
2015, published as an Informational RFC in 2017 as <xref target="RFC8312"/> and
then as a
Proposed Standard in 2023 <xref target="RFC9438"/>.</t>
<t>At the time of writing, BBR is being developed as an internal research projec Perhaps:
t CUBIC was documented in a research publication in 2008 [HRX08], and
by Google, with the first implementation contributed to Linux kernel 4.19 in was then adopted as the default congestion control algorithm for
2016. It was described in an IRTF Internet-Draft in 2018, and that Internet- the TCP implementation in Linux.
Draft is regularly updated to document the evolving versions of the algorithm
<xref target="BBR-draft"/>. BBR is currently widely used for Google services usi
ng either
TCP or QUIC, and is also widely deployed outside of Google.</t>
<t>We cannot say now whether the original authors of <xref target="RFC5033"/> ex -->
pected that
developers would be waiting for IETF review before widely deploying a
new congestion control algorithm over the Internet, but the examples of CUBIC
and BBR teach us that deployment of new algorithms is not, in fact, gated by the
publication of the algorithm as an RFC.</t>
<t>Nevertheless, a specification for a congestion control algorithm provides a n <!--[rfced] Would one of the following suggestions be agreeable in
umber of order to clarify this document's journey?
advantages:</t>
<t><list style="symbols"> Original:
<t>It can help implementers, operators, and other interested parties It was already used in a significant fraction of TCP connections over
develop a shared understanding of how the algorithm works and how it is the Internet before being documented in an Informational
expected to behave in various scenarios and configurations.</t> Internet-Draft in 2015, published as an Informational RFC in 2017 as
<t>It can help potential contributors understand the algorithm, [RFC8312] and then as a Proposed Standard in 2023 [RFC9438].
which can make it easier for them to suggest improvements and/or identify
limitations. Furthermore, the specification can help multiple contributors
align on a consensus change to the algorithm.</t>
<t>A specification that is accessible to anyone can circumvent the issue that
some implementers may be unable to read open source reference implementations
due to the constraints of some open source licenses.</t>
</list></t>
<t>Beyond helping develop specific algorithm proposals, guidelines can also serv Perhaps A:
e It was already used in a significant
as a reminder to potential inventors and developers of the multiple facets of fraction of TCP connections over the Internet before being published as an
the congestion control problem.</t> Informational RFC in 2017 as [RFC8312] and then as a Proposed
Standard in 2023 [RFC9438].
<t>The evaluation guidelines in this document are intended to be consistent with Perhaps B:
the congestion control principles from <xref target="RFC2914"/> of preventing co It was already used in a significant fraction of TCP connections over
ngestion the Internet before being documented in an Internet-Draft with the
collapse, considering fairness, and optimizing a flow's own performance in terms intended status of Informational in 2015, published as an
of throughput, delay, and loss. <xref target="RFC2914"/> also discusses the goal Informational RFC in 2017 as [RFC8312], and then published as a
of avoiding Proposed Standard in 2023 [RFC9438].
a congestion control "arms race" among competing transport protocols.</t> -->
<t>This document does not give hard-and-fast requirements for an appropriate <t>CUBIC was documented in a research publication in 2007 <xref
congestion control algorithm. Rather, the document provides a set of criteria target="HRX08"/>, and was then adopted as the default congestion control
that should be considered and weighed by the developers of alternative algorithm for the TCP implementation in Linux. It was already used in a
algorithms and by the IETF in the context of each proposal.</t> significant fraction of TCP connections over the Internet before being
documented in an Informational Internet-Draft in 2015, published as an
Informational RFC in 2017 as <xref target="RFC8312"/> and then as a
Proposed Standard in 2023 <xref target="RFC9438"/>.</t>
<t>The high-order criterion for advancing any proposal within the IETF is a seri <!--[rfced] Note that we have removed "IRTF" from the following text.
ous It doesn't appear to us that an IRTF RG adopted this draft (we
scientific study of the pros and cons that occurs when the proposal is see the first two versions as individual submissions and the last
considered for publication by the IETF, or before it is deployed at large scale. as an IETF document). Please review.
</t>
<t>After initial studies, authors are encouraged to write a specification of the Original:
ir It was described in an IRTF Internet-Draft in 2018, and that
proposal for publication in the RFC series. This allows others to understand and Internet-Draft is regularly updated to document the
investigate the wealth of proposals in this space.</t> evolving versions of the algorithm [BBR-draft].
<t>This document is intended to reduce the barriers to entry for new congestion Current:
control work to the IETF. As such, proponents of new congestion control It was described in an Internet-Draft in 2018, which has been
algorithms ought not to interpret these criteria as a checklist of requirements regularly updated to document the evolving versions of the algorithm
before approaching the IETF. Instead, proponents are encouraged to think about [BBR].
these issues beforehand, and have the willingness to do the work implied by the -->
remainder of this document.</t>
</section> <t>At the time of writing, BBR is being developed as an internal
<section anchor="specification-of-requirements"><name>Specification of Requireme research project by Google, with the first implementation contributed to
nts</name> Linux kernel 4.19 in 2016. It was described in an Internet-Draft in
2018, which has been regularly updated to document the
evolving versions of the algorithm <xref
target="I-D.cardwell-iccrg-bbr-congestion-control"/>. BBR is currently
widely used for Google services using either TCP or QUIC and is also
widely deployed outside of Google.</t>
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", <t>We cannot say whether the original authors of <xref
"SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this target="RFC5033"/> expected that developers would be waiting for IETF
document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> < review before widely deploying a new congestion control algorithm over
xref target="RFC8174"/> the Internet, but the examples of CUBIC and BBR illustrate that deployment
when, and only when, they appear in all capitals, as shown here.</t> of new algorithms is not, in fact, gated by the publication of the
algorithm as an RFC.</t>
</section> <!-- [rfced] May we update the third bullet below for consistency with
<section anchor="guidelines-for-authors"><name>Guidelines for Authors</name> the other bulleted items?
<section anchor="guidelines-for-authors-about-evaluation"><name>Guidelines for A uthors about Evaluation</name> Original:
<t>This document does not specify specific evaluation methods, short of internet Nevertheless, a specification for a congestion control algorithm
-scale deployment and measurement, to test the criteria described below. There a provides a number of advantages:
re multiple possible approaches to evaluation. Each has a role, and the most app
ropriate approach depends on the criteria being evaluated and the maturity of th
e specification.</t>
<t>For many algorithms, an initial evaluation will consider individual protocol * It can help implementers, operators, and other interested parties
mechanisms in a simulator to analyse their stability and safety across a wide ra develop a shared understanding of how the algorithm works and how
nge of conditions, including overload. For example, <xref target="RFC8869"/> de it is expected to behave in various scenarios and configurations.
scribes evaluation test cases for interactive real-time media over wireless netw
orks. Such results could also be published or discussed in IRTF research groups,
such as ICCRG and MAPRG.</t>
<t>Before a proposed congestion control algorithm is published as an Experimenta * It can help potential contributors understand the algorithm, which
l can make it easier for them to suggest improvements and/or
or Standards Track RFC, the community SHOULD gain practical experience with identify limitations. Furthermore, the specification can help
implementation and experience using the algorithm. Where there is implementation multiple contributors align on a consensus change to the
by independent teams, this can help provide assurance that a specification has algorithm.
avoided assumptions or ambiguity. An independent evaluation by multiple teams
helps provide assurance that the design meets the evaluation criteria, and can
assess typical interactions with other traffic. This evaluation could use an
emulated laboratory environment or a controlled experiment (within a limited
domain or at Internet-scale). Evidence of results is normally considered by the
working group in deciding if a specification is ready for publication and ought
to be documented in any request for the working group to publish the
specification.</t>
<t>Publication might occur without multiple implementations if a single * A specification that is accessible to anyone can circumvent the
implementation is widely used, open source, and shown to have positive impact on issue that some implementers may be unable to read open source
the Internet, particularly if the target status is Experimental.</t> reference implementations due to the constraints of some open
source licenses.
</section> Perhaps:
<section anchor="guidelines-for-authors-about-document-status"><name>Guidelines
for Authors about Document Status</name>
<t>This document applies to proposals for congestion control algorithms that Nevertheless, a specification for a congestion control algorithm
seek Experimental or Standards Track status. Evaluation of both cases involves provides a number of advantages:
the same questions, but with different expectations for both the answers and the
degree of certainty of those answers.</t>
<t>Congestion control algorithms without empirical evidence of Internet-scale ...
deployment MUST seek Experimental status, unless they are not targeted at
general use.</t>
<t>Specifications published as Experimental ought to explain the reason for * It can help (by being accessible to anyone) to circumvent the issue that
the status and what further information would be required to progress to some implementers may be unable to read open-source reference
standards track. For example, section 12 of <xref target="RFC6928"/> provides implementations due to the constraints of some open-source licenses.
“Usage and Deployment Recommendations” that describe the experiments
expected by the TCPM working group. Section 4 of <xref target="RFC4614"/> provid
es other
examples of extensions that were considered experimental
when the specification was published.</t>
<t>Experimental specifications SHOULD NOT be deployed as a default. They SHOULD -->
only be deployed in situations where they are being actively measured, and where
it is possible to deactivate them if there are signs of pathological behavior.</
t>
<t>Congestion control algorithms with a <t>Nevertheless, a specification for a congestion control algorithm
record of measured Internet-scale deployment MAY directly seek the Standards provides a number of advantages:</t>
Track if there is solid data that reflects that it is safe, and the design is <ul spacing="normal">
stable, guided by the considerations in <xref target="general-use"/>. However, t <li>
he existence <t>It can help implementers, operators, and other interested parties
of this data does not waive the other considerations in this document.</t> develop a shared understanding of how the algorithm works and how it
is expected to behave in various scenarios and configurations.</t>
</li>
<li>
<t>It can help potential contributors understand the algorithm,
which can make it easier for them to suggest improvements and/or
identify limitations. Furthermore, the specification can help
multiple contributors align on a consensus change to the
algorithm.</t>
</li>
<li>
<t>A specification that is accessible to anyone can circumvent the
issue that some implementers may be unable to read open-source
reference implementations due to the constraints of some open-source
licenses.</t>
</li>
</ul>
<t>Beyond helping develop specific algorithm proposals, guidelines can
also serve as a reminder to potential inventors and developers of the
multiple facets of the congestion control problem.</t>
<t>Each published congestion control algorithm is REQUIRED to include a statemen <t>The evaluation guidelines in this document are intended to be
t consistent with the congestion control principles from <xref
in the abstract indicating whether or not there is IETF consensus that the target="RFC2914"/> related to preventing congestion collapse, considering
proposed congestion control algorithm is considered safe for use on the fairness, and optimizing a flow's own performance in terms of
Internet. Each published algorithm is also REQUIRED to include a statement in throughput, delay, and loss. <xref target="RFC2914"/> also discusses the
the abstract describing environments where the protocol is not recommended for goal of avoiding a congestion control "arms race" among competing
deployment. There can be environments where the congestion control algorithm is transport protocols.</t>
deemed safe for use, but it is still is not recommended for use because it
does not perform well for the user.</t>
<t>As examples of such statements, <xref target="RFC3649"/> specifies HighSpeed <t>This document does not give hard-and-fast requirements for an
TCP and appropriate congestion control algorithm. Rather, the document provides
includes a statement in the abstract stating that the proposed congestion a set of criteria that should be considered and weighed by the
control algorithm is Experimental, but may be deployed in the Internet. In developers of alternative algorithms and by the IETF in the context of
contrast, the Quick-Start document <xref target="RFC4782"/> includes a paragraph each proposal.</t>
in the
abstract stating that the mechanism is only being proposed for use in
controlled environments. The abstract specifies environments where the
Quick-Start request could give false positives (and therefore would be unsafe fo
r
incremental deployment where some routers forward, but do not process the
option). The abstract also specifies environments where packets containing the
Quick-Start request could be dropped in the network; in such an environment,
Quick-Start would not be unsafe to deploy, but deployment is not recommended
because it could lead to unnecessary delays for the connections attempting to
use Quick-Start. The Quick-Start method is discussed as an example in
<xref target="RFC9049"/>.</t>
<t>Strictly speaking, Informational RFCs in the IETF stream need not meet all of <t>The high-order criterion for advancing any proposal within the IETF
the criteria in this document, as they do not carry a formal recommendation is a serious scientific study of the pros and cons that occur when the
from the community. Instead, the community judges the publication of proposal is considered for publication by the IETF or before it is
Informational RFCs based on the value of their addition to the RFC series.</t> deployed at a large scale.</t>
<t>Although out of the scope of this document, proponents of a new algorithm cou <t>After initial studies, authors are encouraged to write a
ld specification of their proposal for publication in the RFC Series. This
alternatively seek publication as an Informational or Experimental RFC via the allows others to understand and investigate the wealth of proposals in
Internet Research Task Force (IRTF). In general, these algorithms are expected this space.</t>
to be less mature than ones that follow the procedures in this document. Authors
documenting deployed congestion control algorithms that cannot be changed by
IETF or IRTF review are invited to seek publication as an Informational RFC via
the Independent Stream Editor (ISE).</t>
</section> <t>This document is intended to reduce the barriers to entry for new
</section> congestion control work to the IETF. As such, proponents of new
<section anchor="controlled-environments"><name>Specifying Algorithms for Use in congestion control algorithms ought not to interpret these criteria as a
Controlled Environments</name> checklist of requirements before approaching the IETF. Instead,
proponents are encouraged to think about these issues beforehand and
have the willingness to do the work implied by the remainder of this
document.</t>
</section>
<t>Algorithms can be designed for general Internet deployment or for use in <section anchor="specification-of-requirements">
controlled environments <xref target="RFC8799"/>. Within a controlled environmen <name>Specification of Requirements</name>
t, <t>
an operator can ensure that flows The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>",
are isolated from other Internet flows, or they might "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>
allow these flows to share resources with other Internet flows. ",
A data center is an example of a controlled environment, which often deploys "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>",
fabrics with rich signalling from switches to endpoints.</t> "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
be
interpreted as described in BCP&nbsp;14 <xref target="RFC2119"/> <xref
target="RFC8174"/> when, and only when, they appear in all capitals, as
shown here.
</t>
</section>
<t>Algorithms that <section anchor="guidelines-for-authors">
rely on specific functions or configurations in the network need to provide a <name>Guidelines for Authors</name>
reference or specification for these functions (an RFC or another stable <section anchor="guidelines-for-authors-about-evaluation">
specification). For publication to proceed, the IETF will need to assess whether <name>Evaluation Guidelines</name>
a working group exists that can properly assess the network-layer aspects and <t>This document does not provide specific evaluation methods, short
their interaction with the congestion control.</t> of Internet-scale deployment and measurement, to test the criteria
described below. There are multiple possible approaches to
evaluation. Each has a role, and the most appropriate approach depends
on the criteria being evaluated and the maturity of the
specification.</t>
<t>In evaluating a new proposal for use in a controlled environment, the IETF ne <t>For many algorithms, an initial evaluation will consider individual
eds protocol mechanisms in a simulator to analyze their stability and
to understand the usage, e.g., how the usage is scoped to the controlled safety across a wide range of conditions, including overload. For
environment, whether the algorithm will share resources with Internet traffic, example, <xref target="RFC8869"/> describes evaluation test cases for
and consider what could happen if used in a protocol that is bridged across an interactive real-time media over wireless networks. Such results could
Internet path. Algorithms that are designed to be confined to a controlled also be published or discussed in IRTF research groups, such as ICCRG
environment and are not intended for use in the general Internet, might instead and MAPRG.</t>
seek real-world data for those environments. In such cases, the evaluation
criteria in the remainder of this document might not apply.</t>
</section> <!--[rfced] Might this update reduce redundancy?
<section anchor="evaluation-criteria"><name>Evaluation Criteria</name>
<t>As previously noted, authors are expected to conduct a comprehensive evaluati Original:
on Evidence of results is normally considered by the working group in
of the advantages and disadvantages of congestion control algorithms presented deciding if a specification is ready for publication and ought to be
to the IETF. The following guidelines are intended to assist authors and the documented in any request for the working group to publish the
IETF community in this endeavor. While these guidelines provide a helpful specification.
framework, they should not be regarded as an exhaustive checklist, as concerns
beyond the scope of these guidelines may also arise.</t>
<t>When considering a proposed congestion control algorithm, the community MUST Perhaps:
consider the following criteria. These criteria will be evaluated in various Any request for a working group to consider a specification for
domains (see <xref target="general-use"/> and <xref target="special-cases"/>).</ publication ought to document evidence of results.
t>
<t>Some of the sections below will list criteria that SHOULD be met. It could -->
happen that these criteria are not in fact met by the proposal. In such cases,
the community MUST document whether not meeting the criteria is acceptable, for
example because there are practical limitations on carrying out an evaluation of
the criteria.</t>
<t>The requirement that the community consider a criterion does not imply that t <t>Before a proposed congestion control algorithm is published as an
he Experimental or Standards Track RFC, the community
result needs to be described in a resulting RFC. There is no formal requirement <bcp14>SHOULD</bcp14> gain practical experience with implementations
to document the results, although normal IETF policies for archiving proceedings and experience using the algorithm. Implementations by independent
will provide a record.</t> teams can help provide assurance that a specification has avoided
assumptions or ambiguity. An independent evaluation by multiple teams
helps provide assurance that the design meets the evaluation criteria
and can assess typical interactions with other traffic. This
evaluation could use an emulated laboratory environment or a
controlled experiment (within a limited domain or at the
Internet scale). Evidence of results is normally considered by the
working group in deciding if a specification is ready for publication
and ought to be documented in any request for the working group to
publish the specification.</t>
<t>This document, except where otherwise noted, does not provide normative guida <!--[rfced] May we make this update for accuracy/clarity?
nce
on the acceptable thresholds for any of these criteria. Instead, the community
will use these evaluations as an input when considering whether to progress the
proposed algorithm.</t>
<section anchor="single-algorithm-behavior"><name>Single Algorithm Behavior</nam Original:
e> Publication might occur without multiple implementations if a single
implementation is widely used, open source, and shown to have
positive impact on the Internet, particularly if the target status is
Experimental.
<t>The criteria in this section evaluate the congestion control algorithm when o Perhaps:
ne A congestion control algorithm without multiple implementations
or more flows using that algorithm share a bottleneck link (i.e., with no flows might still be published as an RFC if a single implementation is
using a differing congestion control algorithm).</t> widely used, open source, and shown to have a positive impact on
the Internet, particularly if the target status is Experimental.
-->
<section anchor="protection-against-congestion-collapse"><name>Protection Agains <t>Publication might occur without multiple implementations if a
t Congestion Collapse</name> single implementation is widely used, open source, and shown to have
a positive impact on the Internet, particularly if the target status is
Experimental.</t>
</section>
<t>A congestion control algorithm should either stop sending when the packet dro <!--[rfced] Please carefully review our updates to Section 3.2. As
p much of this section is about RFCs themselves and the publication
rate exceeds some threshold <xref target="RFC3714"/>, or should include some not process, we have made a number of changes to attempt to improve
ion of "full clarity and to align the style of terminology with past RFCs and
backoff". For "full backoff", at some point the algorithm would reduce the in-house guidance on such topics. Please let us know any
sending rate to one packet per round-trip time and then exponentially backoff objections or further updates to be made. -->
the time between single packet transmissions if the congestion persists. Exactly
when either "full backoff" or a pause in sending comes into play will be
algorithm-specific. However, as discussed in <xref target="RFC2914"/> and <xref
target="RFC8961"/>,
this requirement is crucial to protect the network in times of extreme
(persistent) congestion.</t>
<t>If full backoff is used, this test does not require that the mechanism must b <section anchor="guidelines-for-authors-about-document-status">
e <name>Document-Status Guidelines</name>
identical to that of TCP (<xref target="RFC6298"/>, <xref target="RFC8961"/>). F
or example, this does
not preclude full backoff mechanisms that would give flows with different round-
trip times comparable capacity during backoff.</t>
</section> <t>The guidelines in this document apply to specifications of congestion
<section anchor="protection-against-bufferbloat"><name>Protection Against Buffer control
bloat</name> algorithms that seek publication as an RFC via the IETF Stream with an E
xperimental or Standards Track
status. The evaluation of either status involves the same questions, but
with
different expectations for both the answers and the degree of
certainty of those answers.</t>
<t>A congestion control algorithm should try to avoid maintaining excessive queu <!--[rfced] This text left us wondering what happens to algorithms
es that are not targeted at general use? What status can they seek?
in the network. Exactly how the algorithm achieves this is algorithm-specific, Perhaps further info would be helpful to the reader?
but see <xref target="RFC8961"/> and <xref target="RFC8085"/> for requirements.<
/t>
<t>Bufferbloat <xref target="Bufferbloat"/> refers to the building of excessive Original:
queues in the Congestion control algorithms without empirical evidence of
network. Many network routers are configured with very large buffers. The Internet-scale deployment MUST seek Experimental status, unless they
standards-track Reno <xref target="RFC5681"/> and CUBIC <xref target="RFC9438"/> are not targeted at general use.
congestion control
algorithms send at progressively higher rates until a First-In First-Out (FIFO)
buffer completely fills, and packet losses then occur. Every connection passing
through that bottleneck experiences increased latency due to the high buffer
occupancy. This adds unwanted latency that negatively impacts highly interactive
applications such as videoconferencing or games, but it also affects routine web
browsing and video playing.</t>
<t>This problem has been widely discussed since 2011 <xref target="Bufferbloat"/ -->
>, but was not
discussed in the Congestion Control Principles published in September 2002
<xref target="RFC2914"/>. The Reno and CUBIC congestion control algorithms do no
t address
this problem, but a new congestion control algorithm has the opportunity to impr
ove the
state of the art.</t>
</section> <t>Specifications on congestion control algorithms without empirical evi
<section anchor="protection-against-high-packet-loss"><name>Protection Against H dence of
igh Packet Loss</name> Internet-scale deployment <bcp14>MUST</bcp14> seek Experimental
status, unless they are not targeted for general use.</t>
<t>A congestion control algorithm should try to avoid causing excessively high <!--[rfced] In the following, we assume that RFC 4614 should remain as
rates of packet loss. To accomplish this, it should avoid excessive increases in the cited document even though it has been obsoleted.
sending rate, and reduce its sending rate if experiencing high packet loss.</t> Please note that we have added mention of the obsoleting document
as well as an Informative References entry for the ease of the
reader.
<t>The first version of the BBR algorithm <xref target="BBRv1-draft"/> failed th Original:
is requirement. Section 4 of [RFC4614] provides other examples of extensions that were
Experimental evaluation <xref target="BBRv1-Evaluation"/> showed that it caused considered experimental when the specification was
a sustained published.
rate of packet loss when multiple BBRv1 flows shared a bottleneck and the buffer
size was less than roughly one and a half times the Bandwidth Delay Product
(BDP). This was unsatisfactory, and indeed further versions provided a fix for t
his
aspect of BBR <xref target="BBR-draft"/>.</t>
<t>This requirement does not imply that the algorithm should react to packet los Current:
ses Section 4 of [RFC4614] provides other examples of extensions that were
in exactly the same way as current standards-track congestion control algorithms considered experimental when the specification was
(e.g., <xref target="RFC5681"/>).</t> published (note that [RFC4614] has since been obsoleted by
[RFC7414]).
-->
</section> <t>Specifications that seek to be published as Experimental IETF Stream
<section anchor="fairness-within-the-proposed-congestion-control-algorithm"><nam RFCs ought to explain the
e>Fairness within the Proposed Congestion Control Algorithm</name> reason for the status and what further information would be required
to progress to a Standards Track RFC. For example, <xref target="RFC6928
"
section="12" sectionFormat="of"/> provides "Usage and Deployment
Recommendations" that describe the experiments expected by the TCPM
Working Group. <xref target="RFC4614" section="4" sectionFormat="of"/>
provides other examples of extensions that were considered
experimental when the specification was published (note that <xref targe
t="RFC4614" format="default"/> has since been obsoleted by <xref target="RFC7414
" format="default"/>).</t>
<t>When multiple competing flows all use the same proposed congestion control <t>Experimental specifications <bcp14>SHOULD NOT</bcp14> be deployed
algorithm, the proposal should explore how the capacity is shared among the as a default. They <bcp14>SHOULD</bcp14> only be deployed in
competing flows. Capacity fairness can be important when a small number of situations where they are being actively measured and where it is
similar flows compete to fill a bottleneck. However, it can also not be useful, possible to deactivate them if there are signs of pathological
for example, when comparing flows that seek to send at different rates, or if behavior.</t>
some of the flows do not last sufficiently long to approach asymptotic behavior.
</t>
</section> <t>Specifications on congestion control algorithms with a record of meas
<section anchor="short-flows"><name>Short Flows</name> ured
Internet-scale deployment <bcp14>MAY</bcp14> directly seek
Standards Track status if there is solid data that reflects that the alg
orithm is safe
and the design is stable, guided by the considerations in <xref
target="general-use"/>. However, the existence of this data does not
waive the other considerations in this document.</t>
<t>Each specification submitted for publication as an RFC is
<bcp14>REQUIRED</bcp14> to include a statement in the abstract
indicating whether or not there is IETF consensus that the proposed
congestion control algorithm is considered safe for use on the
Internet. Each such specification is also <bcp14>REQUIRED</bcp14> to
include a statement in the abstract describing environments where the
protocol is not recommended for deployment. There can be environments
where the congestion control algorithm is deemed safe for use, but it
is still not recommended for use because it does not perform well
for the user.</t>
<t>A great deal of congestion control analysis concerns the steady-state behavio <t>Examples of such statements exist in <xref target="RFC3649"/>, which
r specifies
of long flows. However, many Internet flows are relatively short-lived. HighSpeed TCP and includes a statement in the abstract stating that
Many short-lived flows today remain in the "slow the proposed congestion control algorithm is experimental but may be
start" mode of operation <xref target="RFC5681"/> that commonly features exponen deployed in the Internet. In contrast, the Quick-Start document <xref
tial target="RFC4782"/> includes a paragraph in the abstract stating that
congestion window growth because the flow the mechanism is only being proposed for use in controlled
never experiences congestion (e.g., packet loss).</t> environments. The abstract specifies environments where the
Quick-Start request could give false positives (and therefore would be
unsafe for incremental deployment where some routers forward but do
not process the option). The abstract also specifies environments
where packets containing the Quick-Start request could be dropped in
the network; in such an environment, Quick-Start would not be unsafe
to deploy, but deployment is not recommended because it could lead to
unnecessary delays for the connections attempting to use
Quick-Start. The Quick-Start method is discussed as an example in
<xref target="RFC9049"/>.</t>
<t>A proposed congestion control algorithm MUST consider how new and short-lived <t>Strictly speaking, documents for publication as Informational RFCs fr
flows affect long-lived flows, and vice versa.</t> om the IETF Stream need not
meet all of the criteria in this document, as they do not carry a
formal recommendation from the IETF community. Instead, the community
judges the publication of these Informational RFCs based on the value of
their addition to the information captured by the RFC Series.</t>
</section> <t>Although it is out of scope for this document, proponents of a new
</section> algorithm could alternatively seek publication of their specification as
<section anchor="mixed-algorithm-behavior"><name>Mixed Algorithm Behavior</name> an Informational or
Experimental RFC via the Internet Research Task Force (IRTF) Stream. In
general, these algorithms are expected to be less mature than ones
that follow the procedures in this document for publication via the IETF
Stream. Authors documenting
deployed congestion control algorithms that cannot be changed by IETF
or IRTF review are invited to seek publication of their specification as
an Informational RFC
via the Independent Submission Stream.</t>
</section>
</section>
<t>Mixed algorithm behavior criteria evaluate the interaction of the proposed <section anchor="controlled-environments">
congestion control algorithm with commonly deployed congestion control <name>Specifying Algorithms for Use in Controlled Environments</name>
algorithms.</t> <t>Algorithms can be designed for general Internet deployment or for use
in controlled environments <xref target="RFC8799"/>. Within a controlled
environment, an operator can ensure that flows are isolated from other
Internet flows or they might allow these flows to share resources with
other Internet flows. A data center is an example of a controlled
environment that often deploys fabrics with rich signaling from
switches to endpoints.</t>
<t>In contexts where differing congestion control algorithms are used, it is <t>Algorithms that rely on specific functions or configurations in the
important to understand whether the proposed congestion control algorithm could network need to provide a reference or specification for these functions
result in more harm than previous standards-track algorithms (e.g., (such as an RFC or another stable specification). For publication of a spe
<xref target="RFC5681"/>, <xref target="RFC9002"/>, <xref target="RFC9438"/>) to cification of one of these algorithms to proceed,
flows sharing a common bottleneck. the IETF will need to consider whether a working group exists that can
The measure of harm is not restricted to unequal capacity, but ought also to properly assess the network-layer aspects and their interaction with the
consider metrics such as the introduced latency, or an increase in packet loss. congestion control.</t>
An evaluation MUST assess the potential to cause starvation, including
assurance that a loss of all feedback (e.g., detected by expiry of a
retransmission time out) results in backoff.</t>
<section anchor="existing-general-purpose-congestion-control"><name>Existing Gen eral-Purpose Congestion Control</name> <!-- [rfced] For readability, may we update this sentence as follows?
<t>A proposed congestion control algorithm MUST be evaluated when competing agai Original:
nst In evaluating a new proposal for use in a controlled environment,
standard IETF congestion controls, e.g. <xref target="RFC5681"/>, <xref target=" the IETF needs to understand the usage, e.g., how the usage is
RFC9002"/>, scoped to the controlled environment, whether the algorithm will
<xref target="RFC9438"/>. A proposed congestion control algorithm that has a sig share resources with Internet traffic, and consider what could
nificantly happen if used in a protocol that is bridged across an Internet
negative impact on flows using standard congestion control might be suspect, and path.
this aspect should be part of the community's decision making with regards to
the suitability of the proposed congestion control algorithm. The community
should also consider other non-standard congestion control algorithms that are
known to be widely deployed.</t>
<t>Note that this guideline is not a requirement for strict Reno- or CUBIC- Perhaps:
friendliness as a prerequisite for a proposed congestion control mechanism to In evaluating a new proposal for use in a controlled environment,
advance to Experimental or Standards Track status. As an example, HighSpeed TCP the IETF community needs to understand the usage (e.g., how the usage is
is a congestion control mechanism specified as Experimental, that is not TCP- scoped to the controlled environment), whether the algorithm will
friendly in all environments. When a new congestion control algorithm is share resources with Internet traffic, and what could
deployed, the existing major algorithm deployments need to be considered to happen if used in a protocol that is bridged across an Internet
avoid severe performance degradation. Note that this guideline does not path.
constrain the interaction with non-best-effort flows.</t>
<t>As an example from an Experimental RFC, fairness with standard TCP is discuss -->
ed
in Sections 4 and 6 of <xref target="RFC3649"/> (HighSpeed TCP) and using spare
capacity is
discussed in Sections 6, 11.1, and 12 of <xref target="RFC3649"/>.</t>
</section> <t>In evaluating a new proposal for use in a controlled environment, the
<section anchor="real-time-congestion-control"><name>Real-Time Congestion Contro IETF needs to understand the usage, e.g., how the usage is scoped to the
l</name> controlled environment, whether the algorithm will share resources with
Internet traffic, and consider what could happen if used in a protocol
that is bridged across an Internet path. Algorithms that are designed to
be confined to a controlled environment and are not intended for use in
the general Internet might instead seek real-world data for those
environments. In such cases, the evaluation criteria in the remainder of
this document might not apply.</t>
</section>
<t>General-purpose algorithms need to coexist in the Internet with real-time <section anchor="evaluation-criteria">
congestion control algorithms, which, in general, have finite throughput <name>Evaluation Criteria</name>
requirements (i.e., do not seek to utilize all available capacity) and more <t>As previously noted, authors of a specification on a congestion control
strict latency bounds. See <xref target="RFC8836"/> for a description of the cha algorithm are expected to conduct a comprehensive
racteristics evaluation of the advantages and disadvantages of any congestion control
of this use case and the resulting requirements.</t> algorithms presented to the IETF community. The following guidelines are i
ntended
to assist authors and the community in this endeavor. While these
guidelines provide a helpful framework, they should not be regarded as
an exhaustive checklist as concerns beyond the scope of these
guidelines may also arise.</t>
<t><xref target="RFC8868"/> provides suggestions for real-time congestion contro <t>When considering a proposed congestion control algorithm, the
l design and community <bcp14>MUST</bcp14> consider the criteria in the following secti
<xref target="RFC8867"/> suggests test cases. <xref target="RFC9392"/> describes ons. These
some considerations criteria will be evaluated in various domains (see Sections <xref
for the RTP Control Protocol (RTCP). In particular, real-time flows target="general-use" format="counter"/> and <xref target="special-cases"
can use less frequent feedback (acknowledgement) than that provided by reliable format="counter"/>).</t>
transports.
This document does not change the informational status of those RFCs.</t>
<t>A proposed congestion control algorithm SHOULD consider coexistence with wide <t>Some of the sections below will list criteria that
ly <bcp14>SHOULD</bcp14> be met. It could happen that these criteria are
deployed real-time congestion control algorithms. Regrettably, at the time of not, in fact, met by the proposal. In such cases, the community
writing (2024), many algorithms with detailed public specifications are not <bcp14>MUST</bcp14> document whether not meeting the criteria is
widely deployed, while many widely deployed real-time congestion control acceptable, for example, if there are practical limitations on
algorithms have incomplete public specifications. It is hoped that this carrying out an evaluation of the criteria.</t>
situation will change.</t>
<t>To the extent that behavior of widely deployed algorithms is understood, <t>The requirement that the community consider a criterion does not
proponents of a proposed congestion control algorithm can analyze and simulate imply that the result needs to be described in an RFC: there is
a proposal's interaction with those algorithms. To the extent they are not, expe no formal requirement to document the results, although normal IETF
riments policies for archiving proceedings will provide a record.</t>
can be conducted where possible.</t>
<t>Real-time flows can be directed into distinct queues via Differentiated Servi <!--[rfced] Does the suggested text capture your intended meaning?
ces
Code Points (DSCP) or other mechanisms, which can substantially reduce the
interplay with other traffic. However, a proposal targeting general Internet use
can not assume this is always the case.</t>
<t><xref target="circuit-breakers"/> describes the impact of network transport c Original:
ircuit breaker Instead, the community will use these evaluations as an input when
algorithms. <xref target="RFC8083"/> also defines a minimal set of RTP circuit b considering whether to progress the proposed algorithm.
reakers that
operate end-to-end across a path. This identifies conditions under which a sende
r needs to
stop transmitting media data to protect the network from excessive congestion.
It is expected that, in the absence of long-lived excessive congestion, RTP
applications running on best-effort IP networks will be able to operate without
triggering these circuit breakers.</t>
</section> Perhaps:
<section anchor="short-and-long-flows"><name>Short and Long Flows</name> Instead, the community will use these evaluations as an input when
considering whether to progress the proposed algorithm specification
in the publication process.
-->
<t>The effect on short-lived and long-lived flows using other common congestion <t>This document, except where otherwise noted, does not provide
control algorithms MUST be evaluated, as in <xref target="short-flows"/>.</t> normative guidance on the acceptable thresholds for any of these
criteria. Instead, the community will use these evaluations as an input
when considering whether to progress the proposed algorithm.</t>
</section> <section anchor="single-algorithm-behavior">
</section> <name>Single Algorithm Behavior</name>
<section anchor="other-criteria"><name>Other Criteria</name> <t>The criteria in the following subsections evaluate the congestion con
trol
algorithm when one or more flows using that algorithm share a
bottleneck link (i.e., with no flows using a differing congestion
control algorithm).</t>
<section anchor="differences-with-congestion-control-principles"><name>Differenc <section anchor="protection-against-congestion-collapse">
es with Congestion Control Principles</name> <name>Protection Against Congestion Collapse</name>
<t>A proposed congestion control algorithm MUST clearly explain any deviations f <t>A congestion control algorithm should either stop sending when
rom the packet drop rate exceeds some threshold <xref
<xref target="RFC2914"/> and <xref target="RFC7141"/>.</t> target="RFC3714"/> or include some notion of "full
backoff". For "full backoff", at some point, the algorithm would
reduce the sending rate to one packet per round-trip time; then, it wo
uld
exponentially back off the time between single packet transmissions
if the congestion persists. Exactly when either "full backoff" or a
pause in sending comes into play will be algorithm specific.
However, as discussed in <xref target="RFC2914"/> and <xref
target="RFC8961"/>, this requirement is crucial to protect the
network in times of extreme (and persistent) congestion.</t>
</section> <t>If full backoff is used, this test does not require that the
<section anchor="incremental-deployment"><name>Incremental Deployment</name> mechanism be identical to that of TCP (see <xref
target="RFC6298"/> and <xref target="RFC8961"/>). For example, this
does not preclude full backoff mechanisms that would give flows with
different round-trip times comparable capacity during backoff.</t>
</section>
<t>A congestion control algorithm proposal MUST discuss whether it allows for <section anchor="protection-against-bufferbloat">
incremental deployment in the targeted environment. For a mechanism targeted for <name>Protection Against Bufferbloat</name>
deployment in the current Internet, the proposal SHOULD discuss what is known <t>A congestion control algorithm should try to avoid maintaining
(if anything) about the correct operation of the mechanisms with some of the excessive queues in the network. Exactly how the algorithm achieves
equipment in the current Internet, e.g., routers, transparent proxies, WAN this is algorithm specific; see <xref target="RFC8961"/> and
optimizers, intrusion detection systems, home routers, and the like.</t> <xref target="RFC8085"/> for requirements.</t>
<t>Similarly, if the proposed congestion control algorithm is intended only for <!-- [rfced] We were unable to find "Reno" explicitly mentioned in RFC
specific environments (and not the global Internet), the proposal SHOULD 5681 as seen in the text below:
consider how this intention is to be realised. The community will have to
address the question of whether the scope can be enforced by stating the
restrictions, or whether additional protocol mechanisms are required to enforce
this scoping. The answer will necessarily depend on the proposed change.</t>
<t>As an example from an Experimental RFC, deployment issues are discussed in Original:
Sections 10.3 and 10.4 of <xref target="RFC4782"/> (Quick-Start).</t>
</section> The standards-track Reno [RFC5681] and CUBIC [RFC9438]
</section> congestion control algorithms send at progressively higher rates
</section> until a First-In First-Out (FIFO) buffer completely fills...
<section anchor="general-use"><name>General Use</name>
<t>The criteria in <xref target="evaluation-criteria"/> will be evaluated in the However, it does appear in RFCs 5681 and 6582 in the reference
following below. Should the reference to RFC 5681 be adjusted to [FF96]? [FF96]
scenarios. Unless a proposed congestion control specification explicitly forbids is now available at this URL:
use on the public Internet, there MUST be IETF consensus that it meets the https://dl.acm.org/doi/10.1145/235160.235162
criteria in these scenarios for the proposed congestion control algorithm to
progress.</t>
<t>The evaluation in each scenario SHOULD occur over a representative range of From RFC 5681:
bandwidths, delays, and queue depths. Of course, the set of parameters
representative of the public Internet will change over time.</t>
<t>These criteria are intended to capture a statistically dominant set of Intern [FF96] Fall, K. and S. Floyd, "Simulation-based Comparisons of
et Tahoe, Reno and SACK TCP", Computer Communication Review,
conditions. In the case that a proposed congestion control algorithm has been July 1996, ftp://ftp.ee.lbl.gov/papers/sacks.ps.Z.
tested at Internet scale, the results from that deployment are often useful for
answering these questions.</t>
<section anchor="paths-with-tail-drop-queues"><name>Paths with Tail-drop Queues< /name> From RFC 6582:
<t>The performance of a congestion control algorithm is affected by the queue "For the typical implementation of the TCP fast recovery algorithm
discipline applied at the bottleneck link. The drop-tail queue discipline (using described in [RFC5681] (first implemented in the 1990 BSD Reno
a FIFO buffer) MUST be evaluated. See <xref target="aqm"/> for evaluation of oth release, and referred to as the "Reno algorithm" in [FF96])..."
er queue
disciplines.</t>
</section> -->
<section anchor="tunnel-behavior"><name>Tunnel Behavior</name> <t>"Bufferbloat" refers to the building of excessive queues in the
network <xref target="BUFFERBLOAT"/>. Many network routers are
configured with very large buffers. The Standards Track RFCs <xref
target="RFC5681"/> and <xref target="RFC9438"/> describing the Reno an
d CUBIC congestion
control algorithms (respectively) send at progressively higher rates u
ntil a
First In, First Out (FIFO) buffer completely fills; then packet
losses occur. Every connection passing through that bottleneck
experiences increased latency due to the high buffer occupancy. This
adds unwanted latency that negatively impacts highly interactive
applications such as videoconferencing or games, but it also affects
routine web browsing and video playing.</t>
<t>When a proposed congestion control algorithm relies on explicit signals from <t>This problem has been widely discussed since 2011 <xref
the target="BUFFERBLOAT"/>, but was not discussed in the congestion
path, the proposal MUST consider the effect of traffic passing through a tunnel, control principles published in September 2002 <xref
where routers may not be aware of the flow.</t> target="RFC2914"/>. The Reno and CUBIC congestion control algorithms
do not address this problem, but a new congestion control algorithm
has the opportunity to improve the state of the art.</t>
</section>
<t>The design of tunnels and similar encapsulations might need to consider neste <section anchor="protection-against-high-packet-loss">
d <name>Protection Against High Packet Loss</name>
congestion control interactions. For example, when ECN is used by both an
IP and lower layer technology <xref target="ECN-Encaps"/>.</t>
</section> <t>A congestion control algorithm should try to avoid causing
<section anchor="wired-paths"><name>Wired Paths</name> excessively high rates of packet loss. To accomplish this, it should
avoid excessive increases in sending rate and reduce its sending
rate if experiencing high packet loss.</t>
<t>Wired networks are usually characterized by extremely low rates of packet los <t>The first version of the BBR algorithm <xref
s target="BBRv1"/> failed this requirement. Experimental
except for those due to queue drops. They tend to have stable aggregate evaluation <xref target="BBRv1-EVALUATION"/> showed that it caused a
capacity, usually higher than other types of links, and low non-queueing delay. sustained rate of packet loss when multiple BBRv1 flows shared a
Because the properties are relatively simple, wired links are typically used as bottleneck and the buffer size was less than roughly one and a half
a times the Bandwidth Delay Product (BDP). This was unsatisfactory,
"baseline" case even if they are not always the bottleneck link in the modern and, indeed, further versions provided a fix for this aspect of BBR
Internet.</t> <xref target="I-D.cardwell-iccrg-bbr-congestion-control"/>.</t>
</section> <t>This requirement does not imply that the algorithm should react
<section anchor="wireless-paths"><name>Wireless Paths</name> to packet losses in exactly the same way as congestion control algorit
hms described in current Standards Track RFCs (e.g., <xref target="RFC5681"/>).<
/t>
</section>
<t>While the early Internet was dominated by wired links, the properties of <section anchor="fairness-within-the-proposed-congestion-control-algorit
wireless links have become important to Internet performance. In hm">
particular, a proposed congestion control algorithm should be evaluated in <name>Fairness Within the Proposed Congestion Control Algorithm</name>
situations where some packet losses are due to radio effects, rather than router <t>When multiple competing flows all use the same proposed
queue drops; the link capacity varies over time due to changing link conditions; congestion control algorithm, the specification should explore how the
and media access delays and link-layer retransmission lead to increased jitter capacity is shared among the competing flows. Capacity fairness can
in round-trip times. See <xref target="RFC3819"/> and Section 16 of <xref target be important when a small number of similar flows compete to fill a
="Tools"/> for further bottleneck. However, it can also not be useful, for example, when
discussion of wireless properties.</t> comparing flows that seek to send at different rates or if some of
the flows do not last sufficiently long to approach asymptotic
behavior.</t>
</section>
</section> <section anchor="short-flows">
</section> <name>Short Flows</name>
<section anchor="special-cases"><name>Special Cases</name> <t>A great deal of congestion control analysis concerns the
steady-state behavior of long flows. However, many Internet flows
are relatively short lived. Many short-lived flows today remain in
the "slow start" mode of operation <xref target="RFC5681"/> that
commonly features exponential congestion window growth because the
flow never experiences congestion (e.g., packet loss).</t>
<t>A proposed congestion control algorithm <bcp14>MUST</bcp14>
consider how new and short-lived flows affect long-lived flows, and
vice versa.</t>
</section>
</section>
<t>The criteria in <xref target="evaluation-criteria"/> will be evaluated in the <section anchor="mixed-algorithm-behavior">
following <name>Mixed Algorithm Behavior</name>
scenarios, unless the proposed congestion control algorithm specifically <t>The mixed algorithm behavior criteria evaluate the interaction of the
excludes its use in a scenario. For these specific use-cases, the community MAY proposed congestion control algorithms being specified with commonly dep
allow a proposal to progress even if the criteria indicate an unsatisfactory loyed
result for these scenarios.</t> congestion control algorithms.</t>
<t>In contexts where differing congestion control algorithms are used,
it is important to understand whether the proposed congestion control
algorithm could result in more harm than algorithms published in previou
s Standards Track RFCs (e.g., <xref target="RFC5681"/>, <xref target="RFC9002"/>
,
and <xref target="RFC9438"/>) to flows sharing a common bottleneck.
The measure of harm is not restricted to unequal capacity, but also
ought to consider metrics such as the introduced latency or an
increase in packet loss. An evaluation <bcp14>MUST</bcp14> assess the
potential to cause starvation, including assurance that a loss of all
feedback (e.g., detected by expiry of a retransmission time out)
results in backoff.</t>
<t>In general, measurements from Internet-scale deployments might not expose the <section anchor="existing-general-purpose-congestion-control">
properties of operation in each of these scenarios, because they are not as <name>Existing General-Purpose Congestion Control</name>
ubiquitous as the General Use scenarios.</t> <t>A proposed congestion control algorithm <bcp14>MUST</bcp14> be
evaluated when competing against standard IETF congestion controls
(e.g., <xref target="RFC5681"/>, <xref target="RFC9002"/>, and <xref
target="RFC9438"/>). A proposed congestion control algorithm that
has a significantly negative impact on flows using standard
congestion control might be suspect, and this aspect should be part
of the community's decision making with regards to the suitability
of the proposed congestion control algorithm. The community should
also consider other non-standard congestion control algorithms that
are known to be widely deployed.</t>
<section anchor="aqm"><name>Active Queue Management (AQM)</name> <t>Note that this guideline is not a requirement for strict Reno or
CUBIC friendliness as a prerequisite for a proposed congestion
control mechanism to advance to Experimental or Standards Track
status. As an example, HighSpeed TCP is a congestion control
mechanism that is specified in an Experimental RFC and is not TCP frie
ndly
in all environments. When a new congestion control algorithm is
deployed, the existing major algorithm deployments need to be
considered to avoid severe performance degradation. Note that this
guideline does not constrain the interaction with flows that are not
best effort.</t>
<t>The proposed congestion control algorithm SHOULD be evaluated under a variety <t>As an example from an Experimental RFC, fairness with standard
of TCP is discussed in Sections <xref target="RFC3649"
bottleneck queue disciplines. The effect of an AQM discipline can be hard to sectionFormat="bare" section="4"/> and <xref target="RFC3649"
detect by Internet evaluation. At a minimum, a proposal should reason about an sectionFormat="bare" section="6"/> of <xref target="RFC3649"
algorithm's response to various AQM disciplines. Simulation or empirical results format="default"/>, and using spare capacity is
are, of course, valuable.</t> discussed in Sections <xref target="RFC3649" sectionFormat="bare"
section="6"/>, <xref target="RFC3649" sectionFormat="bare"
section="11.1"/>, and <xref target="RFC3649" sectionFormat="bare"
section="12"/> of <xref target="RFC3649"/>.</t>
</section>
<t>Among the AQM techniques that might have an impact on a proposed congestion <section anchor="real-time-congestion-control">
control algorithm are Flow Queue CoDel (FQ-CoDel) <xref target="RFC8290"/>; Prop <name>Real-Time Congestion Control</name>
ortional Integral Controller
Enhanced (PIE) <xref target="RFC8033"/>; and Low Latency, Low Loss, and Scalable
Throughput
(L4S) <xref target="RFC9332"/>.</t>
<t>A proposed congestion control algorithm that sets one of the two Explicit <t>General-purpose algorithms need to coexist in the Internet with
Congestion Transport (ECT) codepoints in the IP header can gain the benefits of real-time congestion control algorithms, which in general have
receiving Explicit Congestion Notification (ECN) Congestion Experienced (CE) finite throughput requirements (i.e., they do not seek to utilize all
signals from an on-path AQM <xref target="RFC8087"/>. Use of ECN <xref target="R available capacity) and more strict latency bounds. See <xref
FC3168"/>, <xref target="RFC9332"/> target="RFC8836"/> for a description of the characteristics of this
requires the congestion control algorithm to react when it receives a packet use case and the resulting requirements.</t>
with an ECN-CE marking. This reaction needs to be evaluated to confirm that the
algorithm conforms with the requirements of the ECT codepoint that was used.</t>
<t>Note that evaluation of AQM techniques -- as opposed to their impact on a <t><xref target="RFC8868"/> provides suggestions for real-time
specific proposed congestion control algorithm -- is out of scope of this congestion control design and <xref target="RFC8867"/> suggests test
document. <xref target="RFC7567"/> describes design considerations for AQMs.</t> cases. <xref target="RFC9392"/> describes some considerations for
the RTP Control Protocol (RTCP). In particular, real-time flows can
use less frequent feedback (acknowledgment) than that provided by
reliable transports. This document does not change the
Informational status of those RFCs.</t>
</section> <t>A proposed congestion control algorithm <bcp14>SHOULD</bcp14>
<section anchor="circuit-breakers"><name>Operation with the Envelope set by Netw consider coexistence with widely deployed real-time congestion
ork Circuit Breakers</name> control algorithms. Regrettably, at the time of writing (2024), many
algorithms with detailed public specifications are not widely
deployed, while many widely deployed real-time congestion control
algorithms have incomplete public specifications. It is hoped that
this situation will change.</t>
<t>Some equipment in the network uses an automatic mechanism to continuously <t>To the extent that behavior of widely deployed algorithms is
monitor the use of resources by a flow or aggregate set of flows <xref target="R understood, proponents of a proposed congestion control algorithm
FC8084"/>. can analyze and simulate a proposal's interaction with those
Such a network transport circuit breaker can automatically detect excessive algorithms. To the extent that they are not, experiments can be
congestion, and when detected, it can terminate (or significantly reduce the conducted where possible.</t>
rate of) the flow(s). A well-designed congestion control algorithm ought to
react before the flow uses excessive resources, and therefore will operate
within the envelope set by network transport circuit breaker algorithms.</t>
</section> <t>Real-time flows can be directed into distinct queues via
<section anchor="delay"><name>Paths with Varying Delay</name> Differentiated Services Code Points (DSCPs) or other mechanisms,
which can substantially reduce the interplay with other
traffic. However, a proposal targeting general Internet use cannot
assume this is always the case.</t>
<t>An Internet Path can include simple links, where the minimum delay is the <t><xref target="circuit-breakers"/> describes the impact of network
propagation delay, and any additional delay can be attributed to link buffering. transport circuit breaker algorithms. <xref target="RFC8083"/> also
This cannot be assumed. An Internet Path can also include complex subnetworks defines a minimal set of RTP circuit breakers that operate
where the minimum delay changes over various time scales, resulting in a non- end-to-end across a path. This identifies conditions under which a
stationary minimum delay.</t> sender needs to stop transmitting media data to protect the network
from excessive congestion. It is expected that, in the absence of
long-lived excessive congestion, RTP applications running on
best-effort IP networks will be able to operate without triggering
these circuit breakers.</t>
</section>
<t>Varying delay occurs when a subnet changes the forwarding path to optimise ca <section anchor="short-and-long-flows">
pacity, <name>Short and Long Flows</name>
resilience, etc. It could also arise when a subnet uses a capacity management <t>The effect on short-lived and long-lived flows using other common
method where the available resource is periodically distributed among the active congestion control algorithms <bcp14>MUST</bcp14> be evaluated, as
nodes. A node might then have to buffer data until an assigned transmission in <xref target="short-flows"/>.</t>
opportunity or until the physical path changes (e.g., when the length of a </section>
wireless path changes, or the physical layer changes its mode of operation). </section>
Variation also arises when traffic with a higher priority DSCP pre-empts
transmission of traffic with a lower class. In these cases, the delay varies as
a function of external factors, and attempting to infer congestion from an
increase in the delay results in reduced throughput. This variation in the
delay over short timescales (jitter) might not be distinguishable from jitter
that results from other effects.</t>
<t>A proposed congestion control algorithm SHOULD be evaluated to ensure its <section anchor="other-criteria">
operation is robust when there is a significant change in the minimum delay.</t> <name>Other Criteria</name>
<section anchor="differences-with-congestion-control-principles">
<name>Differences with Congestion Control Principles</name>
<t>A proposed congestion control algorithm <bcp14>MUST</bcp14>
clearly explain any deviations from <xref target="RFC2914"/> and
<xref target="RFC7141"/>.</t>
</section>
</section> <section anchor="incremental-deployment">
<section anchor="internet-of-things-and-constrained-nodes"><name>Internet of Thi <name>Incremental Deployment</name>
ngs and Constrained Nodes</name> <t>A congestion control algorithm proposal <bcp14>MUST</bcp14>
discuss whether it allows for incremental deployment in the targeted
environment. For a mechanism targeted for deployment in the current
Internet, the proposal <bcp14>SHOULD</bcp14> discuss what is known
(if anything) about the correct operation of the mechanisms with
some of the equipment in the current Internet (e.g., routers,
transparent proxies, WAN optimizers, intrusion detection systems,
home routers, and the like).</t>
<t>Similarly, if the proposed congestion control algorithm is
intended only for specific environments (and not the global
Internet), the proposal <bcp14>SHOULD</bcp14> consider how this
intention is to be realized. The IETF community will have to address
the
question of whether the scope can be enforced by stating the
restrictions or whether additional protocol mechanisms are required
to enforce this scoping. The answer will necessarily depend on the
proposed change.</t>
<t>As an example from an Experimental RFC, deployment issues of Quick-
Start are
discussed in Sections <xref target="RFC4782" section="10.3"
sectionFormat="bare"/> and <xref target="RFC4782" section="10.4"
sectionFormat="bare"/> of <xref target="RFC4782"/>.</t>
</section>
</section>
</section>
<t>The "Internet of Things" (IoT) is a broad concept, but when evaluating a <section anchor="general-use">
proposed congestion control algorithm, it is often associated with unique <name>General Use</name>
characteristics: <t>The criteria in <xref target="evaluation-criteria"/> will be
IoT nodes might be more constrained in power, CPU, or other parameters than evaluated in the scenarios described in the following subsections. Unless
conventional Internet hosts. This might place limits on the complexity of any a proposed congestion
given algorithm. These power and radio constraints might make the volume of control algorithm specification of the IETF Stream explicitly forbids use
control packets in a given algorithm a key evaluation metric.</t> on the public Internet,
there <bcp14>MUST</bcp14> be IETF consensus that it meets the criteria
in these scenarios for the proposed congestion control algorithm to
progress.</t>
<t>Extremely low-power links can lead to very low throughput and a low bandwidth <t>The evaluation of each scenario <bcp14>SHOULD</bcp14> occur over a
- representative range of bandwidths, delays, and queue depths. Of course,
delay product, well below the standard operating range of most Internet flows.</ the set of parameters representative of the public Internet will change
t> over time.</t>
<t>Furthermore, many IoT applications do not a have a human in the loop, and <t>These criteria are intended to capture a statistically dominant set
therefore might have weaker latency constraints because they do not relate to a of Internet conditions. In the case that a proposed congestion control
user experience. Congestion control algorithm can still need to share the algorithm has been tested at Internet scale, the results from that
path with other flows with different constraints.</t> deployment are often useful for answering these questions.</t>
</section> <section anchor="paths-with-tail-drop-queues">
<section anchor="paths-with-high-delay"><name>Paths with High Delay</name> <name>Paths with Tail-Drop Queues</name>
<t>The performance of a congestion control algorithm is affected by
the queue discipline applied at the bottleneck link. The drop-tail
queue discipline (using a FIFO buffer) <bcp14>MUST</bcp14> be
evaluated. See <xref target="aqm"/> for evaluation of other queue
disciplines.</t>
</section>
<t>A proposed congestion control algorithm ought not to presume that all general <section anchor="tunnel-behavior">
Internet paths have a low delay. Some paths include links that contribute much <name>Tunnel Behavior</name>
more delay than for a typical Internet path. Satellite links often have delays <t>When a proposed congestion control algorithm relies on explicit
longer than typical for wired paths <xref target="RFC2488"/> and high delay band signals from the path, the proposal <bcp14>MUST</bcp14> consider the
width effect of traffic passing through a tunnel, where routers may not be
products <xref target="RFC3649"/>.</t> aware of the flow.</t>
<!-- Updated I-D.ietf-tsvwg-ecn-encap-guidelines to RFC 9599 -->
<t>Designers of tunnels and similar encapsulations might need to
consider nested congestion control interactions, for example, when the
Explicit Congestion Notification (ECN) is used by both an IP and lower-l
ayer technology <xref target="RFC9599"/>.</t>
</section>
<t>Paths can also present a variable delay as described in <xref target="delay"/ <section anchor="wired-paths">
>.</t> <name>Wired Paths</name>
<t>Wired networks are usually characterized by extremely low rates of
packet loss except for those due to queue drops. They tend to have
stable aggregate capacity, usually higher than other types of links,
and low non-queueing delay. Because the properties are relatively
simple, wired links are typically used as a "baseline" case even if
they are not always the bottleneck link in the modern Internet.</t>
</section>
</section> <section anchor="wireless-paths">
<section anchor="misbehaving-nodes"><name>Misbehaving Nodes</name> <name>Wireless Paths</name>
<t>While the early Internet was dominated by wired links, the
properties of wireless links have become important to Internet
performance. In particular, a proposed congestion control algorithm
should be evaluated in situations where some packet losses are due to
radio effects rather than router queue drops. The link capacity
varies over time due to changing link conditions, and media-access
delays and link-layer retransmission lead to increased jitter in
round-trip times. See <xref target="RFC3819"/> and Section 16 of <xref
target="I-D.irtf-tmrg-tools"/> for further discussion of wireless
properties.</t>
</section>
</section>
<t>A proposed congestion control algorithm SHOULD explore how the algorithm <section anchor="special-cases">
performs with non-compliant senders, receivers, or routers. In addition, the <name>Special Cases</name>
proposal should explore how a proposed congestion control algorithm performs <t>The criteria in <xref target="evaluation-criteria"/> will be
with outside attackers. This can be particularly important for proposed evaluated in the scenarios described in the following subsections, unless
congestion control algorithms that involve explicit feedback from routers along the proposed congestion
the path.</t> control algorithm specifically excludes its use in a scenario. For these
specific use cases, the IETF community <bcp14>MAY</bcp14> allow a proposal
to
progress even if the criteria indicate an unsatisfactory result for
these scenarios.</t>
<t>As an example from an Experimental RFC, performance with misbehaving nodes an <t>In general, measurements from Internet-scale deployments might not
d expose the properties of operation in each of these scenarios because
outside attackers is discussed in Sections 9.4, 9.5, and 9.6 of <xref target="RF they are not as ubiquitous as the general-use scenarios.</t>
C4782"/>.
This includes discussion of misbehaving senders and receivers; collusion between
misbehaving routers; misbehaving middleboxes; and the potential use of Quick-
Start to attack routers or to tie up available Quick-Start bandwidth.</t>
</section> <section anchor="aqm">
<section anchor="extreme-packet-reordering"><name>Extreme Packet Reordering</nam <name>Active Queue Management (AQM)</name>
e> <t>The proposed congestion control algorithm <bcp14>SHOULD</bcp14> be
evaluated under a variety of bottleneck-queue disciplines. The effect
of an AQM discipline can be hard to detect by Internet evaluation. At
a minimum, a proposal should reason about an algorithm's response to
various AQM disciplines. Simulation or empirical results are, of
course, valuable.</t>
<t>A proposed congestion control algorithm ought not to presume that all general <!-- [rfced] FYI - We have reworked the text below into a bulleted
Internet paths reliably deliver packets in order. <xref target="RFC4653"/> discu list for ease of the reader and updated to use didactic
sses the caps. Please review and let us know any objections.
effect of extreme packet reordering.</t>
</section> Original:
<section anchor="transient-events"><name>Transient Events</name>
<t>A proposed congestion control algorithm SHOULD consider how the proposed Among the AQM techniques that might have an impact on a proposed
congestion control algorithm would perform in the presence of transient events congestion control algorithm are Flow Queue CoDel (FQ-CoDel)
such as sudden onset of congestion, a routing change, or a mobility event. [RFC8290]; Proportional Integral Controller Enhanced (PIE) [RFC8033];
Routing changes, link disconnections, intermittent link connectivity, and and Low Latency, Low Loss, and Scalable Throughput (L4S) [RFC9332].
mobility are discussed in more detail in Section 16 of <xref target="Tools"/>.</
t>
<t>As an example from an Experimental RFC, response to transient events is Current:
discussed in <xref section="9.2" sectionFormat="of" target="RFC4782"/>.</t>
</section> Some of the AQM techniques that might have an impact on a proposed
<section anchor="sudden-changes-in-the-path"><name>Sudden changes in the Path</n congestion control algorithm include:
ame>
<t>An IETF transport is not tied to a specific Internet path or type of path. Th * Flow Queue CoDel (FQ-CoDel) [RFC8290];
e
set of routers that form a path can and do change with time. This will cause the
properties of the path to change with respect to time. A proposed congestion
control algorithm MUST evaluate the impact of changes in the path, and be robust
to changes in path characteristics on the interval of common Internet re-routing
intervals.</t>
</section> * Proportional Integral controller Enhanced (PIE) [RFC8033]; and
<section anchor="multipath-transport"><name>Multipath Transport</name>
<t>Multipath transport protocols permit more than one path to be differentiated * Low Latency, Low Loss, and Scalable Throughput (L4S) [RFC9332].
and
used by a single connection at the sender. A multipath sender can schedule which
packets travel on which of its active paths. This enables a tradeoff in
timeliness and reliability. There are various ways that multipath techniques can
be used.</t>
<t>One example use is to provide fail-over from one path to another when the -->
original path is no longer viable, or provides inferior performance. Designs
need to independently track the congestion state of each path, and demonstrate
independent congestion control for each path being used. Authors of a proposed
multipath congestion control algorithm that implements path fail-over MUST
evaluate the harm to performance resulting from a change in the path, and show t
hat this does
not result in flow starvation. Synchronisation of failover (e.g., where multiple
flows change their path on similar timeframes) can also contribute to harm
and/or reduce fairness. These effects also ought to be evaluated.</t>
<t>Another example use is concurrent multipath, where the transport protocol <t>Some of the AQM techniques that might have an impact on a proposed
simultaneously schedules a flow to aggregate the capacity across multiple paths. congestion control algorithm include:</t>
The Internet provides no guarantee that different paths (e.g., using different <ul>
endpoint addresses) are disjoint. This introduces additional implications: A con <li>Flow Queue CoDel (FQ-CoDel) <xref target="RFC8290"/>;</li>
gestion <li>Proportional Integral controller Enhanced (PIE) <xref target="RFC80
control algorithm proposal MUST evaluate the potential harm to other flows when 33"/>; and</li>
the multiple paths share a common congested bottleneck or share resources that <li>Low Latency, Low Loss, and Scalable Throughput (L4S) <xref target="
are coupled between different paths, such as an overall capacity limit). A propo RFC9332"/>.</li>
sal </ul>
SHOULD consider the potential for harm to other flows. Synchronisation of
congestion control mechanisms (e.g., where multiple flows change their behaviour
on similar timeframes) can also contribute to harm and/or reduce fairness. These
effects also ought to be evaluated.</t>
<t>At the time of writing (2024), there are currently no Standards Track RFCs fo <!-- [rfced] We note that ECT is most often expanded to "ECN-Capable
r Transport (ECT)" (as was done in normative reference RFC 9902).
concurrent multipath, but there is an Experimental RFC <xref target="RFC6356"/> Would you like to update this expansion to match the usage in
that RFC 9902?
specifies a concurrent multipath congestion control algorithm for MPTCP
<xref target="RFC8684"/>.</t>
</section> Original:
<section anchor="data-centers"><name>Data Centers</name> A proposed congestion control algorithm that sets one of the two
Explicit Congestion Transport (ECT) codepoints in the IP header can
gain the benefits of receiving Explicit Congestion Notification (ECN)
Congestion Experienced (CE) signals from an on-path AQM [RFC8087].
<t>Data centers are characterized by very low latencies (&lt; 2 ms). Many worklo Perhaps:
ads A proposed congestion control algorithm that sets one of the two
involve bursty traffic where many nodes complete a task at the same time. As a ECN-Capable Transport (ECT) codepoints in the IP header can gain the
controlled environment, data centers often deploy fabrics that employ rich benefits of receiving Explicit Congestion Notification-Congestion
signalling from switches to endpoints. Furthermore, the operator can often limit Experienced (ECN-CE) signals from an on-path AQM [RFC8087].
the number of operating congestion control algorithms.</t>
<t>For these reasons, data center congestion controls are often distinct from th -->
ose
running elsewhere on the Internet (see <xref target="controlled-environments"/>)
. A proposed
congestion control need not coexist well with all other algorithms if it is
intended for data centers, but the proposal SHOULD indicate which are expected
to safely coexist with it.</t>
</section> <t>A proposed congestion control algorithm that sets one of the two
</section> Explicit Congestion Transport (ECT) codepoints in the IP header can
<section anchor="security-considerations"><name>Security Considerations</name> gain the benefits of receiving Explicit Congestion
Notification - Congestion Experienced (ECN-CE) signals from an on-path
AQM <xref target="RFC8087"/>. Use of ECN (see <xref target="RFC3168"/>
and <xref target="RFC9332"/>) requires the congestion control
algorithm to react when it receives a packet with an ECN-CE
marking. This reaction needs to be evaluated to confirm that the
algorithm conforms with the requirements of the ECT codepoint that was
used.</t>
<t>This document does not represent a change to any aspect of the TCP/IP protoco <t>Note that evaluation of AQM techniques -- as opposed to their
l impact on a specific proposed congestion control algorithm -- is out
suite and therefore does not directly impact Internet security. The of scope of this document. <xref target="RFC7567"/> describes design
implementation of various facets of the Internet's current congestion control considerations for AQMs.</t>
algorithms do have security implications (e.g., as outlined in <xref target="RFC </section>
5681"/>).</t>
<t>Proposed congestion control algorithms MUST examine any potential security or <section anchor="circuit-breakers">
privacy issues that may arise from their design.</t> <name>Operation with the Envelope Set by Network Circuit Breakers</name>
<t>Some equipment in the network uses an automatic mechanism to
continuously monitor the use of resources by a flow or aggregate set
of flows <xref target="RFC8084"/>. Such a network transport circuit
breaker can automatically detect excessive congestion; when
detected, it can terminate (or significantly reduce the rate of) the
flow(s). A well-designed congestion control algorithm ought to react
before the flow uses excessive resources; therefore, it will operate
within the envelope set by network transport circuit breaker
algorithms.</t>
</section>
</section> <section anchor="delay">
<section anchor="iana-considerations"><name>IANA Considerations</name> <name>Paths with Varying Delay</name>
<t>This document has no IANA actions.</t> <t>An Internet path can include simple links, where the minimum delay
is the propagation delay, and any additional delay can be attributed
to link buffering. This cannot be assumed. An Internet path can also
include complex subnetworks where the minimum delay changes over
various time scales, resulting in a minimum delay that is not stationary
.</t>
</section> <t>Varying delay occurs when a subnet changes the forwarding path to
optimize capacity, resilience, etc. It could also arise when a subnet
uses a capacity-management method where the available resource is
periodically distributed among the active nodes. A node might then
have to buffer data until an assigned transmission opportunity or
until the physical path changes (e.g., when the length of a wireless
path changes or when the physical layer changes its mode of operation).
Variation also arises when traffic with a higher priority DSCP
preempts transmission of traffic with a lower class. In these cases,
the delay varies as a function of external factors, and attempting to
infer congestion from an increase in the delay results in reduced
throughput. This variation in the delay over short timescales (jitter)
might not be distinguishable from jitter that results from other
effects.</t>
<t>A proposed congestion control algorithm <bcp14>SHOULD</bcp14> be
evaluated to ensure its operation is robust when there is a
significant change in the minimum delay.</t>
</section>
</middle> <section anchor="internet-of-things-and-constrained-nodes">
<name>Internet of Things and Constrained Nodes</name>
<t>The "Internet of Things" (IoT) is a broad concept, but when
evaluating a proposed congestion control algorithm, it is often
associated with unique characteristics. For example, IoT nodes might
be more constrained in power, CPU, or other parameters than
conventional Internet hosts. This might place limits on the complexity
of any given algorithm. These power and radio constraints might make
the volume of control packets in a given algorithm a key evaluation
metric.</t>
<back> <t>Extremely low-power links can lead to very low throughput and a low
bandwidth-delay product, which is well below the standard operating
range of most Internet flows.</t>
<references title='Normative References'> <t>Furthermore, many IoT applications do not a have a human in the
loop; therefore, they might have weaker latency constraints because they
do not relate to a user experience. Congestion control algorithms
still may need to share the path with other flows with different
constraints.</t>
</section>
<reference anchor="RFC2914"> <section anchor="paths-with-high-delay">
<front> <name>Paths with High Delay</name>
<title>Congestion Control Principles</title>
<author fullname="S. Floyd" initials="S." surname="Floyd"/>
<date month="September" year="2000"/>
<abstract>
<t>The goal of this document is to explain the need for congestion control
in the Internet, and to discuss what constitutes correct congestion control. Th
is document specifies an Internet Best Current Practices for the Internet Commun
ity, and requests discussion and suggestions for improvements.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="41"/>
<seriesInfo name="RFC" value="2914"/>
<seriesInfo name="DOI" value="10.17487/RFC2914"/>
</reference>
<reference anchor="RFC8085"> <t>A proposed congestion control algorithm ought not to presume that
<front> all general Internet paths have a low delay. Some paths include links
<title>UDP Usage Guidelines</title> that contribute much more delay than for a typical Internet
<author fullname="L. Eggert" initials="L." surname="Eggert"/> path. Satellite links often have delays longer than is typical for wired
<author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/> paths <xref target="RFC2488"/> and high-delay-bandwidth products <xref
<author fullname="G. Shepherd" initials="G." surname="Shepherd"/> target="RFC3649"/>.</t>
<date month="March" year="2017"/>
<abstract>
<t>The User Datagram Protocol (UDP) provides a minimal message-passing tra
nsport that has no inherent congestion control mechanisms. This document provide
s guidelines on the use of UDP for the designers of applications, tunnels, and o
ther protocols that use UDP. Congestion control guidelines are a primary focus,
but the document also provides guidance on other topics, including message sizes
, reliability, checksums, middlebox traversal, the use of Explicit Congestion No
tification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
<t>Because congestion control is critical to the stable operation of the I
nternet, applications and other protocols that choose to use UDP as an Internet
transport must employ mechanisms to prevent congestion collapse and to establish
some degree of fairness with concurrent traffic. They may also need to implemen
t additional mechanisms, depending on how they use UDP.</t>
<t>Some guidance is also applicable to the design of other protocols (e.g.
, protocols layered directly on IP or via IP-based tunnels), especially when the
se protocols do not themselves provide congestion control.</t>
<t>This document obsoletes RFC 5405 and adds guidelines for multicast UDP
usage.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="145"/>
<seriesInfo name="RFC" value="8085"/>
<seriesInfo name="DOI" value="10.17487/RFC8085"/>
</reference>
<reference anchor="RFC9438"> <t>Paths can also present a variable delay as described in <xref
<front> target="delay"/>.</t>
<title>CUBIC for Fast and Long-Distance Networks</title> </section>
<author fullname="L. Xu" initials="L." surname="Xu"/>
<author fullname="S. Ha" initials="S." surname="Ha"/>
<author fullname="I. Rhee" initials="I." surname="Rhee"/>
<author fullname="V. Goel" initials="V." surname="Goel"/>
<author fullname="L. Eggert" initials="L." role="editor" surname="Eggert"/>
<date month="August" year="2023"/>
<abstract>
<t>CUBIC is a standard TCP congestion control algorithm that uses a cubic
function instead of a linear congestion window increase function to improve scal
ability and stability over fast and long-distance networks. CUBIC has been adopt
ed as the default TCP congestion control algorithm by the Linux, Windows, and Ap
ple stacks.</t>
<t>This document updates the specification of CUBIC to include algorithmic
improvements based on these implementations and recent academic work. Based on
the extensive deployment experience with CUBIC, this document also moves the spe
cification to the Standards Track and obsoletes RFC 8312. This document also upd
ates RFC 5681, to allow for CUBIC's occasionally more aggressive sending behavio
r.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="9438"/>
<seriesInfo name="DOI" value="10.17487/RFC9438"/>
</reference>
<reference anchor="RFC2119"> <section anchor="misbehaving-nodes">
<front> <name>Misbehaving Nodes</name>
<title>Key words for use in RFCs to Indicate Requirement Levels</title> <t>A proposed congestion control algorithm <bcp14>SHOULD</bcp14>
<author fullname="S. Bradner" initials="S." surname="Bradner"/> explore how the algorithm performs with non-compliant senders,
<date month="March" year="1997"/> receivers, or routers. In addition, the proposal should explore how a
<abstract> proposed congestion control algorithm performs with outside attackers.
<t>In many standards track documents several words are used to signify the This can be particularly important for proposed congestion control
requirements in the specification. These words are often capitalized. This docu algorithms that involve explicit feedback from routers along the
ment defines these words as they should be interpreted in IETF documents. This d path.</t>
ocument specifies an Internet Best Current Practices for the Internet Community,
and requests discussion and suggestions for improvements.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="2119"/>
<seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174"> <!-- [rfced] FYI - For readability, we have reformatted the text below to read
<front> as a bulleted list. Please review and let us know any objections.
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author fullname="B. Leiba" initials="B." surname="Leiba"/>
<date month="May" year="2017"/>
<abstract>
<t>RFC 2119 specifies common key words that may be used in protocol specif
ications. This document aims to reduce the ambiguity by clarifying that only UPP
ERCASE usage of the key words have the defined special meanings.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="14"/>
<seriesInfo name="RFC" value="8174"/>
<seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC8961"> Original:
<front>
<title>Requirements for Time-Based Loss Detection</title>
<author fullname="M. Allman" initials="M." surname="Allman"/>
<date month="November" year="2020"/>
<abstract>
<t>Many protocols must detect packet loss for various reasons (e.g., to en
sure reliability using retransmissions or to understand the level of congestion
along a network path). While many mechanisms have been designed to detect loss,
ultimately, protocols can only count on the passage of time without delivery con
firmation to declare a packet "lost". Each implementation of a time-based loss d
etection mechanism represents a balance between correctness and timeliness; ther
efore, no implementation suits all situations. This document provides high-level
requirements for time-based loss detectors appropriate for general use in unica
st communication across the Internet. Within the requirements, implementations h
ave latitude to define particulars that best address each situation.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="233"/>
<seriesInfo name="RFC" value="8961"/>
<seriesInfo name="DOI" value="10.17487/RFC8961"/>
</reference>
<reference anchor="RFC5681"> As an example from an Experimental RFC, performance with misbehaving
<front> nodes and outside attackers is discussed in Sections 9.4, 9.5, and
<title>TCP Congestion Control</title> 9.6 of [RFC4782]. This includes discussion of misbehaving senders
<author fullname="M. Allman" initials="M." surname="Allman"/> and receivers; collusion between misbehaving routers; misbehaving
<author fullname="V. Paxson" initials="V." surname="Paxson"/> middleboxes; and the potential use of Quick- Start to attack routers
<author fullname="E. Blanton" initials="E." surname="Blanton"/> or to tie up available Quick-Start bandwidth.
<date month="September" year="2009"/>
<abstract>
<t>This document defines TCP's four intertwined congestion control algorit
hms: slow start, congestion avoidance, fast retransmit, and fast recovery. In ad
dition, the document specifies how TCP should begin transmission after a relativ
ely long idle period, as well as discussing various acknowledgment generation me
thods. This document obsoletes RFC 2581. [STANDARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5681"/>
<seriesInfo name="DOI" value="10.17487/RFC5681"/>
</reference>
<reference anchor="RFC9002"> Current:
<front>
<title>QUIC Loss Detection and Congestion Control</title>
<author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/
>
<author fullname="I. Swett" initials="I." role="editor" surname="Swett"/>
<date month="May" year="2021"/>
<abstract>
<t>This document describes loss detection and congestion control mechanism
s for QUIC.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="9002"/>
<seriesInfo name="DOI" value="10.17487/RFC9002"/>
</reference>
<reference anchor="RFC8083"> As an example from an Experimental RFC, performance with misbehaving
<front> nodes and outside attackers is discussed in Sections 9.4, 9.5, and
<title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessi 9.6 of [RFC4782]. This includes discussion of:
ons</title>
<author fullname="C. Perkins" initials="C." surname="Perkins"/>
<author fullname="V. Singh" initials="V." surname="Singh"/>
<date month="March" year="2017"/>
<abstract>
<t>The Real-time Transport Protocol (RTP) is widely used in telephony, vid
eo conferencing, and telepresence applications. Such applications are often run
on best-effort UDP/IP networks. If congestion control is not implemented in thes
e applications, then network congestion can lead to uncontrolled packet loss and
a resulting deterioration of the user's multimedia experience. The congestion c
ontrol algorithm acts as a safety measure by stopping RTP flows from using exces
sive resources and protecting the network from overload. At the time of this wri
ting, however, while there are several proprietary solutions, there is no standa
rd algorithm for congestion control of interactive RTP flows.</t>
<t>This document does not propose a congestion control algorithm. It inste
ad defines a minimal set of RTP circuit breakers: conditions under which an RTP
sender needs to stop transmitting media data to protect the network from excessi
ve congestion. It is expected that, in the absence of long-lived excessive conge
stion, RTP applications running on best-effort IP networks will be able to opera
te without triggering these circuit breakers. To avoid triggering the RTP circui
t breaker, any Standards Track congestion control algorithms defined for RTP wil
l need to operate within the envelope set by these RTP circuit breaker algorithm
s.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8083"/>
<seriesInfo name="DOI" value="10.17487/RFC8083"/>
</reference>
<reference anchor="RFC7141"> * misbehaving senders and receivers;
<front>
<title>Byte and Packet Congestion Notification</title>
<author fullname="B. Briscoe" initials="B." surname="Briscoe"/>
<author fullname="J. Manner" initials="J." surname="Manner"/>
<date month="February" year="2014"/>
<abstract>
<t>This document provides recommendations of best current practice for dro
pping or marking packets using any active queue management (AQM) algorithm, incl
uding Random Early Detection (RED), BLUE, Pre- Congestion Notification (PCN), an
d newer schemes such as CoDel (Controlled Delay) and PIE (Proportional Integral
controller Enhanced). We give three strong recommendations: (1) packet size shou
ld be taken into account when transports detect and respond to congestion indica
tions, (2) packet size should not be taken into account when network equipment c
reates congestion signals (marking, dropping), and therefore (3) in the specific
case of RED, the byte- mode packet drop variant that drops fewer small packets
should not be used. This memo updates RFC 2309 to deprecate deliberate preferent
ial treatment of small packets in AQM algorithms.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="41"/>
<seriesInfo name="RFC" value="7141"/>
<seriesInfo name="DOI" value="10.17487/RFC7141"/>
</reference>
<reference anchor="RFC8084"> * collusion between misbehaving routers;
<front>
<title>Network Transport Circuit Breakers</title>
<author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
<date month="March" year="2017"/>
<abstract>
<t>This document explains what is meant by the term "network transport Cir
cuit Breaker". It describes the need for Circuit Breakers (CBs) for network tunn
els and applications when using non-congestion- controlled traffic and explains
where CBs are, and are not, needed. It also defines requirements for building a
CB and the expected outcomes of using a CB within the Internet.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="208"/>
<seriesInfo name="RFC" value="8084"/>
<seriesInfo name="DOI" value="10.17487/RFC8084"/>
</reference>
</references> * misbehaving middleboxes; and
<references title='Informative References'> * the potential use of Quick-Start to attack routers or to tie up
available Quick-Start bandwidth.
<reference anchor="BBR-draft"> -->
<front>
<title>BBR Congestion Control</title>
<author fullname="Neal Cardwell" initials="N." surname="Cardwell">
<organization>Google</organization>
</author>
<author fullname="Yuchung Cheng" initials="Y." surname="Cheng">
<organization>Google</organization>
</author>
<author fullname="Soheil Hassas Yeganeh" initials="S. H." surname="Yeganeh
">
<organization>Google</organization>
</author>
<author fullname="Ian Swett" initials="I." surname="Swett">
<organization>Google</organization>
</author>
<author fullname="Van Jacobson" initials="V." surname="Jacobson">
<organization>Google</organization>
</author>
<date day="7" month="March" year="2022"/>
<abstract>
<t> This document specifies the BBR congestion control algorithm. BBR
(&quot;Bottleneck Bandwidth and Round-trip propagation time&quot;) uses recen
t
measurements of a transport connection&#x27;s delivery rate, round-trip
time, and packet loss rate to build an explicit model of the network
path. BBR then uses this model to control both how fast it sends
data and the maximum volume of data it allows in flight in the
network at any time. Relative to loss-based congestion control
algorithms such as Reno [RFC5681] or CUBIC [RFC8312], BBR offers
substantially higher throughput for bottlenecks with shallow buffers
or random losses, and substantially lower queueing delays for
bottlenecks with deep buffers (avoiding &quot;bufferbloat&quot;). BBR can be
implemented in any transport protocol that supports packet-delivery
acknowledgment. Thus far, open source implementations are available
for TCP [RFC793] and QUIC [RFC9000]. This document specifies version
2 of the BBR algorithm, also sometimes referred to as BBRv2 or bbr2.
</t> <t>As an example from an Experimental RFC, performance with
</abstract> misbehaving nodes and outside attackers is discussed in Sections <xref
</front> target="RFC4782" section="9.4" sectionFormat="bare"/>, <xref
<seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion- target="RFC4782" section="9.5" sectionFormat="bare"/>, and <xref
control-02"/> target="RFC4782" section="9.6" sectionFormat="bare"/> of <xref
target="RFC4782"/>. This includes discussion of:</t>
<ul>
<li>misbehaving senders and receivers;</li>
<li>collusion between misbehaving routers;</li>
<li>misbehaving middleboxes; and</li>
<li>the potential use of Quick-Start to attack routers or to tie up
available Quick-Start bandwidth.</li>
</ul>
</section>
</reference> <section anchor="extreme-packet-reordering">
<name>Extreme Packet Reordering</name>
<t>A proposed congestion control algorithm ought not to presume that
all general Internet paths reliably deliver packets in order. <xref
target="RFC4653"/> discusses the effect of extreme packet
reordering.</t>
</section>
<reference anchor="BBRv1-draft"> <section anchor="transient-events">
<front> <name>Transient Events</name>
<title>BBR Congestion Control</title> <t>A proposed congestion control algorithm <bcp14>SHOULD</bcp14>
<author fullname="Neal Cardwell" initials="N." surname="Cardwell"> consider how it would perform
<organization>Google, Inc</organization> in the presence of transient events such as a sudden onset of
</author> congestion, a routing change, or a mobility event. Routing changes,
<author fullname="Yuchung Cheng" initials="Y." surname="Cheng"> link disconnections, intermittent link connectivity, and mobility are
<organization>Google, Inc</organization> discussed in more detail in Section 16 of <xref
</author> target="I-D.irtf-tmrg-tools"/>.</t>
<author fullname="Soheil Hassas Yeganeh" initials="S. H." surname="Yeganeh
">
<organization>Google, Inc</organization>
</author>
<author fullname="Van Jacobson" initials="V." surname="Jacobson">
<organization>Google, Inc</organization>
</author>
<date day="3" month="July" year="2017"/>
<abstract>
<t> This document specifies the BBR congestion control algorithm. BBR
uses recent measurements of a transport connection&#x27;s delivery rate
and round-trip time to build an explicit model that includes both the
maximum recent bandwidth available to that connection, and its
minimum recent round-trip delay. BBR then uses this model to control
both how fast it sends data and the maximum amount of data it allows
in flight in the network at any time. Relative to loss-based
congestion control algorithms such as Reno [RFC5681] or CUBIC
[draft-ietf-tcpm-cubic], BBR offers substantially higher throughput
for bottlenecks with shallow buffers or random losses, and
substantially lower queueing delays for bottlenecks with deep buffers
(avoiding &quot;bufferbloat&quot;). This algorithm can be implemented in any
transport protocol that supports packet-delivery acknowledgment (thus
far, open source implementations are available for TCP [RFC793] and
QUIC [draft-ietf-quic-transport-00]).
</t> <t>As an example from an Experimental RFC, a response to transient
</abstract> events is discussed in <xref section="9.2" sectionFormat="of"
</front> target="RFC4782"/>.</t>
<seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion- </section>
control-00"/>
</reference> <section anchor="sudden-changes-in-the-path">
<name>Sudden Changes in the Path</name>
<t>An IETF transport is not tied to a specific Internet path or type
of path. The set of routers that form a path can and do change with
time. This will cause the properties of the path to change with
respect to time. A proposed congestion control algorithm
<bcp14>MUST</bcp14> evaluate the impact of changes in the path and be
robust to changes in path characteristics on the interval of common
Internet rerouting intervals.</t>
</section>
<reference anchor="ECN-Encaps"> <section anchor="multipath-transport">
<front> <name>Multipath Transport</name>
<title>Guidelines for Adding Congestion Notification to Protocols that Enc <t>Multipath transport protocols permit more than one path to be
apsulate IP</title> differentiated and used by a single connection at the sender. A
<author fullname="Bob Briscoe" initials="B." surname="Briscoe"> multipath sender can schedule which packets travel on which of its
<organization>Independent</organization> active paths. This enables a trade-off in timeliness and
</author> reliability. There are various ways that multipath techniques can be
<author fullname="John Kaippallimalil" initials="J." surname="Kaippallimal used.</t>
il">
<organization>Futurewei</organization>
</author>
<date day="5" month="December" year="2023"/>
<abstract>
<t> The purpose of this document is to guide the design of congestion
notification in any lower layer or tunnelling protocol that
encapsulates IP. The aim is for explicit congestion signals to
propagate consistently from lower layer protocols into IP. Then the
IP internetwork layer can act as a portability layer to carry
congestion notification from non-IP-aware congested nodes up to the
transport layer (L4). Following these guidelines should assure
interworking among IP layer and lower layer congestion notification
mechanisms, whether specified by the IETF or other standards bodies.
This document is included in BCP 89 and updates the single paragraph
of advice to subnetwork designers about ECN in Section 13 of RFC
3819, by replacing it with a reference to the whole of this document.
</t> <t>One example use is to provide failover from one path to another
</abstract> when the original path is no longer viable or provides inferior
</front> performance. Designs need to independently track the congestion state
<seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-ecn-encap-guideline of each path and demonstrate independent congestion control for each
s-22"/> path being used. Authors of a proposed multipath congestion control
algorithm that implements path failover <bcp14>MUST</bcp14> evaluate
the harm to performance resulting from a change in the path and show
that this does not result in flow starvation. Synchronization of
failover (e.g., where multiple flows change their path on similar
time frames) can also contribute to harm and/or reduce fairness. These
effects also ought to be evaluated.</t>
</reference> <t>Another example use is concurrent multipath, where the transport
protocol simultaneously schedules a flow to aggregate the capacity
across multiple paths. The Internet provides no guarantee that
different paths (e.g., using different endpoint addresses) are
disjoint. This introduces additional implications. A congestion
control algorithm proposal <bcp14>MUST</bcp14> evaluate the potential
harm to other flows when the multiple paths share a common congested
bottleneck or share resources that are coupled between different
paths, such as an overall capacity limit. A proposal
<bcp14>SHOULD</bcp14> consider the potential for harm to other
flows. Synchronization of congestion control mechanisms (e.g., where
multiple flows change their behavior on similar time frames) can also
contribute to harm and/or reduce fairness. These effects also ought to
be evaluated.</t>
<reference anchor="HRX08" target="https://doi.org/10.1145/1400097.1400105"> <t>At the time of writing (2024), there are currently no Standards
<front> Track RFCs for concurrent multipath, but there is an Experimental RFC
<title>CUBIC: a new TCP-friendly high-speed TCP variant</title> <xref target="RFC6356"/> that specifies a concurrent multipath
<author initials="S." surname="Ha" fullname="Sangtae Ha"> congestion control algorithm for Multipath TCP (MPTCP) <xref target="RFC
<organization></organization> 8684"/>.</t>
</author> </section>
<author initials="I." surname="Rhee" fullname="Injong Rhee">
<organization></organization>
</author>
<author initials="L." surname="Xu" fullname="Lisong Xu">
<organization></organization>
</author>
<date year="2008" month="July"/>
</front>
<seriesInfo name="ACM SIGOPS Operating Systems Review, vol. 42, no. 5, pp. 64-
74" value=""/>
</reference>
<reference anchor="Tools" target="https://datatracker.ietf.org/doc/draft-irtf-tm
rg-tools">
<front>
<title>Tools for the Evaluation of Simulation and Testbed Scenarios</title>
<author initials="S." surname="Floyd">
<organization></organization>
</author>
<author initials="E." surname="Kohler">
<organization></organization>
</author>
<date year="2007" month="July"/>
</front>
<seriesInfo name="Work in Progress" value=""/>
</reference>
<reference anchor="Bufferbloat" target="https://queue.acm.org/detail.cfm?id=2071
893">
<front>
<title>Bufferbloat: Dark Buffers in the Internet</title>
<author initials="" surname="Kathleen Nichols">
<organization></organization>
</author>
<date year="2011"/>
</front>
<seriesInfo name="ACM Queue Volume 9, Issue 11" value=""/>
</reference>
<reference anchor="BBRv1-Evaluation" target="https://ieeexplore.ieee.org/documen
t/8117540">
<front>
<title>Experimental evaluation of BBR congestion control</title>
<author initials="M." surname="Zitterbart">
<organization></organization>
</author>
<date year="2017"/>
</front>
<seriesInfo name="2017 IEEE 25th International Conference on Network Protocols
(ICNP)" value=""/>
</reference>
<reference anchor="RFC5033"> <section anchor="data-centers">
<front> <name>Data Centers</name> <t>Data centers are characterized by very
<title>Specifying New Congestion Control Algorithms</title> low latencies (&lt; 2 ms). Many workloads involve bursty traffic where
<author fullname="S. Floyd" initials="S." surname="Floyd"/> many nodes complete a task at the same time. As a controlled
<author fullname="M. Allman" initials="M." surname="Allman"/> environment, data centers often deploy fabrics that employ rich
<date month="August" year="2007"/> signaling from switches to endpoints. Furthermore, the operator can
<abstract> often limit the number of operating congestion control algorithms.</t>
<t>The IETF's standard congestion control schemes have been widely shown t
o be inadequate for various environments (e.g., high-speed networks). Recent res
earch has yielded many alternate congestion control schemes that significantly d
iffer from the IETF's congestion control principles. Using these new congestion
control schemes in the global Internet has possible ramifications to both the tr
affic using the new congestion control and to traffic using the currently standa
rdized congestion control. Therefore, the IETF must proceed with caution when de
aling with alternate congestion control proposals. The goal of this document is
to provide guidance for considering alternate congestion control algorithms with
in the IETF. This document specifies an Internet Best Current Practices for the
Internet Community, and requests discussion and suggestions for improvements.</t
>
</abstract>
</front>
<seriesInfo name="BCP" value="133"/>
<seriesInfo name="RFC" value="5033"/>
<seriesInfo name="DOI" value="10.17487/RFC5033"/>
</reference>
<reference anchor="RFC8312"> <t>For these reasons, data center congestion controls are often
<front> distinct from those running elsewhere on the Internet (see <xref
<title>CUBIC for Fast Long-Distance Networks</title> target="controlled-environments"/>). A proposed congestion control
<author fullname="I. Rhee" initials="I." surname="Rhee"/> need not coexist well with all other algorithms if it is intended for
<author fullname="L. Xu" initials="L." surname="Xu"/> data centers, but the proposal <bcp14>SHOULD</bcp14> indicate which
<author fullname="S. Ha" initials="S." surname="Ha"/> are expected to safely coexist with it.</t>
<author fullname="A. Zimmermann" initials="A." surname="Zimmermann"/> </section>
<author fullname="L. Eggert" initials="L." surname="Eggert"/> </section>
<author fullname="R. Scheffenegger" initials="R." surname="Scheffenegger"/>
<date month="February" year="2018"/>
<abstract>
<t>CUBIC is an extension to the current TCP standards. It differs from the
current TCP standards only in the congestion control algorithm on the sender si
de. In particular, it uses a cubic function instead of a linear window increase
function of the current TCP standards to improve scalability and stability under
fast and long-distance networks. CUBIC and its predecessor algorithm have been
adopted as defaults by Linux and have been used for many years. This document pr
ovides a specification of CUBIC to enable third-party implementations and to sol
icit community feedback through experimentation on the performance of CUBIC.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8312"/>
<seriesInfo name="DOI" value="10.17487/RFC8312"/>
</reference>
<reference anchor="RFC8869"> <section anchor="security-considerations">
<front> <name>Security Considerations</name>
<title>Evaluation Test Cases for Interactive Real-Time Media over Wireless N <t>This document does not represent a change to any aspect of the TCP/IP
etworks</title> protocol suite; therefore, it does not directly impact Internet security.
<author fullname="Z. Sarker" initials="Z." surname="Sarker"/> The implementation of various facets of the Internet's current
<author fullname="X. Zhu" initials="X." surname="Zhu"/> congestion control algorithms do have security implications (e.g., as
<author fullname="J. Fu" initials="J." surname="Fu"/> outlined in <xref target="RFC5681"/>).</t>
<date month="January" year="2021"/> <t>Proposed congestion control algorithms <bcp14>MUST</bcp14> examine
<abstract> any potential security or privacy issues that may arise from their
<t>The Real-time Transport Protocol (RTP) is a common transport choice for design.</t>
interactive multimedia communication applications. The performance of these app </section>
lications typically depends on a well-functioning congestion control algorithm.
To ensure a seamless and robust user experience, a well-designed RTP-based conge
stion control algorithm should work well across all access network types. This d
ocument describes test cases for evaluating performances of candidate congestion
control algorithms over cellular and Wi-Fi networks.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8869"/>
<seriesInfo name="DOI" value="10.17487/RFC8869"/>
</reference>
<reference anchor="RFC6928"> <section anchor="iana-considerations">
<front> <name>IANA Considerations</name>
<title>Increasing TCP's Initial Window</title> <t>This document has no IANA actions.</t>
<author fullname="J. Chu" initials="J." surname="Chu"/> </section>
<author fullname="N. Dukkipati" initials="N." surname="Dukkipati"/> </middle>
<author fullname="Y. Cheng" initials="Y." surname="Cheng"/>
<author fullname="M. Mathis" initials="M." surname="Mathis"/>
<date month="April" year="2013"/>
<abstract>
<t>This document proposes an experiment to increase the permitted TCP init
ial window (IW) from between 2 and 4 segments, as specified in RFC 3390, to 10 s
egments with a fallback to the existing recommendation when performance issues a
re detected. It discusses the motivation behind the increase, the advantages and
disadvantages of the higher initial window, and presents results from several l
arge-scale experiments showing that the higher initial window improves the overa
ll performance of many web services without resulting in a congestion collapse.
The document closes with a discussion of usage and deployment for further experi
mental purposes recommended by the IETF TCP Maintenance and Minor Extensions (TC
PM) working group.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="6928"/>
<seriesInfo name="DOI" value="10.17487/RFC6928"/>
</reference>
<reference anchor="RFC4614"> <!-- [rfced] We had the following additional questions related to
<front> references and citations in the document:
<title>A Roadmap for Transmission Control Protocol (TCP) Specification Docum
ents</title>
<author fullname="M. Duke" initials="M." surname="Duke"/>
<author fullname="R. Braden" initials="R." surname="Braden"/>
<author fullname="W. Eddy" initials="W." surname="Eddy"/>
<author fullname="E. Blanton" initials="E." surname="Blanton"/>
<date month="September" year="2006"/>
<abstract>
<t>This document contains a "roadmap" to the Requests for Comments (RFC) d
ocuments relating to the Internet's Transmission Control Protocol (TCP). This ro
admap provides a brief summary of the documents defining TCP and various TCP ext
ensions that have accumulated in the RFC series. This serves as a guide and quic
k reference for both TCP implementers and other parties who desire information c
ontained in the TCP-related RFCs. This memo provides information for the Interne
t community.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4614"/>
<seriesInfo name="DOI" value="10.17487/RFC4614"/>
</reference>
<reference anchor="RFC3649"> a.) [BUFFERBLOAT] Would you like to use the following URL for this
<front> reference (as this URL has a DOI and an open access PDF)?
<title>HighSpeed TCP for Large Congestion Windows</title>
<author fullname="S. Floyd" initials="S." surname="Floyd"/>
<date month="December" year="2003"/>
<abstract>
<t>The proposals in this document are experimental. While they may be depl
oyed in the current Internet, they do not represent a consensus that this is the
best method for high-speed congestion control. In particular, we note that alte
rnative experimental proposals are likely to be forthcoming, and it is not well
understood how the proposals in this document will interact with such alternativ
e proposals. This document proposes HighSpeed TCP, a modification to TCP's conge
stion control mechanism for use with TCP connections with large congestion windo
ws. The congestion control mechanisms of the current Standard TCP constrains the
congestion windows that can be achieved by TCP in realistic environments. For e
xample, for a Standard TCP connection with 1500-byte packets and a 100 ms round-
trip time, achieving a steady-state throughput of 10 Gbps would require an avera
ge congestion window of 83,333 segments, and a packet drop rate of at most one c
ongestion event every 5,000,000,000 packets (or equivalently, at most one conges
tion event every 1 2/3 hours). This is widely acknowledged as an unrealistic con
straint. To address his limitation of TCP, this document proposes HighSpeed TCP,
and solicits experimentation and feedback from the wider community.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="3649"/>
<seriesInfo name="DOI" value="10.17487/RFC3649"/>
</reference>
<reference anchor="RFC4782"> https://dl.acm.org/doi/10.1145/2063166.2071893
<front>
<title>Quick-Start for TCP and IP</title>
<author fullname="S. Floyd" initials="S." surname="Floyd"/>
<author fullname="M. Allman" initials="M." surname="Allman"/>
<author fullname="A. Jain" initials="A." surname="Jain"/>
<author fullname="P. Sarolahti" initials="P." surname="Sarolahti"/>
<date month="January" year="2007"/>
<abstract>
<t>This document specifies an optional Quick-Start mechanism for transport
protocols, in cooperation with routers, to determine an allowed sending rate at
the start and, at times, in the middle of a data transfer (e.g., after an idle
period). While Quick-Start is designed to be used by a range of transport protoc
ols, in this document we only specify its use with TCP. Quick-Start is designed
to allow connections to use higher sending rates when there is significant unuse
d bandwidth along the path, and the sender and all of the routers along the path
approve the Quick-Start Request.</t>
<t>This document describes many paths where Quick-Start Requests would not
be approved. These paths include all paths containing routers, IP tunnels, MPLS
paths, and the like that do not support Quick- Start. These paths also include
paths with routers or middleboxes that drop packets containing IP options. Quick
-Start Requests could be difficult to approve over paths that include multi-acce
ss layer- two networks. This document also describes environments where the Quic
k-Start process could fail with false positives, with the sender incorrectly ass
uming that the Quick-Start Request had been approved by all of the routers along
the path. As a result of these concerns, and as a result of the difficulties an
d seeming absence of motivation for routers, such as core routers to deploy Quic
k-Start, Quick-Start is being proposed as a mechanism that could be of use in co
ntrolled environments, and not as a mechanism that would be intended or appropri
ate for ubiquitous deployment in the global Internet. This memo defines an Exper
imental Protocol for the Internet community.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4782"/>
<seriesInfo name="DOI" value="10.17487/RFC4782"/>
</reference>
<reference anchor="RFC9049"> b.) FYI - We have added the following RFCs to the Informative
<front> References section, as they are included in the text but were not
<title>Path Aware Networking: Obstacles to Deployment (A Bestiary of Roads N cited as references.
ot Taken)</title>
<author fullname="S. Dawkins" initials="S." role="editor" surname="Dawkins"/
>
<date month="June" year="2021"/>
<abstract>
<t>This document is a product of the Path Aware Networking Research Group
(PANRG). At the first meeting of the PANRG, the Research Group agreed to catalog
and analyze past efforts to develop and deploy Path Aware techniques, most of w
hich were unsuccessful or at most partially successful, in order to extract insi
ghts and lessons for Path Aware networking researchers.</t>
<t>This document contains that catalog and analysis.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="9049"/>
<seriesInfo name="DOI" value="10.17487/RFC9049"/>
</reference>
<reference anchor="RFC8799"> RFC 9293
<front> RFC 4340
<title>Limited Domains and Internet Protocols</title> RFC 9260
<author fullname="B. Carpenter" initials="B." surname="Carpenter"/> RFC 9000
<author fullname="B. Liu" initials="B." surname="Liu"/> RFC 8257
<date month="July" year="2020"/>
<abstract>
<t>There is a noticeable trend towards network behaviors and semantics tha
t are specific to a particular set of requirements applied within a limited regi
on of the Internet. Policies, default parameters, the options supported, the sty
le of network management, and security requirements may vary between such limite
d regions. This document reviews examples of such limited domains (also known as
controlled environments), notes emerging solutions, and includes a related taxo
nomy. It then briefly discusses the standardization of protocols for limited dom
ains. Finally, it shows the need for a precise definition of "limited domain mem
bership" and for mechanisms to allow nodes to join a domain securely and to find
other members, including boundary nodes.</t>
<t>This document is the product of the research of the authors. It has bee
n produced through discussions and consultation within the IETF but is not the p
roduct of IETF consensus.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8799"/>
<seriesInfo name="DOI" value="10.17487/RFC8799"/>
</reference>
<reference anchor="RFC3714"> -->
<front>
<title>IAB Concerns Regarding Congestion Control for Voice Traffic in the In
ternet</title>
<author fullname="S. Floyd" initials="S." role="editor" surname="Floyd"/>
<author fullname="J. Kempf" initials="J." role="editor" surname="Kempf"/>
<date month="March" year="2004"/>
<abstract>
<t>This document discusses IAB concerns about effective end-to-end congest
ion control for best-effort voice traffic in the Internet. These concerns have t
o do with fairness, user quality, and with the dangers of congestion collapse. T
he concerns are particularly relevant in light of the absence of a widespread Qu
ality of Service (QoS) deployment in the Internet, and the likelihood that this
situation will not change much in the near term. This document is not making any
recommendations about deployment paths for Voice over Internet Protocol (VoIP)
in terms of QoS support, and is not claiming that best-effort service can be rel
ied upon to give acceptable performance for VoIP. We are merely observing that v
oice traffic is occasionally deployed as best-effort traffic over some links in
the Internet, that we expect this occasional deployment to continue, and that we
have concerns about the lack of effective end-to-end congestion control for thi
s best-effort voice traffic. This memo provides information for the Internet com
munity.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="3714"/>
<seriesInfo name="DOI" value="10.17487/RFC3714"/>
</reference>
<reference anchor="RFC6298"> <back>
<front> <displayreference target="RFC9599" to="ECN-ENCAPS"/>
<title>Computing TCP's Retransmission Timer</title> <displayreference target="I-D.cardwell-iccrg-bbr-congestion-control" to="BBR
<author fullname="V. Paxson" initials="V." surname="Paxson"/> "/>
<author fullname="M. Allman" initials="M." surname="Allman"/> <displayreference target="I-D.irtf-tmrg-tools" to="TOOLS"/>
<author fullname="J. Chu" initials="J." surname="Chu"/> <references>
<author fullname="M. Sargent" initials="M." surname="Sargent"/> <name>References</name>
<date month="June" year="2011"/> <references>
<abstract> <name>Normative References</name>
<t>This document defines the standard algorithm that Transmission Control <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
Protocol (TCP) senders are required to use to compute and manage their retransmi 914.xml"/>
ssion timer. It expands on the discussion in Section 4.2.3.1 of RFC 1122 and upg <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
rades the requirement of supporting the algorithm from a SHOULD to a MUST. This 085.xml"/>
document obsoletes RFC 2988. [STANDARDS-TRACK]</t> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
</abstract> 438.xml"/>
</front> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
<seriesInfo name="RFC" value="6298"/> 119.xml"/>
<seriesInfo name="DOI" value="10.17487/RFC6298"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
</reference> 174.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
961.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
681.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
002.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
083.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
141.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
084.xml"/>
</references>
<references>
<name>Informative References</name>
<reference anchor="RFC8836"> <!-- [-00] [BBRv1] [I-D.cardwell-iccrg-bbr-congestion-control]
<front> Note to PE: This is the first version of [BBRv1]. -->
<title>Congestion Control Requirements for Interactive Real-Time Media</titl
e>
<author fullname="R. Jesup" initials="R." surname="Jesup"/>
<author fullname="Z. Sarker" initials="Z." role="editor" surname="Sarker"/>
<date month="January" year="2021"/>
<abstract>
<t>Congestion control is needed for all data transported across the Intern
et, in order to promote fair usage and prevent congestion collapse. The requirem
ents for interactive, point-to-point real-time multimedia, which needs low-delay
, semi-reliable data delivery, are different from the requirements for bulk tran
sfer like FTP or bursty transfers like web pages. Due to an increasing amount of
RTP-based real-time media traffic on the Internet (e.g., with the introduction
of the Web Real-Time Communication (WebRTC)), it is especially important to ensu
re that this kind of traffic is congestion controlled.</t>
<t>This document describes a set of requirements that can be used to evalu
ate other congestion control mechanisms in order to figure out their fitness for
this purpose, and in particular to provide a set of possible requirements for a
real-time media congestion avoidance technique.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8836"/>
<seriesInfo name="DOI" value="10.17487/RFC8836"/>
</reference>
<reference anchor="RFC8868"> <reference anchor="BBRv1" target="https://datatracker.ietf.org/doc/html/d
<front> raft-cardwell-iccrg-bbr-congestion-control-00">
<title>Evaluating Congestion Control for Interactive Real-Time Media</title> <front>
<author fullname="V. Singh" initials="V." surname="Singh"/> <title>BBR Congestion Control</title>
<author fullname="J. Ott" initials="J." surname="Ott"/> <author initials="N." surname="Cardwell" fullname="Neal Cardwell">
<author fullname="S. Holmer" initials="S." surname="Holmer"/> <organization>Google</organization>
<date month="January" year="2021"/> </author>
<abstract> <author initials="Y." surname="Cheng" fullname="Yuchung Cheng">
<t>The Real-Time Transport Protocol (RTP) is used to transmit media in tel <organization>Google</organization>
ephony and video conferencing applications. This document describes the guidelin </author>
es to evaluate new congestion control algorithms for interactive point-to-point <author initials="S. H." surname="Yeganeh" fullname="Soheil Hassas Ye
real-time media.</t> ganeh">
</abstract> <organization>Google</organization>
</front> </author>
<seriesInfo name="RFC" value="8868"/> <author initials="V." surname="Jacobson" fullname="Van Jacobson">
<seriesInfo name="DOI" value="10.17487/RFC8868"/> <organization>Google</organization>
</reference> </author>
<date month="July" day="3" year="2017"/>
</front>
<seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-conge
stion-control-00"/>
</reference>
<reference anchor="RFC8867"> <!-- [-02] [BBR-DRAFT] [I-D.cardwell-iccrg-bbr-congestion-control] -->
<front> <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.
<title>Test Cases for Evaluating Congestion Control for Interactive Real-Tim draft-cardwell-iccrg-bbr-congestion-control-02.xml"/>
e Media</title>
<author fullname="Z. Sarker" initials="Z." surname="Sarker"/>
<author fullname="V. Singh" initials="V." surname="Singh"/>
<author fullname="X. Zhu" initials="X." surname="Zhu"/>
<author fullname="M. Ramalho" initials="M." surname="Ramalho"/>
<date month="January" year="2021"/>
<abstract>
<t>The Real-time Transport Protocol (RTP) is used to transmit media in mul
timedia telephony applications. These applications are typically required to imp
lement congestion control. This document describes the test cases to be used in
the performance evaluation of such congestion control algorithms in a controlled
environment.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8867"/>
<seriesInfo name="DOI" value="10.17487/RFC8867"/>
</reference>
<reference anchor="RFC9392"> <!-- [ECN-ENCAPS] I-D was published as RFC9599. Replaced I-D with RFC 9599. -->
<front> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
<title>Sending RTP Control Protocol (RTCP) Feedback for Congestion Control i 599.xml"/>
n Interactive Multimedia Conferences</title>
<author fullname="C. Perkins" initials="C." surname="Perkins"/>
<date month="April" year="2023"/>
<abstract>
<t>This memo discusses the rate at which congestion control feedback can b
e sent using the RTP Control Protocol (RTCP) and the suitability of RTCP for imp
lementing congestion control for unicast multimedia applications.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="9392"/>
<seriesInfo name="DOI" value="10.17487/RFC9392"/>
</reference>
<reference anchor="RFC3819"> <!-- [HRX08] -->
<front> <reference anchor="HRX08" target="https://doi.org/10.1145/1400097.140010
<title>Advice for Internet Subnetwork Designers</title> 5">
<author fullname="P. Karn" initials="P." role="editor" surname="Karn"/> <front>
<author fullname="C. Bormann" initials="C." surname="Bormann"/> <title>CUBIC: a new TCP-friendly high-speed TCP variant</title>
<author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/> <author initials="S." surname="Ha" fullname="Sangtae Ha">
<author fullname="D. Grossman" initials="D." surname="Grossman"/> <organization/>
<author fullname="R. Ludwig" initials="R." surname="Ludwig"/> </author>
<author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/> <author initials="I." surname="Rhee" fullname="Injong Rhee">
<author fullname="G. Montenegro" initials="G." surname="Montenegro"/> <organization/>
<author fullname="J. Touch" initials="J." surname="Touch"/> </author>
<author fullname="L. Wood" initials="L." surname="Wood"/> <author initials="L." surname="Xu" fullname="Lisong Xu">
<date month="July" year="2004"/> <organization/>
<abstract> </author>
<t>This document provides advice to the designers of digital communication <date year="2008" month="July"/>
equipment, link-layer protocols, and packet-switched local networks (collective </front>
ly referred to as subnetworks), who wish to support the Internet protocols but m <refcontent>ACM SIGOPS Operating Systems Review, vol. 42, no. 5, pp. 6
ay be unfamiliar with the Internet architecture and the implications of their de 4-74</refcontent>
sign choices on the performance and efficiency of the Internet. This document sp <seriesInfo name="DOI" value="10.1145/1400097.1400105"/>
ecifies an Internet Best Current Practices for the Internet Community, and reque </reference>
sts discussion and suggestions for improvements.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="89"/>
<seriesInfo name="RFC" value="3819"/>
<seriesInfo name="DOI" value="10.17487/RFC3819"/>
</reference>
<reference anchor="RFC8290"> <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.draft-ir
<front> tf-tmrg-tools-05.xml"/>
<title>The Flow Queue CoDel Packet Scheduler and Active Queue Management Alg
orithm</title>
<author fullname="T. Hoeiland-Joergensen" initials="T." surname="Hoeiland-Jo
ergensen"/>
<author fullname="P. McKenney" initials="P." surname="McKenney"/>
<author fullname="D. Taht" initials="D." surname="Taht"/>
<author fullname="J. Gettys" initials="J." surname="Gettys"/>
<author fullname="E. Dumazet" initials="E." surname="Dumazet"/>
<date month="January" year="2018"/>
<abstract>
<t>This memo presents the FQ-CoDel hybrid packet scheduler and Active Queu
e Management (AQM) algorithm, a powerful tool for fighting bufferbloat and reduc
ing latency.</t>
<t>FQ-CoDel mixes packets from multiple flows and reduces the impact of he
ad-of-line blocking from bursty traffic. It provides isolation for low-rate traf
fic such as DNS, web, and videoconferencing traffic. It improves utilisation acr
oss the networking fabric, especially for bidirectional traffic, by keeping queu
e lengths short, and it can be implemented in a memory- and CPU-efficient fashio
n across a wide range of hardware.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8290"/>
<seriesInfo name="DOI" value="10.17487/RFC8290"/>
</reference>
<reference anchor="RFC8033"> <reference anchor="BUFFERBLOAT" target="https://queue.acm.org/detail.cfm
<front> ?id=2071893">
<title>Proportional Integral Controller Enhanced (PIE): A Lightweight Contro <front>
l Scheme to Address the Bufferbloat Problem</title> <title>Bufferbloat: Dark Buffers in the Internet</title>
<author fullname="R. Pan" initials="R." surname="Pan"/> <author initials="K." surname="Nichols">
<author fullname="P. Natarajan" initials="P." surname="Natarajan"/> <organization/>
<author fullname="F. Baker" initials="F." surname="Baker"/> </author>
<author fullname="G. White" initials="G." surname="White"/> <author initials="J." surname="Gettys">
<date month="February" year="2017"/> <organization/>
<abstract> </author>
<t>Bufferbloat is a phenomenon in which excess buffers in the network caus <date month="November" year="2011"/>
e high latency and latency variation. As more and more interactive applications </front>
(e.g., voice over IP, real-time video streaming, and financial transactions) run <refcontent>ACM Queue Volume 9, Issue 11</refcontent>
in the Internet, high latency and latency variation degrade application perform </reference>
ance. There is a pressing need to design intelligent queue management schemes th
at can control latency and latency variation, and hence provide desirable qualit
y of service to users.</t>
<t>This document presents a lightweight active queue management design cal
led "PIE" (Proportional Integral controller Enhanced) that can effectively contr
ol the average queuing latency to a target value. Simulation results, theoretica
l analysis, and Linux testbed results have shown that PIE can ensure low latency
and achieve high link utilization under various congestion situations. The desi
gn does not require per-packet timestamps, so it incurs very little overhead and
is simple enough to implement in both hardware and software.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8033"/>
<seriesInfo name="DOI" value="10.17487/RFC8033"/>
</reference>
<reference anchor="RFC9332"> <!-- [BBRv1-EVALUATION] -->
<front> <reference anchor="BBRv1-EVALUATION" target="https://ieeexplore.ieee.org
<title>Dual-Queue Coupled Active Queue Management (AQM) for Low Latency, Low /document/8117540">
Loss, and Scalable Throughput (L4S)</title> <front>
<author fullname="K. De Schepper" initials="K." surname="De Schepper"/> <title>Experimental evaluation of BBR congestion control</title>
<author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/ <author initials="M." surname="Hock">
> <organization/>
<author fullname="G. White" initials="G." surname="White"/> </author>
<date month="January" year="2023"/> <author initials="R." surname="Bless">
<abstract> <organization/>
<t>This specification defines a framework for coupling the Active Queue Ma </author>
nagement (AQM) algorithms in two queues intended for flows with different respon <author initials="M." surname="Zitterbart">
ses to congestion. This provides a way for the Internet to transition from the s <organization/>
caling problems of standard TCP-Reno-friendly ('Classic') congestion controls to </author>
the family of 'Scalable' congestion controls. These are designed for consistent <date year="2017"/>
ly very low queuing latency, very low congestion loss, and scaling of per-flow t </front>
hroughput by using Explicit Congestion Notification (ECN) in a modified way. Unt <refcontent>2017 IEEE 25th International Conference on Network Protoco
il the Coupled Dual Queue (DualQ), these Scalable L4S congestion controls could ls (ICNP)</refcontent>
only be deployed where a clean-slate environment could be arranged, such as in p <seriesInfo name="DOI" value="10.1109/ICNP.2017.8117540"/>
rivate data centres.</t> </reference>
<t>This specification first explains how a Coupled DualQ works. It then gi
ves the normative requirements that are necessary for it to work well. All this
is independent of which two AQMs are used, but pseudocode examples of specific A
QMs are given in appendices.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="9332"/>
<seriesInfo name="DOI" value="10.17487/RFC9332"/>
</reference>
<reference anchor="RFC8087"> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
<front> 033.xml"/>
<title>The Benefits of Using Explicit Congestion Notification (ECN)</title> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.83
<author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/> 12.xml"/>
<author fullname="M. Welzl" initials="M." surname="Welzl"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<date month="March" year="2017"/> 869.xml"/>
<abstract> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
<t>The goal of this document is to describe the potential benefits of appl 928.xml"/>
ications using a transport that enables Explicit Congestion Notification (ECN). <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
The document outlines the principal gains in terms of increased throughput, redu 614.xml"/>
ced delay, and other benefits when ECN is used over a network path that includes <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3
equipment that supports Congestion Experienced (CE) marking. It also discusses 649.xml"/>
challenges for successful deployment of ECN. It does not propose new algorithms <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
to use ECN nor does it describe the details of implementation of ECN in endpoint 782.xml"/>
devices (Internet hosts), routers, or other network devices.</t> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
</abstract> 049.xml"/>
</front> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
<seriesInfo name="RFC" value="8087"/> 799.xml"/>
<seriesInfo name="DOI" value="10.17487/RFC8087"/> <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3
</reference> 714.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
298.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
836.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
868.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
867.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
392.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3
819.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
290.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
033.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
332.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
087.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.3
168.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
567.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
488.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4
653.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
356.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
414.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
684.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
166.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.92
93.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.43
40.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.92
60.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.90
00.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.82
57.xml"/>
<reference anchor="RFC3168"> </references>
<front> </references>
<title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
<author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
<author fullname="S. Floyd" initials="S." surname="Floyd"/>
<author fullname="D. Black" initials="D." surname="Black"/>
<date month="September" year="2001"/>
<abstract>
<t>This memo specifies the incorporation of ECN (Explicit Congestion Notif
ication) to TCP and IP, including ECN's use of two bits in the IP header. [STAND
ARDS-TRACK]</t>
</abstract>
</front>
<seriesInfo name="RFC" value="3168"/>
<seriesInfo name="DOI" value="10.17487/RFC3168"/>
</reference>
<reference anchor="RFC7567"> <section numbered="false" anchor="acknowledgments">
<front> <name>Acknowledgments</name>
<title>IETF Recommendations Regarding Active Queue Management</title>
<author fullname="F. Baker" initials="F." role="editor" surname="Baker"/>
<author fullname="G. Fairhurst" initials="G." role="editor" surname="Fairhur
st"/>
<date month="July" year="2015"/>
<abstract>
<t>This memo presents recommendations to the Internet community concerning
measures to improve and preserve Internet performance. It presents a strong rec
ommendation for testing, standardization, and widespread deployment of active qu
eue management (AQM) in network devices to improve the performance of today's In
ternet. It also urges a concerted effort of research, measurement, and ultimate
deployment of AQM mechanisms to protect the Internet from flows that are not suf
ficiently responsive to congestion notification.</t>
<t>Based on 15 years of experience and new research, this document replace
s the recommendations of RFC 2309.</t>
</abstract>
</front>
<seriesInfo name="BCP" value="197"/>
<seriesInfo name="RFC" value="7567"/>
<seriesInfo name="DOI" value="10.17487/RFC7567"/>
</reference>
<reference anchor="RFC2488"> <t><contact fullname="Sally Floyd"/> and <contact fullname="Mark
<front> Allman"/> were the authors of this document's predecessor, <xref
<title>Enhancing TCP Over Satellite Channels using Standard Mechanisms</titl target="RFC5033"/>, which served the community well for over a
e> decade.</t>
<author fullname="M. Allman" initials="M." surname="Allman"/> <t>Thanks to <contact fullname="Richard Scheffenegger"/> for helping to
<author fullname="D. Glover" initials="D." surname="Glover"/> get this revision process started.</t>
<author fullname="L. Sanchez" initials="L." surname="Sanchez"/> <t>The editors would like to thank <contact fullname="Mohamed
<date month="January" year="1999"/> Boucadair"/>, <contact fullname="Neal Cardwell"/>, <contact
<abstract> fullname="Reese Enghardt"/>, <contact fullname="Jonathan Lennox"/>,
<t>The Transmission Control Protocol (TCP) provides reliable delivery of d <contact fullname="Matt Mathis"/>, <contact fullname="Zahed Sarker"/>,
ata across any network path, including network paths containing satellite channe <contact fullname="Juergen Schoenwaelder"/>, <contact fullname="Dave
ls. While TCP works over satellite channels there are several IETF standardized Taht"/>, <contact fullname="Sean Turner"/>, <contact fullname="Michael
mechanisms that enable TCP to more effectively utilize the available capacity of Welzl"/>, <contact fullname="Magnus Westerlund"/>, and <contact
the network path. This document outlines some of these TCP mitigations. This do fullname="Greg White"/> for suggesting improvements to this
cument specifies an Internet Best Current Practices for the Internet Community, document.</t>
and requests discussion and suggestions for improvements.</t> <t>Discussions with <contact fullname="Lars Eggert"/> and <contact
</abstract> fullname="Aaron Falk"/> seeded the original <xref target="RFC5033"/>. <con
</front> tact
<seriesInfo name="BCP" value="28"/> fullname="Bob Briscoe"/>, <contact fullname="Gorry Fairhurst"/>,
<seriesInfo name="RFC" value="2488"/> <contact fullname="Doug Leith"/>, <contact fullname="Jitendra Padhye"/>,
<seriesInfo name="DOI" value="10.17487/RFC2488"/> <contact fullname="Colin Perkins"/>, <contact fullname="Pekka Savola"/>,
</reference> members of TSVWG, and participants at the TCP Workshop at Microsoft
Research all provided feedback and contributions to that document. It
also drew from <xref target="RFC5166"/>.</t>
</section>
<reference anchor="RFC4653"> <section anchor="contributors" numbered="false" toc="include" removeInRFC="f
<front> alse">
<title>Improving the Robustness of TCP to Non-Congestion Events</title> <name>Contributors</name>
<author fullname="S. Bhandarkar" initials="S." surname="Bhandarkar"/>
<author fullname="A. L. N. Reddy" initials="A. L. N." surname="Reddy"/>
<author fullname="M. Allman" initials="M." surname="Allman"/>
<author fullname="E. Blanton" initials="E." surname="Blanton"/>
<date month="August" year="2006"/>
<abstract>
<t>This document specifies Non-Congestion Robustness (NCR) for TCP. In the
absence of explicit congestion notification from the network, TCP uses loss as
an indication of congestion. One of the ways TCP detects loss is using the arriv
al of three duplicate acknowledgments. However, this heuristic is not always cor
rect, notably in the case when network paths reorder segments (for whatever reas
on), resulting in degraded performance. TCP-NCR is designed to mitigate this deg
raded performance by increasing the number of duplicate acknowledgments required
to trigger loss recovery, based on the current state of the connection, in an e
ffort to better disambiguate true segment loss from segment reordering. This doc
ument specifies the changes to TCP, as well as the costs and benefits of these m
odifications. This memo defines an Experimental Protocol for the Internet commun
ity.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="4653"/>
<seriesInfo name="DOI" value="10.17487/RFC4653"/>
</reference>
<reference anchor="RFC6356"> <contact initials="C." surname="Huitema" fullname="Christian Huitema">
<front> <organization>Private Octopus, Inc.</organization>
<title>Coupled Congestion Control for Multipath Transport Protocols</title> <address>
<author fullname="C. Raiciu" initials="C." surname="Raiciu"/> <email>huitema@huitema.net</email>
<author fullname="M. Handley" initials="M." surname="Handley"/> </address>
<author fullname="D. Wischik" initials="D." surname="Wischik"/> </contact>
<date month="October" year="2011"/> </section>
<abstract> </back>
<t>Often endpoints are connected by multiple paths, but communications are
usually restricted to a single path per connection. Resource usage within the n
etwork would be more efficient were it possible for these multiple paths to be u
sed concurrently. Multipath TCP is a proposal to achieve multipath transport in
TCP.</t>
<t>New congestion control algorithms are needed for multipath transport pr
otocols such as Multipath TCP, as single path algorithms have a series of issues
in the multipath context. One of the prominent problems is that running existin
g algorithms such as standard TCP independently on each path would give the mult
ipath flow more than its fair share at a bottleneck link traversed by more than
one of its subflows. Further, it is desirable that a source with multiple paths
available will transfer more traffic using the least congested of the paths, ach
ieving a property called "resource pooling" where a bundle of links effectively
behaves like one shared link with bigger capacity. This would increase the overa
ll efficiency of the network and also its robustness to failure.</t>
<t>This document presents a congestion control algorithm that couples the
congestion control algorithms running on different subflows by linking their inc
rease functions, and dynamically controls the overall aggressiveness of the mult
ipath flow. The result is a practical algorithm that is fair to TCP at bottlenec
ks while moving traffic away from congested links. This document defines an Expe
rimental Protocol for the Internet community.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="6356"/>
<seriesInfo name="DOI" value="10.17487/RFC6356"/>
</reference>
<reference anchor="RFC8684"> <!--[rfced] Note that we have cut the "Evolution of RFC5033bis"
<front> section. Generally, change logs only exist in published RFCs in
<title>TCP Extensions for Multipath Operation with Multiple Addresses</title obsoleting documents as a "Changes Since RFC ####" section, which
> highlights the substantive changes that took place between the
<author fullname="A. Ford" initials="A." surname="Ford"/> last published RFC and this one (i.e., mentions errata addressed or
<author fullname="C. Raiciu" initials="C." surname="Raiciu"/> a security consideration that has changed, etc.). If the section
<author fullname="M. Handley" initials="M." surname="Handley"/> should be kept, may we suggest something like:
<author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
<author fullname="C. Paasch" initials="C." surname="Paasch"/>
<date month="March" year="2020"/>
<abstract>
<t>TCP/IP communication is currently restricted to a single path per conne
ction, yet multiple paths often exist between peers. The simultaneous use of the
se multiple paths for a TCP/IP session would improve resource usage within the n
etwork and thus improve user experience through higher throughput and improved r
esilience to network failure.</t>
<t>Multipath TCP provides the ability to simultaneously use multiple paths
between peers. This document presents a set of extensions to traditional TCP to
support multipath operation. The protocol offers the same type of service to ap
plications as TCP (i.e., a reliable bytestream), and it provides the components
necessary to establish and use multiple TCP flows across potentially disjoint pa
ths.</t>
<t>This document specifies v1 of Multipath TCP, obsoleting v0 as specified
in RFC 6824, through clarifications and modifications primarily driven by deplo
yment experience.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="8684"/>
<seriesInfo name="DOI" value="10.17487/RFC8684"/>
</reference>
<reference anchor="RFC5166"> Perhaps:
<front> Changes Since RFC 5033
<title>Metrics for the Evaluation of Congestion Control Mechanisms</title>
<author fullname="S. Floyd" initials="S." role="editor" surname="Floyd"/>
<date month="March" year="2008"/>
<abstract>
<t>This document discusses the metrics to be considered in an evaluation o
f new or modified congestion control mechanisms for the Internet. These include
metrics for the evaluation of new transport protocols, of proposed modifications
to TCP, of application-level congestion control, and of Active Queue Management
(AQM) mechanisms in the router. This document is the first in a series of docum
ents aimed at improving the models that we use in the evaluation of transport pr
otocols.</t>
<t>This document is a product of the Transport Modeling Research Group (TM
RG), and has received detailed feedback from many members of the Research Group
(RG). As the document tries to make clear, there is not necessarily a consensus
within the research community (or the IETF community, the vendor community, the
operations community, or any other community) about the metrics that congestion
control mechanisms should be designed to optimize, in terms of trade-offs betwee
n throughput and delay, fairness between competing flows, and the like. However,
we believe that there is a clear consensus that congestion control mechanisms s
hould be evaluated in terms of trade-offs between a range of metrics, rather tha
n in terms of optimizing for a single metric. This memo provides information for
the Internet community.</t>
</abstract>
</front>
<seriesInfo name="RFC" value="5166"/>
<seriesInfo name="DOI" value="10.17487/RFC5166"/>
</reference>
</references> * Harmonized the "proposed congestion control algorithm"
<?line 824?> * Examined BCP 14 keywords and consistency with other RFCs
<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name> * Added text on constrained environments/limited domains and circuit
breakers and aligned with other RFCs
<t>Sally Floyd and Mark Allman were the authors of this document's predecessor, * Added discussion of real-time protocols, short flows, AQM response,
<xref target="RFC5033"/>, which served the community well for over a decade.</t> multipath transports
<t>Thanks to Richard Scheffenegger for helping to get this revision process * Listed properties of wired networks
started.</t>
<t>The editors would like to thank Mohamed Boucadair, Neal Cardwell, Reese * Added sections addressing IoT and Multicast (noting this is out of scope)
Enghardt, Jonathan Lennox, Matt Mathis, Zahed Sarker, Juergen Schoenwaelder,
Dave Taht, Sean Turner, Michael Welzl, Magnus Westerlund, and Greg White for
suggesting improvements to this document.</t>
<t>Discussions with Lars Eggert and Aaron Falk seeded the original RFC5033. Bob * Rewrote the "Document Status" section
Briscoe, Gorry Fairhurst, Doug Leith, Jitendra Padhye, Colin Perkins, Pekka
Savola, members of TSVWG, and participants at the TCP Workshop at Microsoft
Research all provided feedback and contributions to that document. It also drew
from <xref target="RFC5166"/>.</t>
</section> * Added improved first sentence of Abstract and Introduction
<section numbered="false" anchor="evolution-of-rfc5033bis"><name>Evolution of RF
C5033bis</name>
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-06"><name>Sin * Reorganized central sections of the document
ce draft-ietf-ccwg-rfc5033bis-06</name>
<t><list style="symbols">
<t>OPSDIR review</t>
<t>ARTART review</t>
</list></t>
</section> * Added QUIC, other congestion control standards
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-05"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-05</name>
<t><list style="symbols">
<t>AD evaluation comments</t>
</list></t>
</section> * Added wireless environments
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-04"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-04</name>
<t><list style="symbols">
<t>Editorial pass after shepherd review.</t>
</list></t>
</section> * Aligned motivation for this work with the CCWG charter
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-03"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-03</name>
<t><list style="symbols">
<t>Harmonised the "proposed congestion control algorithm"</t>
<t>Addressed issues.</t>
<t>Examined RFC-2119 keywords and consistency with other RFCs.</t>
<t>Added text on constrained environments/limited domains</t>
<t>Added text on circuit breakers and aligned with other RFCs.</t>
<t>Several editorial passes</t>
</list></t>
</section> * Refined discussion of Quick-Start
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-02"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-02</name>
<t><list style="symbols"> * Included updated text suggested by Dave Taht
<t>Added discussion of real-time protocols</t>
<t>Added discussion of short flows</t>
<t>Listed properties of wired networks</t>
<t>Added IoT section</t>
<t>Added discussion of AQM response</t>
<t>Rewrote the "Document Status" section</t>
<t>Adding improved first sentence of abstract and intro.</t>
<t>Added section on Multicast, noting this is out of scope</t>
<t>Editorial changes</t>
</list></t>
</section> * Added criterion for bufferbloat
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-01"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-01</name>
<t><list style="symbols"> * Mentioned CUBIC and BBR as motivation
<t>Added discussion of multipath transports</t>
<t>Totally reorganized central sections of the draft</t>
</list></t>
</section> -->
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-00"><name>Sin
ce draft-ietf-ccwg-rfc5033bis-00</name>
<t><list style="symbols"> <!--[rfced] We note that there are a number of instances in which an
<t>Added QUIC, other congestion control standards</t> algorithm or a proposed algorithm takes on human abilities.
<t>Added wireless environments</t> Please review the text with this in mind and let us know if any
<t>Aligned motivation for this work with the CCWG charter</t> updates should be made. Some examples below (not exhaustive):
<t>Refined discussion of QuickStart</t>
</list></t>
</section> Original:
<section numbered="false" anchor="since-draft-scheffenegger-congress-rfc5033bis- A proposed congestion control algorithm SHOULD explore...
00"><name>Since draft-scheffenegger-congress-rfc5033bis-00</name>
<t><list style="symbols"> Perhaps:
<t>Renamed file to reflect WG adpotion</t> A proposal for a congestion control algorithm SHOULD explore...
<t>Updated authorship and acknowledgements.</t>
<t>Include updated text suggested by Dave Taht</t>
<t>Added criterion for bufferbloat</t>
<t>Mentioned CUBIC and BBR as motivation</t>
<t>Include section to track updates between revisions</t>
<t>Update references</t>
</list></t>
</section> Original:
<section numbered="false" anchor="since-rfc5033"><name>Since RFC5033</name> A proposed congestion control algorithm ought not to presume...
<t><list style="symbols"> Perhaps:
<t>converted to Markdown and xml2rfc v3</t> Authors of a proposed congestion control algorithm ought not to presume...
<t>various formatting changes.</t>
</list></t>
</section> Original:
</section> A proposed congestion control algorithm MUST clearly explain any
deviations from [RFC2914] and [RFC7141].
<section anchor="contributors" numbered="false" toc="include" removeInRFC="f Perhaps:
alse"> A proposal for a congestion control algorithm MUST clearly explain any
<name>Contributors</name> deviations from [RFC2914] and [RFC7141].
<contact initials="C." surname="Huitema" fullname="Christian Huitema"> -->
<organization>Private Octopus, Inc.</organization>
<address>
<email>huitema@huitema.net</email>
</address>
</contact>
</section>
</back> <!-- [rfced] FYI - We have added expansions for abbreviations upon
first use per Section 3.6 of RFC 7322 ("RFC Style Guide"). Please
review each expansion in the document carefully to ensure
correctness.
<!-- ##markdown-source: Explicit Congestion Notification (ECN)
H4sIAAAAAAAAA7V9627cSJLu/3wKHvWPkYCqast3u89iRpZlt2Z9UUvq8V4w Multipath TCP (MPTCP)
WLCKWVVss8gakiW52jCwD7Ln5fZJTnwRkTeqJKsX2MVi2pLIZGRk3G85Ho9N
X/aVfZntXaztrJxvy3qRfbDX2XFTL2zXl02Nf/ZtU2VH1aJpy3656vZMPp22
9ope42ePk78VzazOV7Rm0ebzflzafj6eza4X43Y+e/Lg0aNp2Y2rvKfVzYz+
Qy9uX2bT2dp0fWvz1cvs9OTyjWmmXVNZeuplhpeMKdfty6xvN13/8MGDFw8e
mpyefpm9tbVt88pcN+3nRdts1i8Jnk9vzWe7pV8VtFrd27a2/fg1wDH0lbwu
/iOvmppA3NrOdKu87f/jH5uGP1Y3Zl2+zP69b2ajrGtagmne0b+2K/zj78Zc
2XpjX5osc1+7ialPBAsQ+RZPZPvY/AG9sMrL6mWGn/4CpEyadoFlCG2b6cuM
8URYwt9/DKgyxuSbftm09MkxPZ5lZU1gvp9krzefLf9CsP2edlHW4be0el6X
v+eAjNDUNIvKZu/eHfMfrcCy4ncmy0lBb/1lgV9OZs2KH6GN0Kq2KPumTT79
dpK9yct2uWnpBMP33zZFa4vBn1Igfq3LK9t2Zb/Nmnl2NLVtYW0dA0TE0G7/
YtvFJJ8W9SSfTTafb0IzA57L6aYfYuV4kv28KXtaLALseNmWdD55nfwtheys
La+IFrOPs75Zb+i8T+vZJAZsKa/+Rf87IYIypm7aFS1wReRgynoe/ZRlr16d
j5kBiALHryezvC2ubVWNy9msXYyJfcYzTzjjmRCOvnd1+IffHD94gJdPjj+M
T+pZvu7kXaapvrsisrKzemzxp/FiUxa2KmsifXrl5/N/efD8JW/ViYLjX1+d
Hr/M8qwm5r48PhvP29LWRbXNluViOe7Wls6Zfp9d5S2htd/jtztLT3VAw8vs
6Ph9dnH69uPZRfZxTezZgxsuth2hrsvO7VVpr0fZVVNNsscPR8Ryk+zJKFuv
J9nTx+Nnj3m5go7jZUas/nz84JmAl7cLS0hZ9j3t78cfi6YEC/14+GByePj4
yY+Hjx+QYHg2wX8PHzzhdzzr8P+N9b9KLRdELbn/lRDLRV4v+tyGPwzeOZ1k
50trB2+d1r/RkcR/Gbz2bpL9y2bw0ruyw0v0e/rDZdNUXXIM/JuMiCrrlzY7
ucqrDRMrWOeiXG0q+YmEWXZJxDClM7mY2ZqOpOkSfO15hOV93rf57LNtJ04A
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
cfx/75CP0AqvAAA=
--> -->
<!-- [rfced] Please review the "Inclusive Language" portion of the
online Style Guide
<https://www.rfc-editor.org/styleguide/part2/#inclusive_language>
and let us know if any changes are needed. Updates of this
nature typically result in more precise language, which is
helpful for readers.
Note that our script did not flag any words in particular, but this
should still be reviewed as a best practice. -->
</rfc> </rfc>
 End of changes. 241 change blocks. 
2301 lines changed or deleted 1425 lines changed or added

This html diff was produced by rfcdiff 1.48.