draft-ietf-tcpm-alternativebackoff-ecn-09.txt   draft-ietf-tcpm-alternativebackoff-ecn-10.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: February 15, 2019 G. Armitage Expires: March 4, 2019 G. Armitage
Netflix Netflix
G. Fairhurst G. Fairhurst
University of Aberdeen University of Aberdeen
August 14, 2018 August 31, 2018
TCP Alternative Backoff with ECN (ABE) TCP Alternative Backoff with ECN (ABE)
draft-ietf-tcpm-alternativebackoff-ecn-09 draft-ietf-tcpm-alternativebackoff-ecn-10
Abstract Abstract
Active Queue Management (AQM) mechanisms allow for burst tolerance Active Queue Management (AQM) mechanisms allow for burst tolerance
while enforcing short queues to minimise the time that packets spend while enforcing short queues to minimise the time that packets spend
enqueued at a bottleneck. This can cause noticeable performance enqueued at a bottleneck. This can cause noticeable performance
degradation for TCP connections traversing such a bottleneck, degradation for TCP connections traversing such a bottleneck,
especially if there are only a few flows or their bandwidth-delay- especially if there are only a few flows or their bandwidth-delay-
product is large. The reception of a Congestion Experienced (CE) ECN product is large. The reception of a Congestion Experienced (CE) ECN
mark indicates that an AQM mechanism is used at the bottleneck, and mark indicates that an AQM mechanism is used at the bottleneck, and
skipping to change at page 1, line 47 skipping to change at page 1, line 47
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 February 15, 2019. This Internet-Draft will expire on March 4, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2018 IETF Trust and the persons identified as the Copyright (c) 2018 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 39 skipping to change at page 2, line 39
5. ABE Deployment Requirements . . . . . . . . . . . . . . . . . 7 5. ABE Deployment Requirements . . . . . . . . . . . . . . . . . 7
6. ABE Experiment Goals . . . . . . . . . . . . . . . . . . . . 8 6. ABE Experiment Goals . . . . . . . . . . . . . . . . . . . . 8
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 8
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9
9. Implementation Status . . . . . . . . . . . . . . . . . . . . 9 9. Implementation Status . . . . . . . . . . . . . . . . . . . . 9
10. Security Considerations . . . . . . . . . . . . . . . . . . . 9 10. Security Considerations . . . . . . . . . . . . . . . . . . . 9
11. Revision Information . . . . . . . . . . . . . . . . . . . . 9 11. Revision Information . . . . . . . . . . . . . . . . . . . . 9
12. References . . . . . . . . . . . . . . . . . . . . . . . . . 11 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 11
12.1. Normative References . . . . . . . . . . . . . . . . . . 11 12.1. Normative References . . . . . . . . . . . . . . . . . . 11
12.2. Informative References . . . . . . . . . . . . . . . . . 11 12.2. Informative References . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13
1. Introduction 1. 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 necessarily incurring packet loss. of incipient congestion without necessarily incurring packet loss.
This lets the network deliver some packets to an application that This lets the network deliver some packets to an application that
would have been dropped if the application or transport did not would have been dropped if the application or transport did not
support ECN. This packet loss reduction is the most obvious benefit support ECN. This packet loss reduction is the most obvious benefit
of ECN, but it is often relatively modest. Other benefits of of ECN, but it is often relatively modest. Other benefits of
skipping to change at page 3, line 19 skipping to change at page 3, line 19
[RFC3168]. Research has demonstrated the benefits of reducing [RFC3168]. Research has demonstrated the benefits of reducing
network delays that are caused by interaction of loss-based TCP network delays that are caused by interaction of loss-based TCP
congestion control and excessive buffering [BUFFERBLOAT]. This has congestion control and excessive buffering [BUFFERBLOAT]. This has
led to the creation of AQM mechanisms like PIE [RFC8033] and CoDel led to the creation of AQM mechanisms like PIE [RFC8033] and CoDel
[CODEL2012][RFC8289], which prevent bloated queues that are common [CODEL2012][RFC8289], 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].
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 are
cannot always utilise a bottleneck link well where there are short not always able to effectively utilise a bottleneck link where there
queues. For example, a TCP sender using the Reno congestion control are short queues. For example, a TCP sender using the Reno
needs to be able to store at least an end-to-end bandwidth-delay congestion control needs to be able to store at least an end-to-end
product (BDP) worth of data at the bottleneck buffer if it is to bandwidth-delay product (BDP) worth of data at the bottleneck buffer
maintain full path utilisation in the face of loss-induced reduction if it is to maintain full path utilisation in the face of loss-
of the congestion window (cwnd) [RFC5681], which effectively doubles induced reduction of the congestion window (cwnd) [RFC5681], which
the amount of data that can be in flight, the maximum round-trip time effectively doubles the amount of data that can be in flight, the
(RTT) experience, and the path's effective RTT using the network maximum round-trip time (RTT) experience, and the path's effective
path. RTT 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 it receives an indication with an early- measured response when it receives an indication with an early-
warning of congestion after the remote endpoint receives an ECN CE- warning of congestion after the remote endpoint receives an ECN CE-
marked packet. Recognizing these changes in modern AQM practices, marked packet. Recognizing these changes in modern AQM practices,
the strict requirement that ECN CE signals be treated identically to the strict requirement that ECN CE signals be treated identically to
inferred packet loss have been relaxed [RFC8311]. This document inferred packet loss have been relaxed [RFC8311]. This document
therefore defines a new sender-side-only congestion control response, therefore defines a new sender-side-only congestion control response,
called "ABE" (Alternative Backoff with ECN). ABE improves TCP's called "ABE" (Alternative Backoff with ECN). ABE improves TCP's
average throughput when routers use AQM controlled buffers that allow average throughput when routers use AQM controlled buffers that allow
for short queues only. only for short queues.
2. Definitions 2. 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][RFC8174] .
3. Specification 3. Specification
This specification changes the congestion control algorithm of an This specification changes the congestion control algorithm of an
ECN-Capable TCP transport protocol by changing the TCP sender ECN-Capable TCP transport protocol by changing the TCP sender
response to feedback from the TCP receiver that indicates reception response to feedback from the TCP receiver that indicates reception
of a CE-marked packet, i.e., receipt of a packet with the ECN-Echo of a CE-marked packet, i.e., receipt of a packet with the ECN-Echo
flag (defined in [RFC3168]) set, following the process defined in flag (defined in [RFC3168]) set, following the process defined in
[RFC8311]. [RFC8311].
The TCP sender response is currently specified in section 6.1.2 of The TCP sender response is currently specified in section 6.1.2 of
the ECN specification [RFC3168], updated by [RFC8311]: the ECN specification [RFC3168], updated by [RFC8311]:
The indication of congestion should be treated just as a The indication of congestion should be treated just as a
congestion loss in non-ECN-Capable TCP. That is, the TCP source congestion loss in non-ECN-Capable TCP. That is, the TCP source
halves the congestion window "cwnd" and reduces the slow start halves the congestion window "cwnd" and reduces the slow start
threshold "ssthresh", unless otherwise specified by an threshold "ssthresh", unless otherwise specified by an
Experimental RFC in the IETF document stream. Experimental RFC in the IETF document stream.
Following publication of RFC8311, this document specifies a sender- Following publication of RFC 8311, this document specifies a sender-
side change to TCP: side change to TCP:
Receipt of a packet with the ECN-Echo flag SHOULD trigger the TCP 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 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. FlightSize, with a lower bound of 2 * SMSS applied to the result.
As in [RFC5681], the TCP sender also reduces the cwnd value to no As in [RFC5681], the TCP sender also reduces the cwnd value to no
more than the new ssthresh value. RFC 3168 section 6.1.2 provides more than the new ssthresh value. RFC 3168 section 6.1.2 provides
guidance on setting a cwnd less than 2 * SMSS. guidance on setting a cwnd less than 2 * SMSS.
3.1. Choice of ABE Multiplier 3.1. Choice of ABE Multiplier
skipping to change at page 8, line 7 skipping to change at page 8, line 7
packet loss indications, an ECN-Capable bottleneck will still fall packet loss indications, an ECN-Capable bottleneck will still fall
back to dropping packets if an TCP sender using ABE is too back to dropping packets if an TCP sender using ABE is too
aggressive, and the result is no different than if the TCP sender was aggressive, and the result is no different than if the TCP sender was
using traditional loss-based congestion control. using traditional loss-based 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.
6. ABE Experiment Goals 6. ABE Experiment Goals
RFC3168 states that the congestion control response following an [RFC3168] states that the congestion control response following an
indication of ECN-signalled congestion is the same as the response to indication of ECN-signalled congestion is the same as the response to
a dropped packet [RFC3168]. [RFC8311] updates this specification to a dropped packet. [RFC8311] updates this specification to allow
allow systems to provide a different behaviour when they experience systems to provide a different behaviour when they experience ECN-
ECN-signalled congestion rather than packet loss. The present signalled congestion rather than packet loss. The present
specification defines such an experiment and has thus been assigned specification defines such an experiment and has thus been assigned
an Experimental status before being proposed as a Standards-Track an Experimental status before being proposed as a Standards-Track
update. 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 acceptable safety in deployed networks deployment of ABE, and confirm acceptable safety in deployed networks
that use this update to TCP congestion control. To evaluate ABE, that use this update to TCP congestion control. To evaluate ABE,
this experiment therefore requires support in AQM routers for ECN- this experiment therefore requires support in AQM routers for ECN-
marking of packets carrying the ECN-Capable Transport, ECT(0), marking of packets carrying the ECN-Capable Transport, ECT(0),
codepoint [RFC3168]. codepoint [RFC3168].
The result of this Internet experiment ought to include an The result of this Internet experiment ought to include an
investigation of the implications of experiencing an ECN-CE mark investigation of the implications of experiencing an ECN-CE mark
followed by loss within the same RTT. At the end of the experiment, followed by loss within the same RTT. At the end of the experiment,
this will be reported to the TCPM WG or IESG. this will be reported to the TCPM WG or the IESG.
7. Acknowledgements 7. 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.
Author G. Armitage performed most of his work on this document while Author G. Armitage performed most of his work on this document while
employed by Swinburne University of Technology, Melbourne, Australia. employed by Swinburne University of Technology, Melbourne, Australia.
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)
Roland Bless, Bob Briscoe, David Black, Markku Kojo, John Leslie, Roland Bless, Bob Briscoe, David Black, Markku Kojo, John Leslie,
Lawrence Stewart, Dave Taht and the TCPM working group for providing Lawrence Stewart, Dave Taht and the TCPM Working Group for providing
valuable feedback on this document. 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).
8. IANA Considerations 8. 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.
9. Implementation Status 9. 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. This is meant
research and available for download from for research and available for download from
http://heim.ifi.uio.no/naeemk/research/ABE/. This code was used to http://heim.ifi.uio.no/michawe/research/abe/. This code was used to
produce the test results that are reported in [ABE2017]. The FreeBSD produce the test results that are reported in [ABE2017]. The FreeBSD
code has been committed to the mainline kernel on March 19, 2018 code has been committed to the mainline kernel on March 19, 2018
[ABE-FreeBSD]. [ABE-FreeBSD].
10. Security Considerations 10. 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 9, line 41 skipping to change at page 9, line 41
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 [RFC8312]). Unfairness may also be a result of other (e.g., CUBIC [RFC8312]). 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.
11. Revision Information 11. Revision Information
XX RFC ED - PLEASE REMOVE THIS SECTION XXX XX RFC ED - PLEASE REMOVE THIS SECTION XXX
-09. Chnaged to "Following publication of RFC8311, this document -10. Incorported changes following the Gen-ART review by Russ
Housley. Correction to URL.
-09. Changed to "Following publication of RFC 8311, this document
specifies a sender-side change to TCP:" specifies a sender-side change to TCP:"
-08. Addressed comments from AD review on the document structure, -08. Addressed comments from AD review on the document structure,
and relationship to existing RFCs. and relationship to existing RFCs.
-07. Addressed comments following WGLC. -07. Addressed comments following WGLC.
o Updated Reference citations. o Updated Reference citations.
o Removed paragraph containing a wrong statement related to timeout o Removed paragraph containing a wrong statement related to timeout
skipping to change at page 10, line 43 skipping to change at page 10, line 46
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
technical content. technical content.
-00. draft-ietf-tcpm-alternativebackoff-ecn-00 replaces draft- -00. draft-ietf-tcpm-alternativebackoff-ecn-00 replaces draft-
khademi-tcpm-alternativebackoff-ecn-01. Text describing the nature khademi-tcpm-alternativebackoff-ecn-01. Text describing the nature
of the experiment was added. of the experiment was added.
Individual draft -01. This I-D now refers to draft-black-tsvwg-ecn- Individual draft -01. This I-D now refers to draft-black-tsvwg-ecn-
experimentation-02, which replaces draft-khademi-tsvwg-ecn- experimentation-02, which replaces draft-khademi-tsvwg-ecn-
response-00 to make a broader update to RFC3168 for the sake of response-00 to make a broader update to RFC 3168 for the sake of
allowing experiments. As a result, some of the motivating and allowing experiments. As a result, some of the motivating and
discussing text that was moved from draft-khademi-alternativebackoff- discussing text that was moved from draft-khademi-alternativebackoff-
ecn-03 to draft-khademi-tsvwg-ecn-response-00 has now been re- ecn-03 to draft-khademi-tsvwg-ecn-response-00 has now been re-
inserted here. inserted here.
Individual draft -00. draft-khademi-tsvwg-ecn-response-00 and draft- Individual draft -00. draft-khademi-tsvwg-ecn-response-00 and draft-
khademi-tcpm-alternativebackoff-ecn-00 replace draft-khademi- khademi-tcpm-alternativebackoff-ecn-00 replace draft-khademi-
alternativebackoff-ecn-03, following discussion in the TSVWG and TCPM alternativebackoff-ecn-03, following discussion in the TSVWG and TCPM
working groups. working groups.
skipping to change at page 11, line 28 skipping to change at page 11, line 33
[RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion [RFC5681] Allman, M., Paxson, V., and E. Blanton, "TCP Congestion
Control", RFC 5681, DOI 10.17487/RFC5681, September 2009, Control", RFC 5681, DOI 10.17487/RFC5681, September 2009,
<https://www.rfc-editor.org/info/rfc5681>. <https://www.rfc-editor.org/info/rfc5681>.
[RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF [RFC7567] Baker, F., Ed. and G. Fairhurst, Ed., "IETF
Recommendations Regarding Active Queue Management", Recommendations Regarding Active Queue Management",
BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015, BCP 197, RFC 7567, DOI 10.17487/RFC7567, July 2015,
<https://www.rfc-editor.org/info/rfc7567>. <https://www.rfc-editor.org/info/rfc7567>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8257] Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., [RFC8257] Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L.,
and G. Judd, "Data Center TCP (DCTCP): TCP Congestion and G. Judd, "Data Center TCP (DCTCP): TCP Congestion
Control for Data Centers", RFC 8257, DOI 10.17487/RFC8257, Control for Data Centers", RFC 8257, DOI 10.17487/RFC8257,
October 2017, <https://www.rfc-editor.org/info/rfc8257>. October 2017, <https://www.rfc-editor.org/info/rfc8257>.
[RFC8311] Black, D., "Relaxing Restrictions on Explicit Congestion [RFC8311] Black, D., "Relaxing Restrictions on Explicit Congestion
Notification (ECN) Experimentation", RFC 8311, Notification (ECN) Experimentation", RFC 8311,
DOI 10.17487/RFC8311, January 2018, DOI 10.17487/RFC8311, January 2018,
<https://www.rfc-editor.org/info/rfc8311>. <https://www.rfc-editor.org/info/rfc8311>.
 End of changes. 17 change blocks. 
29 lines changed or deleted 37 lines changed or added

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