<?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  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-ietf-ccwg-rfc5033bis-04" category="bcp" consensus="true" submissionType="IETF" obsoletes="5033" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="New CC Algorithms">Specifying New Congestion Control Algorithms</title>

    <author initials="M." surname="Duke" fullname="Martin Duke" role="editor">
      <organization>Google LLC</organization>
      <address>
        <email>martin.h.duke@gmail.com</email>
      </address>
    </author>
    <author initials="G." surname="Fairhurst" fullname="Godred Fairhurst" role="editor">
      <organization>University of Aberdeen</organization>
      <address>
        <email>gorry@erg.abdn.ac.uk</email>
      </address>
    </author>

    <date year="2024" month="April" day="24"/>

    <area>General</area>
    <workgroup>CCWG</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 97?>

<t>Introducing new or modified congestion control algorithms in the global Internet
has possible ramifications to both the flows using the proposed congestion
control algorithms and to flows using a standardized congestion control
algorithm. Therefore, the IETF must proceed with caution when evaluating
proposals for alternate congestion control. The goal of this document is to
provide guidance for considering standardization of a proposed congestion
control algorithm at the IETF. It obsoletes RFC5033 to reflect changes in the
congestion control landscape.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <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 (<eref target="mailto:ccwg@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/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>


  </front>

  <middle>


<?line 108?>

<section anchor="introduction"><name>Introduction</name>

<t>This document provides guidelines for the IETF to use when evaluating a proposed
congestion control algorithm that differs from the general 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 obsoletes <xref target="RFC5033"/>, which was published in 2007 as a Best
Current Practice to evaluate proposed congestion control algorithms as
Experimental or Proposed Standard RFCs.</t>

<t>The IETF's standard congestion control algorithms have performance challenges in
various environments (e.g., high-speed networks, cellular and WiFi wireless
technologies, and long distance satellite links) and also for flOws carrying
specific workloads (Voice over IP (VoIP), gaming, and videoconferencing).</t>

<t>When <xref target="RFC5033"/> was published in 2007, TCP <xref target="RFC9293"/> was the dominant
consumer of this work, and proposals were typically discussed in the Internet
Congestion Control Research Group (ICCRG). The Datagram Congestion Control
Protocol (DCCP) <xref target="RFC4340"/> was developed as a method for defining new
congestion control algorithms for datagram traffic.</t>

<t>Since then, many conditions have changed. The set of protocols using these
algorithms has spread beyond TCP, Stream Control Transmission Protocol (SCTP)
<xref target="RFC9260"/>, and DCCP, to include QUIC <xref target="RFC9000"/>, RTP Media Congestion
Avoidance Techniques (RMCAT) (e.g., <xref target="RFC8836"/>) and beyond.</t>

<t>Some proponents of alternative congestion control algorithms now have the
opportunity to test and deploy at scale without IETF review. There is more
interest in specialized use cases, such as data centers (e.g., <xref target="RFC8257"/>),
and in support for a variety of upper layer protocols/applications, e.g.,
real-time protocols. Finally, the community has gained much more experience
with indications of congestion beyond packet loss.</t>

<t>Multicast congestion control is a considerably less mature field of study and
are not in scope for this document. However, <xref section="4" sectionFormat="of" target="RFC8085"/> provides
additional guidelines for multicast and broadcast usage of UDP.</t>

<t>Congestion control algorithms have been developed outside of the IETF, including
at least two that saw large scale deployment: Cubic <xref target="HRX08"/> and Bottleneck
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"/>, and was then
adopted as the default congestion control algorithm for the TCP implementation
in Linux. It was already used in a 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 <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 project
by Google, with the first implementation contributed to Linux kernel 4.19 in
2016. It was described in an IRTF Internet-Draft in 2018, and that Internet-
Draft is regularly updated to document the evolving versions of the algorithm
<xref target="BBR-draft"/>. BBR is currently widely used for Google services using 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"/> expected that
developers would be somehow 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, specifying congestion control algorithms has a number of
advantages:</t>

<t><list style="symbols">
  <t>A specification can help implementers, operators, and other interested parties
develop a shared understanding of how the algorithm works and how it is
expected to behave in various scenarios and configurations.</t>
  <t>A specification 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>
  <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 serve
as a reminder to potential inventors and developers of the multiple facets of
the congestion control problem.</t>

<t>The evaluation guidelines in this document are intended to be consistent with
the congestion control principles from <xref target="RFC2914"/> of preventing congestion
collapse, considering fairness, and optimizing a flow's own performance in terms
of throughput, delay, and loss. <xref target="RFC2914"/> also discusses the goal of avoiding
a congestion control "arms race" among competing transport protocols.</t>

<t>This document does not give hard-and-fast requirements for an appropriate
congestion control algorithm. Rather, the document provides a set of criteria
that should be considered and weighed by the developers of alternative
algorithms and by the IETF in the context of each proposal.</t>

<t>The high-order criterion for advancing any proposal within the IETF is a serious
scientific study of the pros and cons that occurs when the proposal is
considered for publication by the IETF, or before it is deployed at large scale.</t>

<t>After initial studies, authors are encouraged to write a specification of their
proposal for publication in the RFC series. This allows others to understand and
investigate the wealth of proposals in this space.</t>

<t>This document is intended to reduce the barriers to entry for new congestion
control work to the IETF. As such, proponents of new congestion control
algorithms ought not to interpret these criteria as a 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>
<section anchor="guidelines-for-authors-about-document-status"><name>Guidelines for Authors about Document Status</name>

<t>This document applies to proposed congestion control algorithms proposals that
seek Experimental or Standards Track status. Evaluation of both cases involves
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 SHOULD seek Experimental status. Congestion control algorithms with a
record of measured Internet-scale deployment MAY directly seek the Standards
Track if there is solid data that reflects that it 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>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>Each published congestion control algorithm is REQUIRED 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 published algorithm is also required 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 <em>safe</em> for use, but it is still is <em>not recommended</em> for use because it
does not perform well for the user.</t>

<t>As examples of such statements, <xref target="RFC3649"/> specifies HighSpeed TCP and
includes a statement in the abstract stating that the proposed congestion
control algorithm is Experimental, but may be deployed in the Internet. In
contrast, the Quick-Start document <xref target="RFC4782"/> includes a paragraph 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 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>Alhough out of the scope of this document, proponents of a new algorithm could
alternatively seek publication as an Informational or Experimental RFC via the
Internet Research Task Force (IRTF). In general, these algorithms are expected
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 publish as an Informational RFC via the
Independent Stream Editor (ISE).</t>

</section>
<section anchor="controlled-environments"><name>Specifying Algorithms for Use in Controlled Environments</name>

<t>Algorithms can be designed for general Internet deployment or for use in
controlled environments <xref target="RFC8799"/>. An operator can ensure that flows within a
controlled environment are isolated from other Internet flows, or they might
allow these flows to share resources with other Internet flows. Algorithms that
rely on specific functions or configurations in a network need to provide a
reference or specification for these functions (an RFC or another stable
specification). The IETF will need to assess whether the relevant working group
is able to review the proposed new algorithm and whether there is sufficient
experience to understand any dependent functions.</t>

<t>A data center is an example of a controlled environment, which often deploys
fabrics with rich signalling from switches to endpoints.</t>

<t>In evaluating a new proposal for use in a controlled environment, the IETF needs
to understand the usage, e.g., how the usage is scoped to the 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>
<section anchor="evaluation-criteria"><name>Evaluation Criteria</name>

<t>As noted above, authors are expected to do a well-rounded evaluation of the pros
and cons of congestion control algorithms that are brought to the IETF. The
following guidelines are designed to help authors and the IETF community.
Concerns that fall outside the scope of these guidelines are certainly possible;
these guidelines should not be considered an all-encompassing check-list.</t>

<t>When considering a proposed congestion control algorithm, the community MUST
consider the following criteria. These criteria will be evaluated in various
domains (see <xref target="general-use"/> and <xref target="special-cases"/>).</t>

<section anchor="single-algorithm-behavior"><name>Single Algorithm Behavior</name>

<t>The criteria in this section evaluate the congestion control 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="protection-against-congestion-collapse"><name>Protection Against Congestion Collapse</name>

<t>A congestion control algorithm should either stop sending when the packet drop
rate exceeds some threshold <xref target="RFC3714"/>, or should 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 and then exponentially backoff
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 be
identical to that of TCP (<xref target="RFC2988"/>, <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>
<section anchor="protection-against-bufferbloat"><name>Protection Against Bufferbloat</name>

<t>A congestion control algorithm should try to avoid maintaining excessive queues
in the network. Exactly how the algorithm achieves this is algorithm-specific,
but see <xref target="RFC8961"/> and <xref target="RFC8085"/> for requirements.</t>

<t>Bufferbloat <xref target="Bufferbloat"/> refers to the building of excessive queues in the
network. Many network routers are configured with very large buffers. The
standards-track Reno <xref target="RFC5681"/> and Cubic <xref target="RFC9438"/> 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 not address
it, but a new congestion control algorithm has the opportunity to improve the
state of the art.</t>

</section>
<section anchor="protection-against-high-packet-loss"><name>Protection Against High Packet Loss</name>

<t>A congestion control algorithm should try to avoid causing 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>The first version of the BBR algorithm <xref target="BBRv1-draft"/> failed this requirement.
Experimental evaluation <xref target="BBRv1-Evaluation"/> showed that it caused a sustained
rate of packet loss when multiple BBRv1 flows shared a bottleneck and the buffer
size was less than roughly one and a half BDP. This was unsatisfactory, and
indeed further versions of BBR <xref target="BBR-draft"/> fixed it.</t>

<t>This requirement does not imply that the algorithm should react to packet losses
in exactly the same way as current standards-track congestion control algorithms
(e.g., <xref target="RFC5681"/>).</t>

</section>
<section anchor="fairness-within-the-proposed-congestion-control-algorithm"><name>Fairness within the Proposed Congestion Control Algorithm</name>

<t>When multiple competing flows all use the same proposed congestion control
algorithm, the proposal should explore how the capacity is shared among the
competing flows. Capacity fairness can be important when a small number of
similar flows compete to fill a bottleneck. However, it can also not be useful,
for example, when 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 anchor="short-flows"><name>Short Flows</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. If flows
never experience a packet loss, many short-lived flows today remain in the "slow
start" mode of operation <xref target="RFC5681"/> that commonly features exponential
congestion window growth.</t>

<t>A proposed congestion control algorithm MUST consider how new and short-lived
flows affect long-lived flows, and vice versa.</t>

</section>
</section>
<section anchor="mixed-algorithm-behavior"><name>Mixed Algorithm Behavior</name>

<t>Mixed algorithm behavior criteria evaluate the interaction of the proposed
congestion control algorithm with commonly deployed 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 previous standards-track algorithms (e.g.,
<xref target="RFC5681"/>, <xref target="RFC9002"/>, <xref target="RFC9438"/>) to flows sharing a common bottleneck.
The measure of harm is not restricted to unequal capacity, but ought also to
consider metrics such as the introduced latency, or an increase in packet loss.
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-transports"><name>Existing General-Purpose Transports</name>

<t>A proposed congestion control algorithm SHOULD be evaluated when competing using
standard IETF congestion controls, e.g. <xref target="RFC5681"/>, <xref target="RFC9002"/>,
<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>

<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 specified as Experimental, that is not TCP-
friendly 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 non-best-effort flows.</t>

<t>As an example from an Experimental RFC, fairness with standard TCP is discussed
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>
<section anchor="real-time-protocols"><name>Real-Time Protocols</name>

<t>General-purpose protocols need to coexist in the Internet with real-time
congestion control algorithms, which, in general, have finite throughput
requirements (i.e., do not seek to utilize all available capacity) and more
strict latency bounds.</t>

<t><xref target="RFC8868"/> provides suggestions for real-time congestion control design and
<xref target="RFC8867"/> suggests test cases. <xref target="RFC9392"/> describes some considerations
for the RTP Control Protocol (RTCP). In particular, feedback for real-time flows
can be less frequent than the acknowledgements provided by reliable transports.
This document does not change the informational status of those RFCs.</t>

<t>A proposed congestion control algorithm SHOULD consider coexistence with widely
deployed real-time congestion 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>To the extent that behavior of widely deployed algorithms is understood,
proponents of a proposed congestion control algorithm can analyze and simulate
its interaction with those algorithms. To the extent they are not, experiments
can be conducted where possible.</t>

<t>Real-time flows can be directed into distinct queues via Differentiated Services
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 circuit breaker
algorithms. <xref target="RFC8083"/> also defines a minimal set of RTP circuit breakers that
operate across a path. This identifies conditions under which a 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>
<section anchor="short-and-long-flows"><name>Short and Long Flows</name>

<t>The effect on short-lived and long-lived flows using other common congestion
control algorithms MUST be evaluated, as in <xref target="short-flows"/>.</t>

</section>
</section>
<section anchor="other-criteria"><name>Other Criteria</name>

<section anchor="differences-with-congestion-control-principles"><name>Differences with Congestion Control Principles</name>

<t>A proposed congestion control algorithm SHOULD include a clear
explanation of any deviations from <xref target="RFC2914"/> and <xref target="RFC7141"/>.</t>

</section>
<section anchor="incremental-deployment"><name>Incremental Deployment</name>

<t>The proposed congestion control algorithm ought to discuss whether it allows for
incremental deployment in the targeted environment. For a mechanism targeted for
deployment in the current Internet, it would be helpful for the proposal to
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 should
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
Sections 10.3 and 10.4 of <xref target="RFC4782"/> (Quick-Start).</t>

</section>
</section>
</section>
<section anchor="general-use"><name>General Use</name>

<t>The criteria in <xref target="evaluation-criteria"/> will be evaluated in the following
scenarios. Unless a proposed congestion control specification explicitly forbids
use on the public Internet, the community MUST find that it meets the 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
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 Internet
conditions. In the case that a proposed congestion control algorithm has been
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>

<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) MUST be evaluated. See <xref target="aqm"/> for evaluation of other queue
disciplines.</t>

</section>
<section anchor="tunnel-behavior"><name>Tunnel Behavior</name>

<t>When a proposed congestion control algorithm relies on explicit signals from the
path, the proposal MUST consider the effect of traffic passing through a tunnel,
where routers may not be aware of the flow.</t>

</section>
<section anchor="wired-paths"><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
bandwidth, 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 anchor="wireless-paths"><name>Wireless Paths</name>

<t>While the early Internet was dominated by wired links, the properties of
wireless links have become extremely 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="Tools"/> for further
discussion of wireless properties.</t>

</section>
</section>
<section anchor="special-cases"><name>Special Cases</name>

<t>The criteria in <xref target="evaluation-criteria"/> will be evaluated in the following
scenarios, unless the proposed congestion control algorithm specifically
excludes its use in a scenario. For these specific use-cases, the community MAY
allow a proposal to progress even if the criteria indicate an unsatisfactory
result for these scenarios.</t>

<t>In general, measurements from Internet-scale deployments might not expose the
properties of operation in each of these scenarios, because they are not as
ubiquitous as the General Use scenarios.</t>

<section anchor="aqm"><name>Active Queue Management (AQM)</name>

<t>The proposed congestion control algorithm SHOULD 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>Among the AQM techniques that might have an impact on a proposed congestion
control algorithm are FQ-CoDel <xref target="RFC8290"/>; Proportional 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
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 <xref target="RFC8087"/>. Use of ECN <xref target="RFC3168"/>, <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>Note that evaluation of AQM techniques -- as opposed to their impact on a
specific proposed congestion control algorithm -- is out of scope of this
document. <xref target="RFC7567"/> describes design considerations for AQMs.</t>

<section anchor="circuit-breakers"><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, and 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, and therefore will operate
within the envelope set by network transport circuit breaker algorithms.</t>

</section>
</section>
<section anchor="delay"><name>Paths with Varying Delay</name>

<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 non-
stationary minimum delay.</t>

<t>This occurs when a subnet changes the forwarding path to optimise 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 the physical layer changes its mode of operation).
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
operation is robust when there is a significant change in the minimum delay.</t>

</section>
<section anchor="internet-of-things"><name>Internet of Things</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.</t>

<t>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>

<t>Furthermore, many IoT applications do not a have a human in the loop, and
therefore can have weaker latency constraints because they do not relate to a
user experience. They mightt still need to share the path with other flows with
different constraints.</t>

<t>Extremely low-power links can lead to very low throughput and a low bandwidth-
delay product, well below the standard operating range of most Internet flows.</t>

</section>
<section anchor="paths-with-high-delay"><name>Paths with High Delay</name>

<t>A proposed congestion control algorithm ought not to presume that all general
Internet paths have a low delay. Some paths include links that contibute much
more delay than for a typical Internet path. Satellite links often have delays
longer than typical for wired paths <xref target="RFC2488"/> and high delay bandwidth
products <xref target="RFC3649"/>.</t>

<t>They can also have variable delay as described in <xref target="delay"/>.</t>

</section>
<section anchor="misbehaving-nodes"><name>Misbehaving Nodes</name>

<t>A proposed congestion control algorithm should explore how the algorithm
performs with non-compliant senders, receivers, or routers.  In addition, the
proposal should explore how a proposed congestion control algorithm performs
with outside attackers.  This can be particularly important for proposed
congestion control algorithms that involve explicit feedback from routers along
the path.</t>

<t>As an example from an Experimental RFC, performance with misbehaving nodes and
outside attackers is discussed in Sections 9.4, 9.5, and 9.6 of <xref target="RFC4782"/>.
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="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>
<section anchor="transient-events"><name>Transient Events</name>

<t>A proposed congestion control algorithm SHOULD consider how the proposed
congestion control algorithm would perform in the presence of transient events
such as sudden onset of congestion, a routing change, or a mobility event.
Routing changes, link disconnections, intermittent link connectivity, and
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
discussed in <xref section="9.2" sectionFormat="of" target="RFC4782"/>.</t>

<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 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>
</section>
<section anchor="multipath-transport"><name>Multipath Transport</name>

<t>Multipath transport protocols permit more than one path to be differentiated 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 resulting from a change in the path, and show that 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
simultaneously schedules a flow to aggregate the capacity across multiple paths.</t>

<t>The Internet provides no guarantee that different paths (e.g., using different
endpoint addresses) are disjoint. This has additional implications. A congestion
control algorithm proposal MUST 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). It
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 for
concurrent multipath, but there is an Experimental RFC <xref target="RFC6356"/> that
specifies a concurrent multipath congestion control algorithm for MPTCP
<xref target="RFC8684"/>.</t>

</section>
<section anchor="data-centers"><name>Data Centers</name>

<t>Data centers are characterized by very low latencies (&lt; 2 ms). Many workloads
involve bursty traffic where many nodes complete a task at the same time. As a
controlled environment, data centers often deploy fabrics that employ rich
signalling from switches to endpoints. Furthermore, the operator can often limit
the number of operating congestion control algorithms.</t>

<t>For these reasons, data center congestion controls are often distinct from those
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>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>This document does not represent a change to any aspect of the TCP/IP protocol
suite and therefore does not directly impact Internet security.  The
implementation of various facets of the Internet's current congestion control
algorithms do have security implications (e.g., as outlined in <xref target="RFC5681"/>).</t>

<t>The IETF process that results in publication needs to ensure that these security
implications are considered. Proposed congestion control algorithms therefore
ought to be mindful of pitfalls, and should examine any potential security
issues that may arise.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor="RFC2914">
  <front>
    <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. 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="41"/>
  <seriesInfo name="RFC" value="2914"/>
  <seriesInfo name="DOI" value="10.17487/RFC2914"/>
</reference>

<reference anchor="RFC8085">
  <front>
    <title>UDP Usage Guidelines</title>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="G. Shepherd" initials="G." surname="Shepherd"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms. This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other 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 Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
      <t>Because congestion control is critical to the stable operation of the Internet, 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 implement 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 these 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">
  <front>
    <title>CUBIC for Fast and Long-Distance Networks</title>
    <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 scalability and stability over fast and long-distance networks. CUBIC has been adopted as the default TCP congestion control algorithm by the Linux, Windows, and Apple 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 specification to the Standards Track and obsoletes RFC 8312. This document also updates RFC 5681, to allow for CUBIC's occasionally more aggressive sending behavior.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9438"/>
  <seriesInfo name="DOI" value="10.17487/RFC9438"/>
</reference>

<reference anchor="RFC8961">
  <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 ensure 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 confirmation to declare a packet "lost". Each implementation of a time-based loss detection mechanism represents a balance between correctness and timeliness; therefore, no implementation suits all situations. This document provides high-level requirements for time-based loss detectors appropriate for general use in unicast communication across the Internet. Within the requirements, implementations have 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">
  <front>
    <title>TCP Congestion Control</title>
    <author fullname="M. Allman" initials="M." surname="Allman"/>
    <author fullname="V. Paxson" initials="V." surname="Paxson"/>
    <author fullname="E. Blanton" initials="E." surname="Blanton"/>
    <date month="September" year="2009"/>
    <abstract>
      <t>This document defines TCP's four intertwined congestion control algorithms: slow start, congestion avoidance, fast retransmit, and fast recovery. In addition, the document specifies how TCP should begin transmission after a relatively long idle period, as well as discussing various acknowledgment generation methods. 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">
  <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 mechanisms for QUIC.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9002"/>
  <seriesInfo name="DOI" value="10.17487/RFC9002"/>
</reference>

<reference anchor="RFC8083">
  <front>
    <title>Multimedia Congestion Control: Circuit Breakers for Unicast RTP Sessions</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, video conferencing, and telepresence applications. Such applications are often run on best-effort UDP/IP networks. If congestion control is not implemented in these applications, then network congestion can lead to uncontrolled packet loss and a resulting deterioration of the user's multimedia experience. The congestion control algorithm acts as a safety measure by stopping RTP flows from using excessive resources and protecting the network from overload. At the time of this writing, however, while there are several proprietary solutions, there is no standard algorithm for congestion control of interactive RTP flows.</t>
      <t>This document does not propose a congestion control algorithm. It instead 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 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. To avoid triggering the RTP circuit breaker, any Standards Track congestion control algorithms defined for RTP will need to operate within the envelope set by these RTP circuit breaker algorithms.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8083"/>
  <seriesInfo name="DOI" value="10.17487/RFC8083"/>
</reference>

<reference anchor="RFC7141">
  <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 dropping or marking packets using any active queue management (AQM) algorithm, including Random Early Detection (RED), BLUE, Pre- Congestion Notification (PCN), and newer schemes such as CoDel (Controlled Delay) and PIE (Proportional Integral controller Enhanced). We give three strong recommendations: (1) packet size should be taken into account when transports detect and respond to congestion indications, (2) packet size should not be taken into account when network equipment creates 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 preferential 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">
  <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 Circuit Breaker". It describes the need for Circuit Breakers (CBs) for network tunnels 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>

    <references title='Informative References'>




<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 recent
   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>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion-control-02"/>
   
</reference>


<reference anchor="BBRv1-draft">
   <front>
      <title>BBR Congestion Control</title>
      <author fullname="Neal Cardwell" initials="N." surname="Cardwell">
         <organization>Google, Inc</organization>
      </author>
      <author fullname="Yuchung Cheng" initials="Y." surname="Cheng">
         <organization>Google, Inc</organization>
      </author>
      <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>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-cardwell-iccrg-bbr-congestion-control-00"/>
   
</reference>


<reference anchor="HRX08" target="https://doi.org/10.1145/1400097.1400105">
  <front>
    <title>CUBIC: a new TCP-friendly high-speed TCP variant</title>
    <author initials="S." surname="Ha" fullname="Sangtae Ha">
      <organization></organization>
    </author>
    <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-tmrg-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=2071893">
  <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/document/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">
  <front>
    <title>Specifying New Congestion Control Algorithms</title>
    <author fullname="S. Floyd" initials="S." surname="Floyd"/>
    <author fullname="M. Allman" initials="M." surname="Allman"/>
    <date month="August" year="2007"/>
    <abstract>
      <t>The IETF's standard congestion control schemes have been widely shown to be inadequate for various environments (e.g., high-speed networks). Recent research has yielded many alternate congestion control schemes that significantly differ from the IETF's congestion control principles. Using these new congestion control schemes in the global Internet has possible ramifications to both the traffic using the new congestion control and to traffic using the currently standardized congestion control. Therefore, the IETF must proceed with caution when dealing with alternate congestion control proposals. The goal of this document is to provide guidance for considering alternate congestion control algorithms within 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="RFC9293">
  <front>
    <title>Transmission Control Protocol (TCP)</title>
    <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
    <date month="August" year="2022"/>
    <abstract>
      <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="7"/>
  <seriesInfo name="RFC" value="9293"/>
  <seriesInfo name="DOI" value="10.17487/RFC9293"/>
</reference>

<reference anchor="RFC4340">
  <front>
    <title>Datagram Congestion Control Protocol (DCCP)</title>
    <author fullname="E. Kohler" initials="E." surname="Kohler"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="S. Floyd" initials="S." surname="Floyd"/>
    <date month="March" year="2006"/>
    <abstract>
      <t>The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides bidirectional unicast connections of congestion-controlled unreliable datagrams. DCCP is suitable for applications that transfer fairly large amounts of data and that can benefit from control over the tradeoff between timeliness and reliability. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4340"/>
  <seriesInfo name="DOI" value="10.17487/RFC4340"/>
</reference>

<reference anchor="RFC9260">
  <front>
    <title>Stream Control Transmission Protocol</title>
    <author fullname="R. Stewart" initials="R." surname="Stewart"/>
    <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
    <author fullname="K. Nielsen" initials="K." surname="Nielsen"/>
    <date month="June" year="2022"/>
    <abstract>
      <t>This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960. It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document.</t>
      <t>SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
      <t>SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
      <t>The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9260"/>
  <seriesInfo name="DOI" value="10.17487/RFC9260"/>
</reference>

<reference anchor="RFC9000">
  <front>
    <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
    <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
    <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
    <date month="May" year="2021"/>
    <abstract>
      <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9000"/>
  <seriesInfo name="DOI" value="10.17487/RFC9000"/>
</reference>

<reference anchor="RFC8836">
  <front>
    <title>Congestion Control Requirements for Interactive Real-Time Media</title>
    <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 Internet, in order to promote fair usage and prevent congestion collapse. The requirements for interactive, point-to-point real-time multimedia, which needs low-delay, semi-reliable data delivery, are different from the requirements for bulk transfer 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 ensure that this kind of traffic is congestion controlled.</t>
      <t>This document describes a set of requirements that can be used to evaluate 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="RFC8257">
  <front>
    <title>Data Center TCP (DCTCP): TCP Congestion Control for Data Centers</title>
    <author fullname="S. Bensley" initials="S." surname="Bensley"/>
    <author fullname="D. Thaler" initials="D." surname="Thaler"/>
    <author fullname="P. Balasubramanian" initials="P." surname="Balasubramanian"/>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <author fullname="G. Judd" initials="G." surname="Judd"/>
    <date month="October" year="2017"/>
    <abstract>
      <t>This Informational RFC describes Data Center TCP (DCTCP): a TCP congestion control scheme for data-center traffic. DCTCP extends the Explicit Congestion Notification (ECN) processing to estimate the fraction of bytes that encounter congestion rather than simply detecting that some congestion has occurred. DCTCP then scales the TCP congestion window based on this estimate. This method achieves high-burst tolerance, low latency, and high throughput with shallow- buffered switches. This memo also discusses deployment issues related to the coexistence of DCTCP and conventional TCP, discusses the lack of a negotiating mechanism between sender and receiver, and presents some possible mitigations. This memo documents DCTCP as currently implemented by several major operating systems. DCTCP, as described in this specification, is applicable to deployments in controlled environments like data centers, but it must not be deployed over the public Internet without additional measures.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8257"/>
  <seriesInfo name="DOI" value="10.17487/RFC8257"/>
</reference>

<reference anchor="RFC8312">
  <front>
    <title>CUBIC for Fast Long-Distance Networks</title>
    <author fullname="I. Rhee" initials="I." surname="Rhee"/>
    <author fullname="L. Xu" initials="L." surname="Xu"/>
    <author fullname="S. Ha" initials="S." surname="Ha"/>
    <author fullname="A. Zimmermann" initials="A." surname="Zimmermann"/>
    <author fullname="L. Eggert" initials="L." surname="Eggert"/>
    <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 side. 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 provides a specification of CUBIC to enable third-party implementations and to solicit 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="RFC3649">
  <front>
    <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 deployed 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 alternative experimental proposals are likely to be forthcoming, and it is not well understood how the proposals in this document will interact with such alternative proposals. This document proposes HighSpeed TCP, a modification to TCP's congestion control mechanism for use with TCP connections with large congestion windows. The congestion control mechanisms of the current Standard TCP constrains the congestion windows that can be achieved by TCP in realistic environments. For example, 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 average congestion window of 83,333 segments, and a packet drop rate of at most one congestion event every 5,000,000,000 packets (or equivalently, at most one congestion event every 1 2/3 hours). This is widely acknowledged as an unrealistic constraint. 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">
  <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 protocols, 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 unused 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-access layer- two networks. This document also describes environments where the Quick-Start process could fail with false positives, with the sender incorrectly assuming 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 and seeming absence of motivation for routers, such as core routers to deploy Quick-Start, Quick-Start is being proposed as a mechanism that could be of use in controlled environments, and not as a mechanism that would be intended or appropriate for ubiquitous deployment in the global Internet. This memo defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4782"/>
  <seriesInfo name="DOI" value="10.17487/RFC4782"/>
</reference>

<reference anchor="RFC9049">
  <front>
    <title>Path Aware Networking: Obstacles to Deployment (A Bestiary of Roads Not 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 which were unsuccessful or at most partially successful, in order to extract insights 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">
  <front>
    <title>Limited Domains and Internet Protocols</title>
    <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
    <author fullname="B. Liu" initials="B." surname="Liu"/>
    <date month="July" year="2020"/>
    <abstract>
      <t>There is a noticeable trend towards network behaviors and semantics that are specific to a particular set of requirements applied within a limited region of the Internet. Policies, default parameters, the options supported, the style of network management, and security requirements may vary between such limited regions. This document reviews examples of such limited domains (also known as controlled environments), notes emerging solutions, and includes a related taxonomy. It then briefly discusses the standardization of protocols for limited domains. Finally, it shows the need for a precise definition of "limited domain membership" 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 been produced through discussions and consultation within the IETF but is not the product 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 Internet</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 congestion control for best-effort voice traffic in the Internet. These concerns have to do with fairness, user quality, and with the dangers of congestion collapse. The concerns are particularly relevant in light of the absence of a widespread Quality 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 relied upon to give acceptable performance for VoIP. We are merely observing that voice 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 this best-effort voice traffic. This memo provides information for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3714"/>
  <seriesInfo name="DOI" value="10.17487/RFC3714"/>
</reference>

<reference anchor="RFC2988">
  <front>
    <title>Computing TCP's Retransmission Timer</title>
    <author fullname="V. Paxson" initials="V." surname="Paxson"/>
    <author fullname="M. Allman" initials="M." surname="Allman"/>
    <date month="November" year="2000"/>
    <abstract>
      <t>This document defines the standard algorithm that Transmission Control Protocol (TCP) senders are required to use to compute and manage their retransmission timer. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="2988"/>
  <seriesInfo name="DOI" value="10.17487/RFC2988"/>
</reference>

<reference anchor="RFC8868">
  <front>
    <title>Evaluating Congestion Control for Interactive Real-Time Media</title>
    <author fullname="V. Singh" initials="V." surname="Singh"/>
    <author fullname="J. Ott" initials="J." surname="Ott"/>
    <author fullname="S. Holmer" initials="S." surname="Holmer"/>
    <date month="January" year="2021"/>
    <abstract>
      <t>The Real-Time Transport Protocol (RTP) is used to transmit media in telephony and video conferencing applications. This document describes the guidelines to evaluate new congestion control algorithms for interactive point-to-point real-time media.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8868"/>
  <seriesInfo name="DOI" value="10.17487/RFC8868"/>
</reference>

<reference anchor="RFC8867">
  <front>
    <title>Test Cases for Evaluating Congestion Control for Interactive Real-Time 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 multimedia telephony applications. These applications are typically required to implement 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">
  <front>
    <title>Sending RTP Control Protocol (RTCP) Feedback for Congestion Control in 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 be sent using the RTP Control Protocol (RTCP) and the suitability of RTCP for implementing 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">
  <front>
    <title>Advice for Internet Subnetwork Designers</title>
    <author fullname="P. Karn" initials="P." role="editor" surname="Karn"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="D. Grossman" initials="D." surname="Grossman"/>
    <author fullname="R. Ludwig" initials="R." surname="Ludwig"/>
    <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
    <author fullname="G. Montenegro" initials="G." surname="Montenegro"/>
    <author fullname="J. Touch" initials="J." surname="Touch"/>
    <author fullname="L. Wood" initials="L." surname="Wood"/>
    <date month="July" year="2004"/>
    <abstract>
      <t>This document provides advice to the designers of digital communication equipment, link-layer protocols, and packet-switched local networks (collectively referred to as subnetworks), who wish to support the Internet protocols but may be unfamiliar with the Internet architecture and the implications of their design choices on the performance and efficiency of the Internet. 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="89"/>
  <seriesInfo name="RFC" value="3819"/>
  <seriesInfo name="DOI" value="10.17487/RFC3819"/>
</reference>

<reference anchor="RFC8290">
  <front>
    <title>The Flow Queue CoDel Packet Scheduler and Active Queue Management Algorithm</title>
    <author fullname="T. Hoeiland-Joergensen" initials="T." surname="Hoeiland-Joergensen"/>
    <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 Queue Management (AQM) algorithm, a powerful tool for fighting bufferbloat and reducing latency.</t>
      <t>FQ-CoDel mixes packets from multiple flows and reduces the impact of head-of-line blocking from bursty traffic. It provides isolation for low-rate traffic such as DNS, web, and videoconferencing traffic. It improves utilisation across the networking fabric, especially for bidirectional traffic, by keeping queue lengths short, and it can be implemented in a memory- and CPU-efficient fashion 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">
  <front>
    <title>Proportional Integral Controller Enhanced (PIE): A Lightweight Control Scheme to Address the Bufferbloat Problem</title>
    <author fullname="R. Pan" initials="R." surname="Pan"/>
    <author fullname="P. Natarajan" initials="P." surname="Natarajan"/>
    <author fullname="F. Baker" initials="F." surname="Baker"/>
    <author fullname="G. White" initials="G." surname="White"/>
    <date month="February" year="2017"/>
    <abstract>
      <t>Bufferbloat is a phenomenon in which excess buffers in the network cause high latency and latency variation. As more and more interactive applications (e.g., voice over IP, real-time video streaming, and financial transactions) run in the Internet, high latency and latency variation degrade application performance. There is a pressing need to design intelligent queue management schemes that can control latency and latency variation, and hence provide desirable quality of service to users.</t>
      <t>This document presents a lightweight active queue management design called "PIE" (Proportional Integral controller Enhanced) that can effectively control the average queuing latency to a target value. Simulation results, theoretical analysis, and Linux testbed results have shown that PIE can ensure low latency and achieve high link utilization under various congestion situations. The design 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">
  <front>
    <title>Dual-Queue Coupled Active Queue Management (AQM) for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
    <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
    <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
    <author fullname="G. White" initials="G." surname="White"/>
    <date month="January" year="2023"/>
    <abstract>
      <t>This specification defines a framework for coupling the Active Queue Management (AQM) algorithms in two queues intended for flows with different responses to congestion. This provides a way for the Internet to transition from the scaling problems of standard TCP-Reno-friendly ('Classic') congestion controls to the family of 'Scalable' congestion controls. These are designed for consistently very low queuing latency, very low congestion loss, and scaling of per-flow throughput by using Explicit Congestion Notification (ECN) in a modified way. Until the Coupled Dual Queue (DualQ), these Scalable L4S congestion controls could only be deployed where a clean-slate environment could be arranged, such as in private data centres.</t>
      <t>This specification first explains how a Coupled DualQ works. It then gives 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 AQMs are given in appendices.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9332"/>
  <seriesInfo name="DOI" value="10.17487/RFC9332"/>
</reference>

<reference anchor="RFC8087">
  <front>
    <title>The Benefits of Using Explicit Congestion Notification (ECN)</title>
    <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
    <author fullname="M. Welzl" initials="M." surname="Welzl"/>
    <date month="March" year="2017"/>
    <abstract>
      <t>The goal of this document is to describe the potential benefits of applications using a transport that enables Explicit Congestion Notification (ECN). The document outlines the principal gains in terms of increased throughput, reduced delay, and other benefits when ECN is used over a network path that includes equipment that supports Congestion Experienced (CE) marking. It also discusses challenges for successful deployment of ECN. It does not propose new algorithms to use ECN nor does it describe the details of implementation of ECN in endpoint devices (Internet hosts), routers, or other network devices.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8087"/>
  <seriesInfo name="DOI" value="10.17487/RFC8087"/>
</reference>

<reference anchor="RFC3168">
  <front>
    <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 Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="3168"/>
  <seriesInfo name="DOI" value="10.17487/RFC3168"/>
</reference>

<reference anchor="RFC7567">
  <front>
    <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="Fairhurst"/>
    <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 recommendation for testing, standardization, and widespread deployment of active queue management (AQM) in network devices to improve the performance of today's Internet. It also urges a concerted effort of research, measurement, and ultimate deployment of AQM mechanisms to protect the Internet from flows that are not sufficiently responsive to congestion notification.</t>
      <t>Based on 15 years of experience and new research, this document replaces 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">
  <front>
    <title>Enhancing TCP Over Satellite Channels using Standard Mechanisms</title>
    <author fullname="M. Allman" initials="M." surname="Allman"/>
    <author fullname="D. Glover" initials="D." surname="Glover"/>
    <author fullname="L. Sanchez" initials="L." surname="Sanchez"/>
    <date month="January" year="1999"/>
    <abstract>
      <t>The Transmission Control Protocol (TCP) provides reliable delivery of data across any network path, including network paths containing satellite channels. While TCP works over satellite channels there are several IETF standardized mechanisms that enable TCP to more effectively utilize the available capacity of the network path. This document outlines some of these TCP mitigations. 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="28"/>
  <seriesInfo name="RFC" value="2488"/>
  <seriesInfo name="DOI" value="10.17487/RFC2488"/>
</reference>

<reference anchor="RFC4653">
  <front>
    <title>Improving the Robustness of TCP to Non-Congestion Events</title>
    <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 arrival of three duplicate acknowledgments. However, this heuristic is not always correct, notably in the case when network paths reorder segments (for whatever reason), resulting in degraded performance. TCP-NCR is designed to mitigate this degraded performance by increasing the number of duplicate acknowledgments required to trigger loss recovery, based on the current state of the connection, in an effort to better disambiguate true segment loss from segment reordering. This document specifies the changes to TCP, as well as the costs and benefits of these modifications. This memo defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4653"/>
  <seriesInfo name="DOI" value="10.17487/RFC4653"/>
</reference>

<reference anchor="RFC6356">
  <front>
    <title>Coupled Congestion Control for Multipath Transport Protocols</title>
    <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <author fullname="D. Wischik" initials="D." surname="Wischik"/>
    <date month="October" year="2011"/>
    <abstract>
      <t>Often endpoints are connected by multiple paths, but communications are usually restricted to a single path per connection. Resource usage within the network would be more efficient were it possible for these multiple paths to be used concurrently. Multipath TCP is a proposal to achieve multipath transport in TCP.</t>
      <t>New congestion control algorithms are needed for multipath transport protocols 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 existing algorithms such as standard TCP independently on each path would give the multipath 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, achieving a property called "resource pooling" where a bundle of links effectively behaves like one shared link with bigger capacity. This would increase the overall 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 increase functions, and dynamically controls the overall aggressiveness of the multipath flow. The result is a practical algorithm that is fair to TCP at bottlenecks while moving traffic away from congested links. This document defines an Experimental Protocol for the Internet community.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6356"/>
  <seriesInfo name="DOI" value="10.17487/RFC6356"/>
</reference>

<reference anchor="RFC8684">
  <front>
    <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
    <author fullname="A. Ford" initials="A." surname="Ford"/>
    <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
    <author fullname="M. Handley" initials="M." surname="Handley"/>
    <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 connection, yet multiple paths often exist between peers. The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and thus improve user experience through higher throughput and improved resilience 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 applications as TCP (i.e., a reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.</t>
      <t>This document specifies v1 of Multipath TCP, obsoleting v0 as specified in RFC 6824, through clarifications and modifications primarily driven by deployment experience.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8684"/>
  <seriesInfo name="DOI" value="10.17487/RFC8684"/>
</reference>

<reference anchor="RFC5166">
  <front>
    <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 of 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 documents aimed at improving the models that we use in the evaluation of transport protocols.</t>
      <t>This document is a product of the Transport Modeling Research Group (TMRG), 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 between throughput and delay, fairness between competing flows, and the like. However, we believe that there is a clear consensus that congestion control mechanisms should be evaluated in terms of trade-offs between a range of metrics, rather than 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>


<?line 751?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

<t>Sally Floyd and Mark Allman were the authors of this document's predecessor,
<xref target="RFC5033"/>, which served the community well for over a decade.</t>

<t>Thanks to Richard Scheffenegger for helping to get this revision process
started.</t>

<t>The editors would like to thank Mohamed Boucadair, Neal Cardwell, Reese
Enghardt, Jonathan Lennox, Matt Mathis, Dave Taht, 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
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>
<section numbered="false" anchor="evolution-of-rfc5033bis"><name>Evolution of RFC5033bis</name>

<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-03"><name>Since draft-ietf-ccwg-rfc5033bis-03</name>
<t><list style="symbols">
  <t>Harmonised the "proposed congestion control algorithm"</t>
  <t>addressed issues.</t>
</list></t>

</section>
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-02"><name>Since draft-ietf-ccwg-rfc5033bis-02</name>

<t><list style="symbols">
  <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>
<section numbered="false" anchor="since-draft-ietf-ccwg-rfc5033bis-01"><name>Since draft-ietf-ccwg-rfc5033bis-01</name>

<t><list style="symbols">
  <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>Since draft-ietf-ccwg-rfc5033bis-00</name>

<t><list style="symbols">
  <t>Added QUIC, other congestion control standards</t>
  <t>Added wireless environments</t>
  <t>Aligned motivation for this work with the CCWG charter</t>
  <t>Refined discussion of QuickStart</t>
</list></t>

</section>
<section numbered="false" anchor="since-draft-scheffenegger-congress-rfc5033bis-00"><name>Since draft-scheffenegger-congress-rfc5033bis-00</name>

<t><list style="symbols">
  <t>Renamed file to reflect WG adpotion</t>
  <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>
<section numbered="false" anchor="since-rfc5033"><name>Since RFC5033</name>

<t><list style="symbols">
  <t>converted to Markdown and xml2rfc v3</t>
  <t>various formatting changes</t>
</list></t>

</section>
</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="C." surname="Huitema" fullname="Christian Huitema">
      <organization>Private Octopus, Inc.</organization>
      <address>
        <email>huitema@huitema.net</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7V9WXMbSZLme/yKWNVDkW0AStQt1Y51U9RR7JFULJLVmtm1
tbEEEACymchEZyZIsWT67+ufu8eVBCnWmE0/dIlkHhEefn5+5Hg8Nn3ZV+6V
fXC2cbNycV3WS/vJXdmjpl66ri+bGv/s26ayh9Wyact+te4emGI6bd0l3cbX
HmV/mzezuljTM+dtsejHpesX49nsajluF7OnDx8/npbduCp6erqZ0X/oxutX
djrbmK5vXbF+ZY/fnr8zzbRrKkdXvbK4yZhy076yfbvt+kcPH758+MgUdPUr
+97Vri0qc9W0F8u22W5e0Xo+vzcX7pp+Naen1b1ra9eP32A5ht5S1PP/Kqqm
piVeu85066Lt/+tf24ZfVjdmU76y/7dvZiPbNS2tadHRv67X+Mf/M+bS1Vv3
yljr33aTUp9pLSDke1xh97D5fbphXZTVK4uf/gaiTJp2iccQ2bbTV5bpRFTC
33+KpDLGFNt+1bT0yjFdbm1Z0zI/Tuyb7YXjXwi1P9Iuyjr+lp5e1OUfBVZG
ZGqaZeXshw9H/Ecna1nzPZPVZE53/W2JX05mzZovoY3QU9287Js2e/X7iX1X
lO1q29IJxve/b+atmw/+lC/i97q8dG1X9te2WdjDqWvnztXpgogZ2uu/uXY5
KabzelLMJtuLm6uZgc7ldNsPqXI0sb9sy54elizsaNWWdD5Fnf0tX9lJW14S
L9pfZ32z2dJ5H9ezSbqwldz6N/3vhBjKmLpp1/SAS2IHU9aL5CdrX78+HbMA
EAeO30xmRTu/clU1Lmezdjkm8RnPAuOMZ8I4et/lwZ++c/zwIW7+5fQ/Hr54
xev2cn30++vjo1e2sDVJ6vnRyXjRlq6eV9d2VS5X427j6NDo9/ayaIlG/QO+
u3N0VYc9vbKHRx/t2fH7X0/O7K8bkrUerH123REdOnvqLkt3NbKXTTWxTx6N
SH4m9unIbjYT++zJ+PkTftycaPvKkty+GD98Lssr2qWjHa76ftO9+umneVNC
Hn46eDg5OHjy9KeDJw9Jyp9P8N+Dh0/5niAH/L+x/leP/oyOvgi/kpM/K+pl
X7j4h8E9xxN7unJucNdx/U+ib/qXwW0fJvY/toObPpQdbqLf0x/Om6bqsmPg
31jiENuvnH17WVRb5jzIwVm53lbyE2kme04nO6UzOZu5mo6k6TJ6PQgEK/qi
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
PE+espNmQ4z5/9i28LsbmwAA

-->

</rfc>

