draft-ietf-tcpm-alternativebackoff-ecn-02.txt   draft-ietf-tcpm-alternativebackoff-ecn-03.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: April 23, 2018 G. Armitage Expires: May 3, 2018 G. Armitage
Swinburne University of Technology Swinburne University of Technology
G. Fairhurst G. Fairhurst
University of Aberdeen University of Aberdeen
October 20, 2017 October 30, 2017
TCP Alternative Backoff with ECN (ABE) TCP Alternative Backoff with ECN (ABE)
draft-ietf-tcpm-alternativebackoff-ecn-02 draft-ietf-tcpm-alternativebackoff-ecn-03
Abstract Abstract
Recent Active Queue Management (AQM) mechanisms instantiate shallow Recent Active Queue Management (AQM) mechanisms allow for burst
buffers with burst tolerance to minimise the time that packets spend tolerance while enforcing short queues to minimise the time that
enqueued at a bottleneck. However, shallow buffering can cause packets spend enqueued at a bottleneck. This can cause noticeable
noticeable performance degradation when TCP is used over a network performance degradation for TCP connections traversing such a
path with a large bandwidth-delay-product. Traditional methods rely bottleneck, especially if they are only a few or their bandwidth-
on detecting network congestion through reported loss of transport delay-product is large. An Explicit Congestion Notification (ECN)
packets. Explicit Congestion Notification (ECN) instead allows a signal indicates that an AQM mechanism is used at the bottleneck, and
router to directly signal incipient congestion. A sending endpoint therefore the bottleneck network queue is likely to be short. This
can distinguish when congestion is signalled via ECN, rather than by document therefore proposes an update to the TCP sender-side ECN
packet loss. An ECN signal indicates that an AQM mechanism has done reaction in congestion avoidance to reduce the Congestion Window
its job, and therefore the bottleneck network queue is likely to be (cwnd) by a smaller amount than the congestion control algorithm's
shallow. This document therefore proposes an update to the TCP reaction to loss.
sender-side ECN reaction in congestion avoidance to reduce the
Congestion Window (cwnd) by a smaller amount than the congestion
control algorithm's reaction to loss. This document also recommends
this approach to be adopted by any other transport protocol that
implements a congestion control reduction to an ECN congestion
signal.
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 April 23, 2018.
This Internet-Draft will expire on May 3, 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 29 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. Discussion: Choice of ABE Multiplier . . . . . . . . . . 5 4.3. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 6
5. Status of the Update . . . . . . . . . . . . . . . . . . . . 7 5. ABE Requirements . . . . . . . . . . . . . . . . . . . . . . 7
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7 6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
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 . . . . . . . . . . . . . . . . . . . . 8 10. Revision Information . . . . . . . . . . . . . . . . . . . . 9
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 10
11.1. Normative References . . . . . . . . . . . . . . . . . . 9 11.1. Normative References . . . . . . . . . . . . . . . . . . 10
11.2. Informative References . . . . . . . . . . . . . . . . . 10 11.2. Informative References . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12
1. Definitions 1. Definitions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119]. document are to be interpreted as described in RFC 2119 [RFC2119].
2. Introduction 2. Introduction
Explicit Congestion Notification (ECN) [RFC3168] makes it possible Explicit Congestion Notification (ECN) [RFC3168] makes it possible
skipping to change at page 3, line 16 skipping to change at page 3, line 14
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 a packet loss [RFC3168].
Research has demonstrated the benefits of reducing network delays due Research has demonstrated the benefits of reducing network delays
to excessive buffering [BUFFERBLOAT]; this has led to the creation of that are caused by interaction of loss-based TCP congestion control
new AQM mechanisms like PIE [RFC8033] and CoDel [CODEL2012] and excessive buffering [BUFFERBLOAT]. There are two main approaches
[I-D.CoDel], which avoid causing bloated queues that are common with to reduce such delay: (1) to use a congestion control mechanism that
a simple tail-drop behaviour (also known as a First-In First-Out, reacts to the changes in end-to-end delay (i.e. delay-based) instead
FIFO, queue). of or in addition to loss or ECN signal (2) or to use AQM mechanisms
like PIE [RFC8033] and CoDel [CODEL2012] [I-D.CoDel], which avoid
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.
These AQM mechanisms instantiate short queues that are designed to The AQM mechanisms mentioned above aim to keep a sustained queue
tolerate packet bursts. However, congestion control mechanisms short while tolerating transient (short-term) packet bursts.
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, to allow a single TCP connection to fully
utilise a network path, the queue at the bottleneck link must be able utilise a network path, the queue at the bottleneck link must be able
to compensate for TCP halving the "cwnd" and "ssthresh" variables in to compensate for TCP reducing the "cwnd" and "ssthresh" variables in
response to a lost packet [RFC5681]. This requires the bottleneck response to a lost packet [RFC5681]. This requires the bottleneck
queue to be able to store at least an end-to-end bandwidth-delay buffer to be able to store at least an end-to-end bandwidth-delay
product (BDP) of data, which effectively doubles both the amount of product (BDP) of data, which effectively doubles both the amount of
data that can be in flight and the round-trip time (RTT) experience data that can be in flight and the maximum round-trip time (RTT)
using the 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 packet
loss [I-D.ECN-exp]. Following these newer, more flexible rules, this loss [I-D.ECN-exp]. Following these newer, more flexible rules, this
document defines a new sender-side-only congestion control response, document defines a new sender-side-only congestion control response,
called "ABE" (Alternative Backoff with ECN). ABE improves the called "ABE" (Alternative Backoff with ECN). ABE improves the
performance when routers use shallow buffered AQM mechanisms. performance when routers use AQM 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. It RECOMMENDS that a TCP
sender multiplies the cwnd by 0.8 and reduces the slow start sender multiplies the slow start threshold (ssthresh) by 0.8 times of
threshold (ssthresh) in congestion avoidance following reception of a the FlightSize (with its minimum value set to 2 * SMSS) and reduces
TCP segment that sets the ECN-Echo flag (defined in [RFC3168]). the cwnd in congestion avoidance following reception of a TCP segment
While this specification concerns TCP, other transports also support that sets the ECN-Echo flag (defined in [RFC3168]). While this
a per-RTT response to ECN. The method defined in this document is specification concerns TCP, other transports also support a per-RTT
also applicable for such transports. response to ECN. The method defined in this document is also
applicable for such transports.
4. Discussion 4. Discussion
Much of the technical background to this congestion control response Much of the technical background to this congestion control response
can be found in a research paper [ABE2017]. This paper used a mix of can be found in a research paper [ABE2017]. This paper used a mix of
experiments, theory and simulations with standard NewReno and CUBIC experiments, theory and simulations with standard NewReno and CUBIC
to evaluate the technique. It examined the impact of enabling ECN to evaluate the technique. It examined the impact of enabling ECN
and letting individual TCP senders back off by a reduced amount in and letting individual TCP senders back off by a reduced amount in
reaction to the receiver that reports ECN CE-marks from AQM-enabled reaction to the receiver that reports ECN CE-marks from AQM-enabled
bottlenecks. The technique was shown to present "...significant bottlenecks. The technique was shown to present "...significant
performance gains in lightly-multiplexed scenarios, without losing performance gains in lightly-multiplexed [few concurrent connections]
the delay-reduction benefits of deploying CoDel or PIE". The scenarios, without losing the delay-reduction benefits of deploying
performance improvement is achieved when reacting to ECN-Echo in CoDel or PIE". The performance improvement is achieved when reacting
congestion avoidance by multiplying cwnd and ssthresh with a value in to ECN-Echo in congestion avoidance by multiplying cwnd and ssthresh
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 (regarded as a notification of congestion), Standard loss is detected using the retransmission timer and the given packet
TCP halves the cwnd and ssthresh [RFC5681], which causes the TCP has not yet been resent by way of the retransmission timer (regarded
congestion control to go back to allowing only a BDP of packets in as a notification of congestion), Standard TCP sets the ssthresh to
flight -- just sufficient to maintain 100% utilisation of the the maximum of half of the FlightSize and 2*SMSS [RFC5681], which
bottleneck on the network path. causes the TCP congestion control to go back to allowing only a BDP
of packets in flight -- just sufficient to maintain 100% utilisation
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
shallow buffered bottleneck (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, it interacts badly for a lightly-multiplexed connections). However, in a lightly-multiplexed case over a path
case (few concurrent connections) over a path with a large BDP. with a large BDP, conventional TCP backoff leads to gaps in packet
Conventional TCP backoff in such cases 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 not only indicates congestion on the network path, it also indicates
that an AQM mechanism exists at the bottleneck along the path, and that an AQM mechanism exists at the bottleneck along the path, and
hence the CE-mark likely came from a bottleneck with a shallow queue. hence the CE-mark likely came from a bottleneck with a controlled
Reacting differently to an ECN CE-mark than to packet loss can then short queue. Reacting differently to an ECN CE-mark than to packet
yield the benefit of a reduced back-off, as with CUBIC [I-D.CUBIC], loss can then yield the benefit of a reduced back-off, as with CUBIC
when queues are short, yet it can avoid generating excessive delay [I-D.CUBIC], when queues are short, yet it can avoid generating
when queues are long. Using ECN can also be advantageous for several excessive delay when queues are long. Using ECN can also be
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 loss and detection of an ECN CE-
mark pre-dates this document. For example, previous research mark pre-dates this document. For example, previous research
proposed using ECN CE-marks to modify TCP congestion control proposed using ECN CE-marks to modify TCP congestion control
behaviour via a larger multiplicative decrease factor in conjunction behaviour via a larger multiplicative decrease factor in conjunction
with a smaller additive increase factor [ICC2002]. The goal of this with a smaller additive increase factor [ICC2002]. The goal of this
former work was to operate across AQM bottlenecks using Random Early former work was to operate across AQM bottlenecks using Random Early
Detection (RED) that were not necessarily configured to emulate a Detection (RED) that were not necessarily configured to emulate a
shallow queue ([RFC7567] notes the current status of RED as an AQM short queue ([RFC7567] notes the current status of RED as an AQM
method.) 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 the scope of the current document.
4.3. Discussion: 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 loss and ECN CE-marks
when in the congestion avoidance phase by differentiating the scaling when in the congestion avoidance phase by differentiating the scaling
factor used in Equation 4 in Section 3.1 of [RFC5681]. The factor used in Equation 4 in Section 3.1 of [RFC5681]. The
description respectively uses beta_{loss} and beta_{ecn} to refer to description respectively uses beta_{loss} and beta_{ecn} to refer to
the multiplicative decrease factors applied in response to packet the multiplicative decrease factors applied in response to packet
loss, and in response to a receiver indicating that an ECN CE-mark loss, and in response to a receiver indicating that an ECN CE-mark
was received on an ECN-enabled TCP connection. For non-ECN-enabled was received on an ECN-enabled TCP connection. For non-ECN-enabled
TCP connections, no ECN CE-marks are received and only beta_{loss} TCP connections, no ECN CE-marks are received and only beta_{loss}
applies. applies.
In other words, in response to detected loss: In other words, in response to detected loss:
ssthresh_(t+1) = max (FlightSize_t * 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 a received ECN CE-mark:
ssthresh_(t+1) = max (FlightSize_t * beta_{ecn}, 2 * SMSS) ssthresh = max (FlightSize * beta_{ecn}, 2 * SMSS)
and and
cwnd_(t+1) = ssthresh_(t+1) 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 sender's cwnd and the receiver's advertised
window (rwnd) [RFC5681]. The higher the values of beta_{loss} and window (rwnd) [RFC5681]. The higher the values of beta_{loss} and
beta_{ecn}, the less aggressive the response of any individual beta_{ecn}, the less aggressive the response of any individual
backoff event. 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
skipping to change at page 6, line 45 skipping to change at page 7, line 6
ABE proposes no change to beta_{loss} used by current TCP ABE proposes no change to beta_{loss} used by current TCP
implementations. implementations.
beta_{ecn} depends on how the response of a TCP connection to shallow beta_{ecn} depends on how the response of a TCP connection to shallow
AQM marking thresholds is optimised. beta_{loss} reflects the AQM marking thresholds is optimised. beta_{loss} reflects the
preferred response of each congestion control algorithm when faced preferred response of each congestion control algorithm when faced
with exhaustion of buffers (of unknown depth) signalled by packet with exhaustion of buffers (of unknown depth) signalled by packet
loss. Consequently, for any given TCP congestion control algorithm loss. Consequently, for any given TCP congestion control algorithm
the choice of beta_{ecn} is likely to be algorithm-specific, rather the choice of beta_{ecn} is likely to be algorithm-specific, rather
than a constant multiple of the algorithm's existing beta_{loss}. than a constant multiple of the algorithm's existing beta_{loss}.
The recommended beta_{ecn} value in this document is only applicable
for Standard TCP congestion control.
A range of tests (section IV, [ABE2017]) with NewReno and CUBIC over A range of tests (section IV, [ABE2017]) with NewReno and CUBIC over
CoDel and PIE in lightly-multiplexed scenarios have explored this CoDel and PIE in lightly-multiplexed scenarios have explored this
choice of parameter. The results of these tests indicate that CUBIC choice of parameter. The results of these tests indicate that CUBIC
connections benefit from beta_{ecn} of 0.85 (cf. beta_{loss} = 0.7), connections benefit from beta_{ecn} of 0.85 (cf. beta_{loss} = 0.7),
and NewReno connections see improvements with beta_{ecn} in the range and NewReno connections see improvements with beta_{ecn} in the range
0.7 to 0.85 (cf. beta_{loss} = 0.5). 0.7 to 0.85 (cf. beta_{loss} = 0.5).
5. Status of the Update 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 The currently published ECN specification requires that the
congestion control response to a CE-marked packet is the same as the congestion control response to a CE-marked packet is the same as the
response to a dropped packet [RFC3168]. The specification is response to a dropped packet [RFC3168]. The specification is
currently being updated to allow for specifications that do not currently being updated to allow for specifications that do not
follow this rule [I-D.ECN-exp]. The present specification defines follow this rule [I-D.ECN-exp]. The present specification defines
such an experiment and has thus been assigned an Experimental status such an experiment and has thus been assigned an Experimental status
skipping to change at page 8, line 23 skipping to change at page 8, line 38
7. IANA Considerations 7. IANA Considerations
XX RFC ED - PLEASE REMOVE THIS SECTION XXX XX RFC ED - PLEASE REMOVE THIS SECTION XXX
This document includes no request to IANA. This document includes no request to IANA.
8. Implementation Status 8. Implementation Status
ABE is implemented as a patch for Linux and FreeBSD. It is meant for ABE is implemented as a patch for Linux and FreeBSD. It is meant for
research and available for download from research and available for download from
http://heim.ifi.uio.no/naeemk/research/ABE/ This code was used to http://heim.ifi.uio.no/naeemk/research/ABE/. This code was used to
produce the test results that are reported in [ABE2017]. An evolved produce the test results that are reported in [ABE2017]. An evolved
version of the patch for FreeBSD is currently under review for version of the patch for FreeBSD is currently under review for
potential inclusion in the mainline kernel [ABE-FreeBSD]. potential inclusion in the mainline kernel [ABE-FreeBSD].
9. Security Considerations 9. Security Considerations
The described method is a sender-side only transport change, and does The described method is a sender-side only transport change, and does
not change the protocol messages exchanged. The security not change the protocol messages exchanged. The security
considerations for ECN [RFC3168] therefore still apply. considerations for ECN [RFC3168] therefore still apply.
skipping to change at page 8, line 49 skipping to change at page 9, line 15
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
-03. Several review comments from Roland Bless are addressed.
Consistent terminology and equations. Clarification on the scope of
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 implements 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.
References are updated. References are updated.
-01. Text improved, mainly incorporating comments from Stuart -01. Text improved, mainly incorporating comments from Stuart
Cheshire. The reference to a technical report has been updated to a Cheshire. The reference to a technical report has been updated to a
published version of the tests [ABE2017]. Used "AQM Mechanism" published version of the tests [ABE2017]. Used "AQM Mechanism"
throughout in place of other alternatives, and more consistent use of throughout in place of other alternatives, and more consistent use of
technical language and clarification on the intended purpose of the technical language and clarification on the intended purpose of the
experiments required by EXP status. There was no change to the experiments required by EXP status. There was no change to the
 End of changes. 31 change blocks. 
77 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/