| < 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.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||