draft-ietf-tcpm-alternativebackoff-ecn-03.txt   draft-ietf-tcpm-alternativebackoff-ecn-04.txt 
Network Working Group N. Khademi Network Working Group N. Khademi
Internet-Draft M. Welzl Internet-Draft M. Welzl
Intended status: Experimental University of Oslo Intended status: Experimental University of Oslo
Expires: May 3, 2018 G. Armitage Expires: May 19, 2018 G. Armitage
Swinburne University of Technology Swinburne University of Technology
G. Fairhurst G. Fairhurst
University of Aberdeen University of Aberdeen
October 30, 2017 November 15, 2017
TCP Alternative Backoff with ECN (ABE) TCP Alternative Backoff with ECN (ABE)
draft-ietf-tcpm-alternativebackoff-ecn-03 draft-ietf-tcpm-alternativebackoff-ecn-04
Abstract Abstract
Recent Active Queue Management (AQM) mechanisms allow for burst Recent Active Queue Management (AQM) mechanisms allow for burst
tolerance while enforcing short queues to minimise the time that tolerance while enforcing short queues to minimise the time that
packets spend enqueued at a bottleneck. This can cause noticeable packets spend enqueued at a bottleneck. This can cause noticeable
performance degradation for TCP connections traversing such a performance degradation for TCP connections traversing such a
bottleneck, especially if they are only a few or their bandwidth- bottleneck, especially if they are only a few or their bandwidth-
delay-product is large. An Explicit Congestion Notification (ECN) delay-product is large. An Explicit Congestion Notification (ECN)
signal indicates that an AQM mechanism is used at the bottleneck, and signal indicates that an AQM mechanism is used at the bottleneck, and
therefore the bottleneck network queue is likely to be short. This therefore the bottleneck network queue is likely to be short. This
document therefore proposes an update to the TCP sender-side ECN document therefore proposes an update to the TCP sender-side ECN
reaction in congestion avoidance to reduce the Congestion Window reaction in congestion avoidance to reduce the Congestion Window
(cwnd) by a smaller amount than the congestion control algorithm's (cwnd) by a smaller amount than the congestion control algorithm's
reaction to loss. reaction to inferred packet loss.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on May 3, 2018. This Internet-Draft will expire on May 19, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 28 skipping to change at page 2, line 28
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4
4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. Discussion . . . . . . . . . . . . . . . . . . . . . . . . . 4
4.1. Why Use ECN to Vary the Degree of Backoff? . . . . . . . 4 4.1. Why Use ECN to Vary the Degree of Backoff? . . . . . . . 4
4.2. Focus on ECN as Defined in RFC3168 . . . . . . . . . . . 5 4.2. Focus on ECN as Defined in RFC3168 . . . . . . . . . . . 5
4.3. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 6 4.3. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 5
5. ABE Requirements . . . . . . . . . . . . . . . . . . . . . . 7 5. ABE Requirements . . . . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
8. Implementation Status . . . . . . . . . . . . . . . . . . . . 8 8. Implementation Status . . . . . . . . . . . . . . . . . . . . 8
9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8
10. Revision Information . . . . . . . . . . . . . . . . . . . . 9 10. Revision Information . . . . . . . . . . . . . . . . . . . . 9
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
11.1. Normative References . . . . . . . . . . . . . . . . . . 10 11.1. Normative References . . . . . . . . . . . . . . . . . . 10
11.2. Informative References . . . . . . . . . . . . . . . . . 10 11.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Definitions 1. Definitions
skipping to change at page 3, line 12 skipping to change at page 3, line 12
network deliver some packets to an application that would have been network deliver some packets to an application that would have been
dropped if the application or transport did not support ECN. This dropped if the application or transport did not support ECN. This
packet loss reduction is the most obvious benefit of ECN, but it is packet loss reduction is the most obvious benefit of ECN, but it is
often relatively modest. There are also significant other benefits often relatively modest. There are also significant other benefits
from deploying ECN [RFC8087], including reduced end-to-end network from deploying ECN [RFC8087], including reduced end-to-end network
latency. latency.
The rules for ECN were originally written to be very conservative, The rules for ECN were originally written to be very conservative,
and required the congestion control algorithms of ECN-capable and required the congestion control algorithms of ECN-capable
transport protocols to treat ECN congestion signals exactly the same transport protocols to treat ECN congestion signals exactly the same
as they would treat a packet loss [RFC3168]. as they would treat an inferred packet loss [RFC3168].
Research has demonstrated the benefits of reducing network delays Research has demonstrated the benefits of reducing network delays
that are caused by interaction of loss-based TCP congestion control that are caused by interaction of loss-based TCP congestion control
and excessive buffering [BUFFERBLOAT]. There are two main approaches and excessive buffering [BUFFERBLOAT]. This has led to the creation
to reduce such delay: (1) to use a congestion control mechanism that of new AQM mechanisms like PIE [RFC8033] and CoDel
reacts to the changes in end-to-end delay (i.e. delay-based) instead [CODEL2012][I-D.CoDel], which prevent bloated queues that are common
of or in addition to loss or ECN signal (2) or to use AQM mechanisms with unmanaged and excessively large buffers deployed across the
like PIE [RFC8033] and CoDel [CODEL2012] [I-D.CoDel], which avoid Internet [BUFFERBLOAT].
causing bloated queues that are common with a simple tail-drop
behaviour (also known as a First-In First-Out, FIFO, queue). The
delay-based approach suffers from poor performance when competing
with flows using loss-based TCP congestion control mechanisms and is
out of scope of this document.
The AQM mechanisms mentioned above aim to keep a sustained queue The AQM mechanisms mentioned above aim to keep a sustained queue
short while tolerating transient (short-term) packet bursts. short while tolerating transient (short-term) packet bursts.
However, currently used loss-based congestion control mechanisms However, currently used loss-based congestion control mechanisms
cannot always utilise a bottleneck link well where there are short cannot always utilise a bottleneck link well where there are short
queues. For example, to allow a single TCP connection to fully queues. For example, a TCP sender must be able to store at least an
utilise a network path, the queue at the bottleneck link must be able end-to-end bandwidth-delay product (BDP) worth of data at the
to compensate for TCP reducing the "cwnd" and "ssthresh" variables in bottleneck buffer if it is to maintain full path utilisation in the
response to a lost packet [RFC5681]. This requires the bottleneck face of loss-induced reduction of cwnd [RFC5681], which effectively
buffer to be able to store at least an end-to-end bandwidth-delay doubles the amount of data that can be in flight, the maximum round-
product (BDP) of data, which effectively doubles both the amount of trip time (RTT) experience, and the path's effective RTT using the
data that can be in flight and the maximum round-trip time (RTT) network path.
experience using the network path.
Modern AQM mechanisms can use ECN to signal the early signs of Modern AQM mechanisms can use ECN to signal the early signs of
impending queue buildup long before a tail-drop queue would be forced impending queue buildup long before a tail-drop queue would be forced
to resort to dropping packets. It is therefore appropriate for the to resort to dropping packets. It is therefore appropriate for the
transport protocol congestion control algorithm to have a more transport protocol congestion control algorithm to have a more
measured response when an early-warning signal of congestion is measured response when an early-warning signal of congestion is
received in the form of an ECN CE-marked packet. Recognizing these received in the form of an ECN CE-marked packet. Recognizing these
changes in modern AQM practices, more recent rules have relaxed the changes in modern AQM practices, more recent rules have relaxed the
strict requirement that ECN signals be treated identically to packet strict requirement that ECN signals be treated identically to
loss [I-D.ECN-exp]. Following these newer, more flexible rules, this inferred packet loss [I-D.ECN-exp]. Following these newer, more
document defines a new sender-side-only congestion control response, flexible rules, this document defines a new sender-side-only
called "ABE" (Alternative Backoff with ECN). ABE improves the congestion control response, called "ABE" (Alternative Backoff with
performance when routers use AQM controlled buffers that allow for ECN). ABE improves TCP's average throughput when routers use AQM
short queues only. controlled buffers that allow for short queues only.
3. Specification 3. Specification
This specification describes an update to the congestion control This specification describes an update to the congestion control
algorithm of an ECN-capable TCP transport protocol. It allows a TCP algorithm of an ECN-capable TCP transport protocol. It allows a TCP
stack to update the TCP sender response when it receives feedback stack to update the TCP sender response when it receives feedback
indicating reception of a CE-marked packet. It RECOMMENDS that a TCP indicating reception of a CE-marked packet (ECN-signalled congestion
hereafter) per Equation 4 of [RFC5681]. It RECOMMENDS that a TCP
sender multiplies the slow start threshold (ssthresh) by 0.8 times of sender multiplies the slow start threshold (ssthresh) by 0.8 times of
the FlightSize (with its minimum value set to 2 * SMSS) and reduces the FlightSize (with its minimum value set to 2 * SMSS) and reduces
the cwnd in congestion avoidance following reception of a TCP segment the cwnd in congestion avoidance following reception of a TCP segment
that sets the ECN-Echo flag (defined in [RFC3168]). While this that sets the ECN-Echo flag (defined in [RFC3168]). While this
specification concerns TCP, other transports also support a per-RTT specification concerns TCP, other transports also support a per-RTT
response to ECN. The method defined in this document is also response to ECN. The method defined in this document is also
applicable for such transports. applicable for such transports.
4. Discussion 4. Discussion
Much of the technical background to this congestion control response Much of the technical background to ABE can be found in a research
can be found in a research paper [ABE2017]. This paper used a mix of paper [ABE2017]. This paper used a mix of experiments, theory and
experiments, theory and simulations with standard NewReno and CUBIC simulations with standard NewReno and CUBIC to evaluate the
to evaluate the technique. It examined the impact of enabling ECN technique. The technique was shown to present "...significant
and letting individual TCP senders back off by a reduced amount in performance gains in lightly-multiplexed [few concurrent flows]
reaction to the receiver that reports ECN CE-marks from AQM-enabled
bottlenecks. The technique was shown to present "...significant
performance gains in lightly-multiplexed [few concurrent connections]
scenarios, without losing the delay-reduction benefits of deploying scenarios, without losing the delay-reduction benefits of deploying
CoDel or PIE". The performance improvement is achieved when reacting CoDel or PIE". The performance improvement is achieved when reacting
to ECN-Echo in congestion avoidance by multiplying cwnd and ssthresh to ECN-Echo in congestion avoidance by multiplying cwnd and ssthresh
with a value in the range [0.7..0.85]. with a value in the range [0.7,0.85].
4.1. Why Use ECN to Vary the Degree of Backoff? 4.1. Why Use ECN to Vary the Degree of Backoff?
The classic rule-of-thumb dictates that a network path needs to The classic rule-of-thumb dictates that a network path needs to
provide a BDP of bottleneck buffering if a TCP connection wishes to provide a BDP of bottleneck buffering if a TCP connection wishes to
optimise path utilisation. A single TCP bulk transfer running optimise path utilisation. A single TCP bulk transfer running
through such a bottleneck will have increased its congestion window through such a bottleneck will have increased its congestion window
(cwnd) up to 2*BDP by the time that packet loss occurs. When packet (cwnd) up to 2*BDP by the time that packet loss occurs. When packet
loss is detected using the retransmission timer and the given packet loss is inferred using the retransmission timer and the given packet
has not yet been resent by way of the retransmission timer (regarded has not yet been resent by way of the retransmission timer (regarded
as a notification of congestion), Standard TCP sets the ssthresh to as a notification of congestion), Standard TCP sets the ssthresh to
the maximum of half of the FlightSize and 2*SMSS [RFC5681], which the maximum of half of the FlightSize and 2*SMSS [RFC5681], which
causes the TCP congestion control to go back to allowing only a BDP causes the TCP congestion control to go back to allowing only a BDP
of packets in flight -- just sufficient to maintain 100% utilisation of packets in flight -- just sufficient to maintain 100% utilisation
of the bottleneck on the network path. of the bottleneck on the network path.
AQM mechanisms such as CoDel [I-D.CoDel] and PIE [RFC8033] set a AQM mechanisms such as CoDel [I-D.CoDel] and PIE [RFC8033] set a
delay target in routers and use congestion notifications to constrain delay target in routers and use congestion notifications to constrain
the queuing delays experienced by packets, rather than in response to the queuing delays experienced by packets, rather than in response to
impending or actual bottleneck buffer exhaustion. With current impending or actual bottleneck buffer exhaustion. With current
default delay targets, CoDel and PIE both effectively emulate a default delay targets, CoDel and PIE both effectively emulate a
bottleneck with a short queue (section II, [ABE2017]) while also bottleneck with a short queue (section II, [ABE2017]) while also
allowing short traffic bursts into the queue. This provides allowing short traffic bursts into the queue. This provides
acceptable performance for TCP connections over a path with a low acceptable performance for TCP connections over a path with a low
BDP, or in highly multiplexed scenarios (many concurrent transport BDP, or in highly multiplexed scenarios (many concurrent transport
connections). However, in a lightly-multiplexed case over a path flows). However, in a lightly-multiplexed case over a path with a
with a large BDP, conventional TCP backoff leads to gaps in packet large BDP, conventional TCP backoff leads to gaps in packet
transmission and under-utilisation of the path. transmission and under-utilisation of the path.
Instead of discarding packets, an AQM mechanism is allowed to mark Instead of discarding packets, an AQM mechanism is allowed to mark
ECN-capable packets with an ECN CE-mark. The reception of a CE-mark ECN-capable packets with an ECN CE-mark. The reception of a CE-mark
not only indicates congestion on the network path, it also indicates feedback not only indicates congestion on the network path, it also
that an AQM mechanism exists at the bottleneck along the path, and indicates that an AQM mechanism exists at the bottleneck along the
hence the CE-mark likely came from a bottleneck with a controlled path, and hence the CE-mark likely came from a bottleneck with a
short queue. Reacting differently to an ECN CE-mark than to packet controlled short queue. Reacting differently to an ECN-signalled
loss can then yield the benefit of a reduced back-off, as with CUBIC congestion than to an inferred packet loss can then yield the benefit
[I-D.CUBIC], when queues are short, yet it can avoid generating of a reduced back-off when queues are short. Using ECN can also be
excessive delay when queues are long. Using ECN can also be
advantageous for several other reasons [RFC8087]. advantageous for several other reasons [RFC8087].
The idea of reacting differently to loss and detection of an ECN CE- The idea of reacting differently to inferred packet loss and
mark pre-dates this document. For example, previous research detection of an ECN-signalled congestion pre-dates this document.
proposed using ECN CE-marks to modify TCP congestion control For example, previous research proposed using ECN CE-marked feedback
behaviour via a larger multiplicative decrease factor in conjunction to modify TCP congestion control behaviour via a larger
with a smaller additive increase factor [ICC2002]. The goal of this multiplicative decrease factor in conjunction with a smaller additive
former work was to operate across AQM bottlenecks using Random Early increase factor [ICC2002]. The goal of this former work was to
Detection (RED) that were not necessarily configured to emulate a operate across AQM bottlenecks using Random Early Detection (RED)
short queue ([RFC7567] notes the current status of RED as an AQM that were not necessarily configured to emulate a short queue
method.) ([RFC7567] notes the current status of RED as an AQM method.)
4.2. Focus on ECN as Defined in RFC3168 4.2. Focus on ECN as Defined in RFC3168
Some transport protocol mechanisms rely on ECN semantics that differ Some transport protocol mechanisms rely on ECN semantics that differ
from the original ECN definition [RFC3168] -- for example, Congestion from the original ECN definition [RFC3168] -- for example, Congestion
Exposure (ConEx) [RFC7713] and Datacenter TCP (DCTCP) Exposure (ConEx) [RFC7713] and Datacenter TCP (DCTCP)
[I-D.ietf-tcpm-dctcp] need more accurate ECN information than that [I-D.ietf-tcpm-dctcp] need more accurate ECN information than that
offered by the original feedback method. Other mechanisms (e.g., offered by the original feedback method. Other mechanisms (e.g.,
[I-D.ietf-tcpm-accurate-ecn]) allow the sender to adjust the rate [I-D.ietf-tcpm-accurate-ecn]) allow the sender to adjust the rate
more frequently than once each path RTT. Use of these mechanisms is more frequently than once each path RTT. Use of these mechanisms is
out of the scope of the current document. out of scope for this document.
4.3. Choice of ABE Multiplier 4.3. Choice of ABE Multiplier
ABE decouples the reaction of a TCP sender to loss and ECN CE-marks ABE decouples the reaction of a TCP sender to inferred packet loss
when in the congestion avoidance phase by differentiating the scaling and ECN-signalled congestion when in the congestion avoidance phase
factor used in Equation 4 in Section 3.1 of [RFC5681]. The by differentiating the scaling factor used in Equation 4 in
description respectively uses beta_{loss} and beta_{ecn} to refer to Section 3.1 of [RFC5681]. The description respectively uses
the multiplicative decrease factors applied in response to packet beta_{loss} and beta_{ecn} to refer to the multiplicative decrease
loss, and in response to a receiver indicating that an ECN CE-mark factors applied in response to inferred packet loss, and in response
was received on an ECN-enabled TCP connection. For non-ECN-enabled to a receiver indicating ECN-signalled congestion. For non-ECN-
TCP connections, no ECN CE-marks are received and only beta_{loss} enabled TCP connections, only beta_{loss} applies.
applies.
In other words, in response to detected loss: In other words, in response to inferred packet loss:
ssthresh = max (FlightSize * beta_{loss}, 2 * SMSS) ssthresh = max (FlightSize * beta_{loss}, 2 * SMSS)
and in response to an indication of a received ECN CE-mark: and in response to an indication of an ECN-signalled congestion:
ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS) ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS)
and and
cwnd = ssthresh cwnd = ssthresh
where FlightSize is the amount of outstanding data in the network, where FlightSize is the amount of outstanding data in the network,
upper-bounded by the sender's cwnd and the receiver's advertised upper-bounded by the smaller of the sender's cwnd and the receiver's
window (rwnd) [RFC5681]. The higher the values of beta_{loss} and advertised window (rwnd) [RFC5681]. The higher the values of
beta_{ecn}, the less aggressive the response of any individual beta_{loss} and beta_{ecn}, the less aggressive the response of any
backoff event. individual backoff event.
The appropriate choice for beta_{loss} and beta_{ecn} values is a The appropriate choice for beta_{loss} and beta_{ecn} values is a
balancing act between path utilisation and draining the bottleneck balancing act between path utilisation and draining the bottleneck
queue. More aggressive backoff (smaller beta_*) risks underutilising queue. More aggressive backoff (smaller beta_*) risks underutilising
the path, while less aggressive backoff (larger beta_*) can result in the path, while less aggressive backoff (larger beta_*) can result in
slower draining of the bottleneck queue. slower draining of the bottleneck queue.
The Internet has already been running with at least two different The Internet has already been running with at least two different
beta_{loss} values for several years: the standard value is 0.5 beta_{loss} values for several years: the standard value is 0.5
[RFC5681], and the Linux implementation of CUBIC [I-D.CUBIC] has used [RFC5681], and the Linux implementation of CUBIC [I-D.CUBIC] has used
skipping to change at page 7, line 24 skipping to change at page 7, line 13
0.7 to 0.85 (cf. beta_{loss} = 0.5). 0.7 to 0.85 (cf. beta_{loss} = 0.5).
5. ABE Requirements 5. ABE Requirements
This update is a sender-side only change. Like other changes to This update is a sender-side only change. Like other changes to
congestion control algorithms, it does not require any change to the congestion control algorithms, it does not require any change to the
TCP receiver or to network devices. It does not require any ABE- TCP receiver or to network devices. It does not require any ABE-
specific changes in routers or the use of Accurate ECN feedback specific changes in routers or the use of Accurate ECN feedback
[I-D.ietf-tcpm-accurate-ecn] by a receiver. [I-D.ietf-tcpm-accurate-ecn] by a receiver.
The currently published ECN specification requires that the RFC 3168 states that the congestion control response to an ECN-
congestion control response to a CE-marked packet is the same as the signalled congestion is the same as the response to a dropped packet
response to a dropped packet [RFC3168]. The specification is [RFC3168]. [I-D.ECN-exp] updates this specification to allow systems
currently being updated to allow for specifications that do not to provide a different behaviour when they experience ECN-signalled
follow this rule [I-D.ECN-exp]. The present specification defines congestion rather than packet loss. The present specification
such an experiment and has thus been assigned an Experimental status defines such an experiment and has thus been assigned an Experimental
before being proposed as a Standards-Track update. status before being proposed as a Standards-Track update.
The purpose of the Internet experiment is to collect experience with The purpose of the Internet experiment is to collect experience with
deployment of ABE, and confirm the safety in deployed networks using deployment of ABE, and confirm the safety in deployed networks using
this update to TCP congestion control. this update to TCP congestion control.
When used with bottlenecks that do not support ECN-marking the When used with bottlenecks that do not support ECN-marking the
specification does not modify the transport protocol. specification does not modify the transport protocol.
To evaluate the benefit, this experiment therefore requires support To evaluate the benefit, this experiment therefore requires support
in AQM routers (except to enable an ECN-marking mechanism [RFC3168] in AQM routers (except to enable an ECN-marking mechanism [RFC3168]
[RFC7567]) for ECN-marking of packets carrying the ECN Capable [RFC7567]) for ECN-marking of packets carrying the ECN Capable
Transport, ECT(0), codepoint [RFC3168]. Transport, ECT(0), codepoint [RFC3168].
If the method is only deployed by some senders, and not by others, If the method is only deployed by some senders, and not by others,
the senders that use this method can gain some advantage, possibly at the senders that use this method can gain some advantage, possibly at
the expense of other flows that do not use this updated method. the expense of other flows that do not use this updated method.
Because this advantage applies only to ECN-marked packets and not to Because this advantage applies only to ECN-marked packets and not to
loss indications, the new method cannot lead to congestion collapse. packet loss indications, in the worst-case (e.g., an ABE-compliant
TCP sender using beta_{ecn} = 1.0) the ECN-capable bottleneck will
still fall back to dropping packets, and the result is no different
than if the TCP sender was using traditional loss-based congestion
control.
The result of this Internet experiment will be reported by The result of this Internet experiment will be reported by
presentation to the TCPM WG (or IESG) or an implementation report at presentation to the TCPM WG (or IESG) or an implementation report at
the end of the experiment. the end of the experiment.
6. Acknowledgements 6. Acknowledgements
Authors N. Khademi, M. Welzl and G. Fairhurst were part-funded by Authors N. Khademi, M. Welzl and G. Fairhurst were part-funded by
the European Community under its Seventh Framework Programme through the European Community under its Seventh Framework Programme through
the Reducing Internet Transport Latency (RITE) project (ICT-317700). the Reducing Internet Transport Latency (RITE) project (ICT-317700).
skipping to change at page 9, line 15 skipping to change at page 9, line 9
mechanisms that have been in use in the Internet for many years mechanisms that have been in use in the Internet for many years
(e.g., CUBIC [I-D.CUBIC]). Unfairness may also be a result of other (e.g., CUBIC [I-D.CUBIC]). Unfairness may also be a result of other
factors, including the round trip time experienced by a flow. ABE factors, including the round trip time experienced by a flow. ABE
applies only when ECN-marked packets are received, not when packets applies only when ECN-marked packets are received, not when packets
are lost, hence use of ABE cannot lead to congestion collapse. are lost, hence use of ABE cannot lead to congestion collapse.
10. Revision Information 10. Revision Information
XX RFC ED - PLEASE REMOVE THIS SECTION XXX XX RFC ED - PLEASE REMOVE THIS SECTION XXX
-04. Incorporates review comments from Larence Stewart and the
remaining comments from Roland Bless. References are updated.
-03. Several review comments from Roland Bless are addressed. -03. Several review comments from Roland Bless are addressed.
Consistent terminology and equations. Clarification on the scope of Consistent terminology and equations. Clarification on the scope of
recommended beta_{ecn} value. recommended beta_{ecn} value.
-02. Corrected the equations in Section 4.3. Updated the -02. Corrected the equations in Section 4.3. Updated the
affiliations. Lower bound for cwnd is defined. A recommendation for affiliations. Lower bound for cwnd is defined. A recommendation for
window-based transport protocols is changed to cover all transport window-based transport protocols is changed to cover all transport
protocols that implement a congestion control reduction to an ECN protocols that implement a congestion control reduction to an ECN
congestion signal. Added text about ABE's FreeBSD mainline kernel congestion signal. Added text about ABE's FreeBSD mainline kernel
status including a reference to the FreeBSD code review page. status including a reference to the FreeBSD code review page.
skipping to change at page 10, line 12 skipping to change at page 10, line 12
alternativebackoff-ecn-03, following discussion in the TSVWG and TCPM alternativebackoff-ecn-03, following discussion in the TSVWG and TCPM
working groups. working groups.
11. References 11. References
11.1. Normative References 11.1. Normative References
[I-D.ECN-exp] [I-D.ECN-exp]
Black, D., "Explicit Congestion Notification (ECN) Black, D., "Explicit Congestion Notification (ECN)
Experimentation", Internet-draft, IETF work-in-progress Experimentation", Internet-draft, IETF work-in-progress
draft-ietf-tsvwg-ecn-experimentation-06, September 2017. draft-ietf-tsvwg-ecn-experimentation-08, November 2017.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition [RFC3168] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP", of Explicit Congestion Notification (ECN) to IP",
RFC 3168, DOI 10.17487/RFC3168, September 2001, RFC 3168, DOI 10.17487/RFC3168, September 2001,
<https://www.rfc-editor.org/info/rfc3168>. <https://www.rfc-editor.org/info/rfc3168>.
skipping to change at page 10, line 45 skipping to change at page 10, line 45
[ABE-FreeBSD] [ABE-FreeBSD]
"ABE patch review in FreeBSD", "ABE patch review in FreeBSD",
<https://reviews.freebsd.org/D11616>. <https://reviews.freebsd.org/D11616>.
[ABE2017] Khademi, N., Armitage, G., Welzl, M., Fairhurst, G., [ABE2017] Khademi, N., Armitage, G., Welzl, M., Fairhurst, G.,
Zander, S., and D. Ros, "Alternative Backoff: Achieving Zander, S., and D. Ros, "Alternative Backoff: Achieving
Low Latency and High Throughput with ECN and AQM", IFIP Low Latency and High Throughput with ECN and AQM", IFIP
NETWORKING 2017, Stockholm, Sweden, June 2017. NETWORKING 2017, Stockholm, Sweden, June 2017.
[BUFFERBLOAT] [BUFFERBLOAT]
"Bufferbloat project", Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in
<https://www.bufferbloat.net/projects/bloat/wiki/ the Internet", November 2011.
Introduction/>.
[CODEL2012] [CODEL2012]
Nichols, K. and V. Jacobson, "Controlling Queue Delay", Nichols, K. and V. Jacobson, "Controlling Queue Delay",
July 2012, <http://queue.acm.org/detail.cfm?id=2209336>. July 2012, <http://queue.acm.org/detail.cfm?id=2209336>.
[I-D.CoDel] [I-D.CoDel]
Nichols, K., Jacobson, V., McGregor, V., and J. Iyengar, Nichols, K., Jacobson, V., McGregor, V., and J. Iyengar,
"Controlled Delay Active Queue Management", Internet- "Controlled Delay Active Queue Management", Internet-
draft, IETF work-in-progress draft-ietf-aqm-codel-09, draft, IETF work-in-progress draft-ietf-aqm-codel-10,
September 2017. October 2017.
[I-D.CUBIC] [I-D.CUBIC]
Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and
R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", R. Scheffenegger, "CUBIC for Fast Long-Distance Networks",
Internet-draft, IETF work-in-progress draft-ietf-tcpm- Internet-draft, IETF work-in-progress draft-ietf-tcpm-
cubic-06, September 2017. cubic-07, November 2017.
[I-D.ietf-tcpm-accurate-ecn] [I-D.ietf-tcpm-accurate-ecn]
Briscoe, B., Kuehlewind, M., and R. Scheffenegger, "More Briscoe, B., Kuehlewind, M., and R. Scheffenegger, "More
Accurate ECN Feedback in TCP", draft-ietf-tcpm-accurate- Accurate ECN Feedback in TCP", draft-ietf-tcpm-accurate-
ecn-03 (work in progress), May 2017. ecn-03 (work in progress), May 2017.
[I-D.ietf-tcpm-dctcp] [I-D.ietf-tcpm-dctcp]
Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L.,
and G. Judd, "Datacenter TCP (DCTCP): TCP Congestion and G. Judd, "Datacenter TCP (DCTCP): TCP Congestion
Control for Datacenters", draft-ietf-tcpm-dctcp-10 (work Control for Datacenters", draft-ietf-tcpm-dctcp-10 (work
 End of changes. 30 change blocks. 
92 lines changed or deleted 88 lines changed or added

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