draft-ietf-tcpm-alternativebackoff-ecn-04.txt | draft-ietf-tcpm-alternativebackoff-ecn-05.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 19, 2018 G. Armitage | Expires: June 14, 2018 G. Armitage | |||
Swinburne University of Technology | Swinburne University of Technology | |||
G. Fairhurst | G. Fairhurst | |||
University of Aberdeen | University of Aberdeen | |||
November 15, 2017 | December 11, 2017 | |||
TCP Alternative Backoff with ECN (ABE) | TCP Alternative Backoff with ECN (ABE) | |||
draft-ietf-tcpm-alternativebackoff-ecn-04 | draft-ietf-tcpm-alternativebackoff-ecn-05 | |||
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 there are only a few flows or their | |||
delay-product is large. An Explicit Congestion Notification (ECN) | bandwidth-delay-product is large. An Explicit Congestion | |||
signal indicates that an AQM mechanism is used at the bottleneck, and | Notification (ECN) signal indicates that an AQM mechanism is used at | |||
therefore the bottleneck network queue is likely to be short. This | the bottleneck, and therefore the bottleneck network queue is likely | |||
document therefore proposes an update to the TCP sender-side ECN | to be short. This document therefore proposes an update to RFC3168, | |||
reaction in congestion avoidance to reduce the Congestion Window | which changes the TCP sender-side ECN reaction in congestion | |||
(cwnd) by a smaller amount than the congestion control algorithm's | avoidance to reduce the Congestion Window (cwnd) by a smaller amount | |||
reaction to inferred packet loss. | than the congestion control algorithm's 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 19, 2018. | This Internet-Draft will expire on June 14, 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Definitions . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Specification . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
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 . . . . . . . . . . . . . . . . 5 | 4.3. Choice of ABE Multiplier . . . . . . . . . . . . . . . . 5 | |||
5. ABE Requirements . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . 9 | |||
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 . . . . . . . . . . . . . . . . . 11 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | 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 | |||
for an Active Queue Management (AQM) mechanism to signal the presence | for an Active Queue Management (AQM) mechanism to signal the presence | |||
of incipient congestion without incurring packet loss. This lets the | of incipient congestion without incurring packet loss. This lets the | |||
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. Other benefits of deploying ECN have been | |||
from deploying ECN [RFC8087], including reduced end-to-end network | documented in RFC8087 [RFC8087]. | |||
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 an inferred 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]. This has led to the creation | and excessive buffering [BUFFERBLOAT]. This has led to the creation | |||
of new AQM mechanisms like PIE [RFC8033] and CoDel | of new AQM mechanisms like PIE [RFC8033] and CoDel | |||
[CODEL2012][I-D.CoDel], which prevent bloated queues that are common | [CODEL2012][I-D.CoDel], which prevent bloated queues that are common | |||
with unmanaged and excessively large buffers deployed across the | with unmanaged and excessively large buffers deployed across the | |||
Internet [BUFFERBLOAT]. | Internet [BUFFERBLOAT]. | |||
skipping to change at page 4, line 7 ¶ | skipping to change at page 3, line 49 ¶ | |||
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 | strict requirement that ECN signals be treated identically to | |||
inferred packet loss [I-D.ECN-exp]. Following these newer, more | inferred packet loss [I-D.ECN-exp]. Following these newer, more | |||
flexible rules, this document defines a new sender-side-only | flexible rules, this document defines a new sender-side-only | |||
congestion control response, called "ABE" (Alternative Backoff with | congestion control response, called "ABE" (Alternative Backoff with | |||
ECN). ABE improves TCP's average throughput when routers use AQM | ECN). ABE improves TCP's average throughput when routers use AQM | |||
controlled buffers that allow for 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 updates the congestion control algorithm of an | |||
algorithm of an ECN-capable TCP transport protocol. It allows a TCP | ECN-Capable TCP transport protocol by changing the TCP sender | |||
stack to update the TCP sender response when it receives feedback | response to feedback from the TCP receiver that indicates reception | |||
indicating reception of a CE-marked packet (ECN-signalled congestion | of a CE-marked packet, i.e., receipt of a packet with the ECN-Echo | |||
hereafter) per Equation 4 of [RFC5681]. It RECOMMENDS that a TCP | flag (defined in [RFC3168]) set. | |||
sender multiplies the slow start threshold (ssthresh) by 0.8 times of | ||||
the FlightSize (with its minimum value set to 2 * SMSS) and reduces | It updates the following text in section 6.1.2 of the ECN | |||
the cwnd in congestion avoidance following reception of a TCP segment | specification [RFC3168] : | |||
that sets the ECN-Echo flag (defined in [RFC3168]). While this | ||||
specification concerns TCP, other transports also support a per-RTT | The indication of congestion should be treated just as a | |||
response to ECN. The method defined in this document is also | congestion loss in non-ECN-Capable TCP. That is, the TCP source | |||
applicable for such transports. | halves the congestion window "cwnd" and reduces the slow start | |||
threshold "ssthresh". | ||||
Replacing this with: | ||||
Receipt of a packet with the ECN-Echo flag SHOULD trigger the TCP | ||||
source to set the slow start threshold (ssthresh) to 0.8 times the | ||||
FlightSize, with a lower bound of 2 * SMSS applied to the result. | ||||
As in [RFC5681], the TCP sender also reduces the cwnd value to | ||||
that new ssthresh value. | ||||
4. Discussion | 4. Discussion | |||
Much of the technical background to ABE can be found in a research | Much of the technical background to ABE can be found in a research | |||
paper [ABE2017]. This paper used a mix of experiments, theory and | paper [ABE2017]. This paper used a mix of experiments, theory and | |||
simulations with standard NewReno and CUBIC to evaluate the | simulations with NewReno [RFC5681] and CUBIC [I-D.CUBIC] to evaluate | |||
technique. The technique was shown to present "...significant | the technique. The technique was shown to present "...significant | |||
performance gains in lightly-multiplexed [few concurrent flows] | performance gains in lightly-multiplexed [few concurrent flows] | |||
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 | |||
skipping to change at page 5, line 12 ¶ | skipping to change at page 5, line 16 ¶ | |||
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 | |||
flows). However, in a lightly-multiplexed case over a path with a | flows). However, in a lightly-multiplexed case over a path 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 | |||
feedback not only indicates congestion on the network path, it also | feedback not only indicates congestion on the network path, it also | |||
indicates that an AQM mechanism exists at the bottleneck along the | indicates that an AQM mechanism exists at the bottleneck along the | |||
path, and hence the CE-mark likely came from a bottleneck with a | path, and hence the CE-mark likely came from a bottleneck with a | |||
controlled short queue. Reacting differently to an ECN-signalled | controlled short queue. Reacting differently to an ECN-signalled | |||
congestion than to an inferred packet loss can then yield the benefit | congestion than to an inferred packet loss can then yield the benefit | |||
of a reduced back-off when queues are short. Using ECN can also be | of a reduced back-off when queues are short. Using ECN can also be | |||
advantageous for several other reasons [RFC8087]. | advantageous for several other reasons [RFC8087]. | |||
The idea of reacting differently to inferred packet loss and | The idea of reacting differently to inferred packet loss and | |||
detection of an ECN-signalled congestion pre-dates this document. | detection of an ECN-signalled congestion pre-dates this document. | |||
For example, previous research proposed using ECN CE-marked feedback | For example, previous research proposed using ECN CE-marked feedback | |||
to modify TCP congestion control behaviour via a larger | to modify TCP congestion control behaviour via a larger | |||
multiplicative decrease factor in conjunction with a smaller additive | multiplicative decrease factor in conjunction with a smaller additive | |||
increase factor [ICC2002]. The goal of this former work was to | increase factor [ICC2002]. The goal of this former work was to | |||
operate across AQM bottlenecks using Random Early Detection (RED) | operate across AQM bottlenecks using Random Early Detection (RED) | |||
that were not necessarily configured to emulate a short queue | that were not necessarily configured to emulate a short queue (The | |||
([RFC7567] notes the current status of RED as an AQM method.) | current usage of RED as an Internet AQM method is limited [RFC7567]). | |||
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 | |||
skipping to change at page 6, line 13 ¶ | skipping to change at page 6, line 17 ¶ | |||
enabled TCP connections, only beta_{loss} applies. | enabled TCP connections, only beta_{loss} applies. | |||
In other words, in response to inferred packet 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 an ECN-signalled congestion: | 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 smaller of the sender's cwnd and the receiver's | upper-bounded by the smaller of the sender's cwnd and the receiver's | |||
advertised window (rwnd) [RFC5681]. The higher the values of | advertised window (rwnd) [RFC5681]. The higher the values of | |||
beta_{loss} and beta_{ecn}, the less aggressive the response of any | beta_{loss} and beta_{ecn}, the less aggressive the response of any | |||
individual 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 | |||
skipping to change at page 6, line 42 ¶ | skipping to change at page 6, line 46 ¶ | |||
a multiplier of 0.7 since kernel version 2.6.25 released in 2008. | a multiplier of 0.7 since kernel version 2.6.25 released in 2008. | |||
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 | |||
The recommended beta_{ecn} value in this document is only applicable | recommended beta_{ecn} value in this document is only applicable for | |||
for Standard TCP congestion control. | 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. 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. | |||
RFC 3168 states that the congestion control response to an ECN- | RFC3168 states that the congestion control response to an ECN- | |||
signalled congestion is the same as the response to a dropped packet | signalled congestion is the same as the response to a dropped packet | |||
[RFC3168]. [I-D.ECN-exp] updates this specification to allow systems | [RFC3168]. [I-D.ECN-exp] updates this specification to allow systems | |||
to provide a different behaviour when they experience ECN-signalled | to provide a different behaviour when they experience ECN-signalled | |||
congestion rather than packet loss. The present specification | congestion rather than packet loss. The present specification | |||
defines such an experiment and has thus been assigned an Experimental | defines such an experiment and has thus been assigned an Experimental | |||
status 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 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 | |||
packet loss indications, in the worst-case (e.g., an ABE-compliant | packet loss indications, in the worst case (e.g., an ABE-compliant | |||
TCP sender using beta_{ecn} = 1.0) the ECN-capable bottleneck will | TCP sender using beta_{ecn} = 1.0) the ECN-Capable bottleneck will | |||
still fall back to dropping packets, and the result is no different | still fall back to dropping packets, and the result is no different | |||
than if the TCP sender was using traditional loss-based congestion | than if the TCP sender was using traditional loss-based congestion | |||
control. | control. | |||
The result of this Internet experiment will be reported by | A TCP sender reacts to loss or ECN marks only once per round-trip | |||
time. Hence, if a sender would first be notified of an ECN mark and | ||||
then learn about loss in the same round-trip, it would only react to | ||||
the first notification (ECN) but not to the second (loss). RFC3168 | ||||
specified a reaction to ECN that was equal to the reaction to loss | ||||
[RFC3168]. | ||||
ABE also makes one congestion-response each RTT that congestion is | ||||
signalled, and therefore there is no response to loss within the same | ||||
round-trip time, since ABE has already made a reduction of the | ||||
congestion window. ABE will however respond for each round-trip time | ||||
that congestion continues to be signaled. This consecutive reduction | ||||
can protect the network against long-standing unfairness in the case | ||||
of AQM algorithms that do not keep a small average queue length. | ||||
The result of this Internet experiment will include an investigation | ||||
of cases such as the ones listed above, and 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). | |||
The views expressed are solely those of the authors. | The views expressed are solely those of the authors. | |||
The authors would like to thank Stuart Cheshire for many suggestions | The authors would like to thank Stuart Cheshire for many suggestions | |||
when revising the draft, and the following people for their | when revising the draft, and the following people for their | |||
contributions to [ABE2017]: Chamil Kulatunga, David Ros, Stein | contributions to [ABE2017]: Chamil Kulatunga, David Ros, Stein | |||
Gjessing, Sebastian Zander. Thanks also to (in alphabetical order) | Gjessing, Sebastian Zander. Thanks also to (in alphabetical order) | |||
Bob Briscoe, Markku Kojo, John Leslie, Dave Taht and the TCPM working | Roland Bless, Bob Briscoe, David Black, Markku Kojo, John Leslie, | |||
group for providing valuable feedback on this document. | Lawrence Stewart, Dave Taht and the TCPM working group for providing | |||
valuable feedback on this document. | ||||
The authors would finally like to thank everyone who provided | The authors would finally like to thank everyone who provided | |||
feedback on the congestion control behaviour specified in this update | feedback on the congestion control behaviour specified in this update | |||
received from the IRTF Internet Congestion Control Research Group | received from the IRTF Internet Congestion Control Research Group | |||
(ICCRG). | (ICCRG). | |||
7. IANA Considerations | 7. IANA Considerations | |||
XX RFC ED - PLEASE REMOVE THIS SECTION XXX | XX RFC ED - PLEASE REMOVE THIS SECTION XXX | |||
skipping to change at page 9, line 9 ¶ | skipping to change at page 9, line 26 ¶ | |||
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 | -05. Refined the description of the experiment based on feedback at | |||
IETF-100. Incorporated comments from David Black. | ||||
-04. Incorporates review comments from Lawrence Stewart and the | ||||
remaining comments from Roland Bless. References are updated. | 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 | |||
End of changes. 23 change blocks. | ||||
50 lines changed or deleted | 78 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/ |