draft-ietf-tcpm-alternativebackoff-ecn-06.txt | draft-ietf-tcpm-alternativebackoff-ecn-07.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: August 18, 2018 G. Armitage | Expires: September 21, 2018 G. Armitage | |||
Swinburne University of Technology | Swinburne University of Technology | |||
G. Fairhurst | G. Fairhurst | |||
University of Aberdeen | University of Aberdeen | |||
February 14, 2018 | March 20, 2018 | |||
TCP Alternative Backoff with ECN (ABE) | TCP Alternative Backoff with ECN (ABE) | |||
draft-ietf-tcpm-alternativebackoff-ecn-06 | draft-ietf-tcpm-alternativebackoff-ecn-07 | |||
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. An Explicit Congestion Notification (ECN) signal | product is large. An Explicit Congestion Notification (ECN) signal | |||
indicates that an AQM mechanism is used at the bottleneck, and | indicates that an AQM mechanism is used at the bottleneck, and | |||
skipping to change at page 1, line 45 ¶ | skipping to change at page 1, line 45 ¶ | |||
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 August 18, 2018. | This Internet-Draft will expire on September 21, 2018. | |||
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 3, line 11 ¶ | skipping to change at page 3, line 11 ¶ | |||
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][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 | |||
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, a TCP sender must be able to store at least an | queues. For example, a TCP sender must be able to store at least an | |||
end-to-end bandwidth-delay product (BDP) worth of data at the | end-to-end bandwidth-delay product (BDP) worth of data at the | |||
bottleneck buffer if it is to maintain full path utilisation in the | bottleneck buffer if it is to maintain full path utilisation in the | |||
skipping to change at page 3, line 35 ¶ | skipping to change at page 3, line 35 ¶ | |||
network path. | 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 | strict requirement that ECN signals be treated identically to | |||
inferred packet loss [I-D.ECN-exp]. Following these newer, more | inferred packet loss [RFC8311]. Following these newer, more flexible | |||
flexible rules, this document defines a new sender-side-only | rules, this document defines a new sender-side-only congestion | |||
congestion control response, called "ABE" (Alternative Backoff with | control response, called "ABE" (Alternative Backoff with ECN). ABE | |||
ECN). ABE improves TCP's average throughput when routers use AQM | improves TCP's average throughput when routers use AQM controlled | |||
controlled buffers that allow for short queues only. | buffers that allow for short queues only. | |||
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]. | |||
3. Specification | 3. Specification | |||
This specification updates the congestion control algorithm of an | This specification updates the congestion control algorithm of an | |||
skipping to change at page 4, line 21 ¶ | skipping to change at page 4, line 21 ¶ | |||
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". | threshold "ssthresh". | |||
Replacing this with: | Replacing this with: | |||
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. | more than the new ssthresh value. RFC 3168 section 6.1.2 provides | |||
guidance on setting a cwnd less than 2 * SMSS. | ||||
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 NewReno [RFC5681] and CUBIC [I-D.CUBIC] to evaluate | simulations with NewReno [RFC5681] and CUBIC [RFC8312] to evaluate | |||
the 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 (when ssthresh > cwnd) by | |||
with a value in the range [0.7,0.85]. | multiplying cwnd and ssthresh with a value in the range [0.7,0.85]. | |||
Applying ABE when cwnd <= ssthresh is not currently recommended, but | ||||
may benefit from additional attention, experimentation and | ||||
specification. | ||||
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 | AQM mechanisms such as CoDel [RFC8289] and PIE [RFC8033] set a delay | |||
provide a BDP of bottleneck buffering if a TCP connection wishes to | target in routers and use congestion notifications to constrain the | |||
optimise path utilisation. A single TCP bulk transfer running | queuing delays experienced by packets, rather than in response to | |||
through such a bottleneck will have increased its congestion window | ||||
(cwnd) up to 2*BDP by the time that packet loss occurs. According to | ||||
[RFC5681], when a TCP sender detects segment loss using the | ||||
retransmission timer and the given segment has not yet been resent by | ||||
way of the retransmission timer, the value of ssthresh must be set to | ||||
no more of the maximum of half of the FlightSize and 2*SMSS. The | ||||
same equation is also used during Fast Retransmit/Fast Recovery | ||||
[RFC5681]. As a result, the TCP congestion control only allows one | ||||
BDP of packets in flight. This is 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 | ||||
delay target in routers and use congestion notifications to constrain | ||||
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 | |||
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. | |||
skipping to change at page 5, line 43 ¶ | skipping to change at page 5, line 32 ¶ | |||
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 (The | that were not necessarily configured to emulate a short queue (The | |||
current usage of RED as an Internet AQM method is limited [RFC7567]). | 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 instance, Accurate | from the original ECN definition [RFC3168]. For instance, Accurate | |||
ECN [I-D.ietf-tcpm-accurate-ecn] permits more frequent and detailed | ECN [I-D.ietf-tcpm-accurate-ecn] permits more frequent and detailed | |||
feedback. Use of mechanisms (such as Accurate ECN, Datacenter TCP | feedback. Use of such mechanisms (including Accurate ECN, Datacenter | |||
(DCTCP) [RFC8257], or Congestion Exposure (ConEx) [RFC7713]) is out | TCP (DCTCP) [RFC8257], or Congestion Exposure (ConEx) [RFC7713]) is | |||
of scope for this document. This specification focuses on ECN as | out of scope for this document. This specification focuses on ECN as | |||
defined in [RFC3168]. | defined in [RFC3168]. | |||
4.3. Choice of ABE Multiplier | 4.3. Choice of ABE Multiplier | |||
ABE decouples the reaction of a TCP sender to inferred packet loss | ABE decouples the reaction of a TCP sender to inferred packet loss | |||
and ECN-signalled congestion in the congestion avoidance phase. To | and ECN-signalled congestion in the congestion avoidance phase. To | |||
achieve this, ABE uses different the scaling factor in Equation 4 in | achieve this, ABE uses a different scaling factor in Equation 4 in | |||
Section 3.1 of [RFC5681]. The description respectively uses | Section 3.1 of [RFC5681]. The description respectively uses | |||
beta_{loss} and beta_{ecn} to refer to the multiplicative decrease | beta_{loss} and beta_{ecn} to refer to the multiplicative decrease | |||
factors applied in response to inferred packet loss, and in response | factors applied in response to inferred packet loss, and in response | |||
to a receiver indicating ECN-signalled congestion. For non-ECN- | to a receiver indicating ECN-signalled congestion. For non-ECN- | |||
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 | |||
(If ssthresh == 2 * SMSS, RFC 3168 section 6.1.2 provides guidance | ||||
on setting a cwnd lower than 2 * SMSS.) | ||||
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 | |||
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 [RFC8312] has used a | |||
a multiplier of 0.7 since kernel version 2.6.25 released in 2008. | multiplier of 0.7 since kernel version 2.6.25 released in 2008. ABE | |||
ABE proposes no change to beta_{loss} used by current TCP | proposes no change to beta_{loss} used by current TCP | |||
implementations. | implementations. | |||
The recommendation in Section 3 in this document corresponds to a | The recommendation in Section 3 in this document corresponds to a | |||
value of beta_{ecn}=0.8. This recommended beta_{ecn} value is only | value of beta_{ecn}=0.8. This recommended beta_{ecn} value is only | |||
applicable for the standard TCP congestion control [RFC5681]. The | applicable for the standard TCP congestion control [RFC5681]. The | |||
selection of beta_{ecn} enables tuning the response of a TCP | selection of beta_{ecn} enables tuning the response of a TCP | |||
connection to shallow AQM marking thresholds. beta_{loss} | connection to shallow AQM marking thresholds. beta_{loss} | |||
characterizes the response of a congestion control algorithm to | characterizes the response of a congestion control algorithm to | |||
packet loss, i.e., exhaustion of buffers (of unknown depth). | packet loss, i.e., exhaustion of buffers (of unknown depth). | |||
Different values for beta_{loss} have been suggested for TCP | Different values for beta_{loss} have been suggested for TCP | |||
congestion control algorithms. Consequently, beta_{ecn} is likely to | congestion control algorithms. Consequently, beta_{ecn} is likely to | |||
be an algorithm-specific parameter rather than a constant multiple of | be an algorithm-specific parameter rather than a constant multiple of | |||
the algorithm's existing beta_{loss}. | the algorithm's existing beta_{loss}. | |||
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 | |||
skipping to change at page 7, line 22 ¶ | skipping to change at page 7, line 17 ¶ | |||
5. ABE Deployment Requirements | 5. ABE Deployment 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. | |||
RFC3168 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]. [RFC8311] updates this specification to allow systems to | |||
to provide a different behaviour when they experience ECN-signalled | 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. | |||
skipping to change at page 8, line 51 ¶ | skipping to change at page 8, line 46 ¶ | |||
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]. The FreeBSD | |||
version of the patch for FreeBSD is currently under review for | code has been committed to the mainline kernel on March 19, 2018 | |||
potential inclusion in the mainline kernel [ABE-FreeBSD]. | [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. | |||
This is a change to TCP congestion control with ECN that will | This is a change to TCP congestion control with ECN that will | |||
typically lead to a change in the capacity achieved when flows share | typically lead to a change in the capacity achieved when flows share | |||
a network bottleneck. This could result in some flows receiving more | a network bottleneck. This could result in some flows receiving more | |||
than their fair share of capacity. Similar unfairness in the way | than their fair share of capacity. Similar unfairness in the way | |||
that capacity is shared is also exhibited by other congestion control | that capacity is shared is also exhibited by other congestion control | |||
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 [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. | |||
10. Revision Information | 10. Revision Information | |||
XX RFC ED - PLEASE REMOVE THIS SECTION XXX | XX RFC ED - PLEASE REMOVE THIS SECTION XXX | |||
-07. Addressed comments following WGLC. | ||||
o Updated Reference citations | ||||
o Removed paragraph containing a wrong statement related to timeout | ||||
in section 4.1. | ||||
o Discuss what happens when cwnd <= ssthresh | ||||
o Added text on Concern about lower bound of 2*SMSS | ||||
-06. Addressed Michael Scharf's comments. | -06. Addressed Michael Scharf's comments. | |||
-05. Refined the description of the experiment based on feedback at | -05. Refined the description of the experiment based on feedback at | |||
IETF-100. Incorporated comments from David Black. | IETF-100. Incorporated comments from David Black. | |||
-04. Incorporates review comments from Lawrence Stewart and the | -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 | |||
skipping to change at page 10, line 29 ¶ | skipping to change at page 10, line 37 ¶ | |||
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. | |||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
[I-D.ECN-exp] | ||||
Black, D., "Explicit Congestion Notification (ECN) | ||||
Experimentation", Internet-draft, IETF work-in-progress | ||||
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 11, line 10 ¶ | skipping to change at page 11, line 15 ¶ | |||
[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>. | |||
[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 | ||||
Notification (ECN) Experimentation", RFC 8311, | ||||
DOI 10.17487/RFC8311, January 2018, | ||||
<https://www.rfc-editor.org/info/rfc8311>. | ||||
11.2. Informative References | 11.2. Informative References | |||
[ABE-FreeBSD] | [ABE-FreeBSD] | |||
"ABE patch review in FreeBSD", | "ABE patch review in FreeBSD", | |||
<https://reviews.freebsd.org/D11616>. | <https://svnweb.freebsd.org/ | |||
base?view=revision&revision=331214>. | ||||
[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] | |||
Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in | Gettys, J. and K. Nichols, "Bufferbloat: Dark Buffers in | |||
the Internet", November 2011. | the Internet", November 2011. | |||
[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] | ||||
Nichols, K., Jacobson, V., McGregor, V., and J. Iyengar, | ||||
"Controlled Delay Active Queue Management", Internet- | ||||
draft, IETF work-in-progress draft-ietf-aqm-codel-10, | ||||
October 2017. | ||||
[I-D.CUBIC] | ||||
Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and | ||||
R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", | ||||
Internet-draft, IETF work-in-progress draft-ietf-tcpm- | ||||
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-06 (work in progress), March 2018. | |||
[ICC2002] Kwon, M. and S. Fahmy, "TCP Increase/Decrease Behavior | [ICC2002] Kwon, M. and S. Fahmy, "TCP Increase/Decrease Behavior | |||
with Explicit Congestion Notification (ECN)", IEEE | with Explicit Congestion Notification (ECN)", IEEE | |||
ICC 2002, New York, New York, USA, May 2002, | ICC 2002, New York, New York, USA, May 2002, | |||
<http://dx.doi.org/10.1109/ICC.2002.997262>. | <http://dx.doi.org/10.1109/ICC.2002.997262>. | |||
[RFC7713] Mathis, M. and B. Briscoe, "Congestion Exposure (ConEx) | [RFC7713] Mathis, M. and B. Briscoe, "Congestion Exposure (ConEx) | |||
Concepts, Abstract Mechanism, and Requirements", RFC 7713, | Concepts, Abstract Mechanism, and Requirements", RFC 7713, | |||
DOI 10.17487/RFC7713, December 2015, | DOI 10.17487/RFC7713, December 2015, | |||
<https://www.rfc-editor.org/info/rfc7713>. | <https://www.rfc-editor.org/info/rfc7713>. | |||
skipping to change at page 12, line 21 ¶ | skipping to change at page 12, line 21 ¶ | |||
"Proportional Integral Controller Enhanced (PIE): A | "Proportional Integral Controller Enhanced (PIE): A | |||
Lightweight Control Scheme to Address the Bufferbloat | Lightweight Control Scheme to Address the Bufferbloat | |||
Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017, | Problem", RFC 8033, DOI 10.17487/RFC8033, February 2017, | |||
<https://www.rfc-editor.org/info/rfc8033>. | <https://www.rfc-editor.org/info/rfc8033>. | |||
[RFC8087] Fairhurst, G. and M. Welzl, "The Benefits of Using | [RFC8087] Fairhurst, G. and M. Welzl, "The Benefits of Using | |||
Explicit Congestion Notification (ECN)", RFC 8087, | Explicit Congestion Notification (ECN)", RFC 8087, | |||
DOI 10.17487/RFC8087, March 2017, | DOI 10.17487/RFC8087, March 2017, | |||
<https://www.rfc-editor.org/info/rfc8087>. | <https://www.rfc-editor.org/info/rfc8087>. | |||
[RFC8289] Nichols, K., Jacobson, V., McGregor, A., Ed., and J. | ||||
Iyengar, Ed., "Controlled Delay Active Queue Management", | ||||
RFC 8289, DOI 10.17487/RFC8289, January 2018, | ||||
<https://www.rfc-editor.org/info/rfc8289>. | ||||
[RFC8312] Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and | ||||
R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", | ||||
RFC 8312, DOI 10.17487/RFC8312, February 2018, | ||||
<https://www.rfc-editor.org/info/rfc8312>. | ||||
Authors' Addresses | Authors' Addresses | |||
Naeem Khademi | Naeem Khademi | |||
University of Oslo | University of Oslo | |||
PO Box 1080 Blindern | PO Box 1080 Blindern | |||
Oslo N-0316 | Oslo N-0316 | |||
Norway | Norway | |||
Email: naeemk@ifi.uio.no | Email: naeemk@ifi.uio.no | |||
End of changes. 25 change blocks. | ||||
64 lines changed or deleted | 67 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/ |