| < draft-ietf-tsvwg-ecn-l4s-id-00.txt | draft-ietf-tsvwg-ecn-l4s-id-01.txt > | |||
|---|---|---|---|---|
| Transport Services (tsv) K. De Schepper | Transport Services (tsv) K. De Schepper | |||
| Internet-Draft Nokia Bell Labs | Internet-Draft Nokia Bell Labs | |||
| Intended status: Experimental B. Briscoe, Ed. | Intended status: Experimental B. Briscoe, Ed. | |||
| Expires: November 6, 2017 Simula Research Lab | Expires: May 3, 2018 CableLabs | |||
| May 5, 2017 | October 30, 2017 | |||
| Identifying Modified Explicit Congestion Notification (ECN) Semantics | Identifying Modified Explicit Congestion Notification (ECN) Semantics | |||
| for Ultra-Low Queuing Delay | for Ultra-Low Queuing Delay | |||
| draft-ietf-tsvwg-ecn-l4s-id-00 | draft-ietf-tsvwg-ecn-l4s-id-01 | |||
| Abstract | Abstract | |||
| This specification defines the identifier to be used on IP packets | This specification defines the identifier to be used on IP packets | |||
| for a new network service called low latency, low loss and scalable | for a new network service called low latency, low loss and scalable | |||
| throughput (L4S). It is similar to the original (or 'Classic') | throughput (L4S). It is similar to the original (or 'Classic') | |||
| Explicit Congestion Notification (ECN). 'Classic' ECN marking was | Explicit Congestion Notification (ECN). 'Classic' ECN marking was | |||
| required to be equivalent to a drop, both when applied in the network | required to be equivalent to a drop, both when applied in the network | |||
| and when responded to by a transport. Unlike 'Classic' ECN marking, | and when responded to by a transport. Unlike 'Classic' ECN marking, | |||
| for packets carrying the L4S identifier, the network applies marking | for packets carrying the L4S identifier, the network applies marking | |||
| skipping to change at page 1, line 46 ¶ | skipping to change at page 1, line 46 ¶ | |||
| scalable transports. | scalable transports. | |||
| 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 http://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 November 6, 2017. | This Internet-Draft will expire on May 3, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://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. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| skipping to change at page 2, line 50 ¶ | skipping to change at page 2, line 50 ¶ | |||
| 4. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 12 | |||
| 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | 5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
| 6.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 12 | |||
| 6.2. Informative References . . . . . . . . . . . . . . . . . 13 | 6.2. Informative References . . . . . . . . . . . . . . . . . 13 | |||
| Appendix A. The 'TCP Prague Requirements' . . . . . . . . . . . 17 | Appendix A. The 'TCP Prague Requirements' . . . . . . . . . . . 17 | |||
| A.1. Requirements for Scalable Transport Protocols . . . . . . 18 | A.1. Requirements for Scalable Transport Protocols . . . . . . 18 | |||
| A.1.1. Use of L4S Packet Identifier . . . . . . . . . . . . 18 | A.1.1. Use of L4S Packet Identifier . . . . . . . . . . . . 18 | |||
| A.1.2. Accurate ECN Feedback . . . . . . . . . . . . . . . . 18 | A.1.2. Accurate ECN Feedback . . . . . . . . . . . . . . . . 18 | |||
| A.1.3. Fall back to Reno/Cubic congestion control on packet | A.1.3. Fall back to Reno/Cubic congestion control on packet | |||
| loss . . . . . . . . . . . . . . . . . . . . . . . . 19 | loss . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| A.1.4. Fall back to Reno/Cubic congestion control on classic | A.1.4. Fall back to Reno/Cubic congestion control on classic | |||
| ECN bottlenecks . . . . . . . . . . . . . . . . . . . 19 | ECN bottlenecks . . . . . . . . . . . . . . . . . . . 19 | |||
| A.1.5. Reduce RTT dependence . . . . . . . . . . . . . . . . 20 | A.1.5. Reduce RTT dependence . . . . . . . . . . . . . . . . 20 | |||
| A.1.6. Scaling down the congestion window . . . . . . . . . 20 | A.1.6. Scaling down the congestion window . . . . . . . . . 20 | |||
| A.2. Scalable Transport Protocol Optimizations . . . . . . . . 21 | A.2. Scalable Transport Protocol Optimizations . . . . . . . . 21 | |||
| A.2.1. Setting ECT in TCP Control Packets and | A.2.1. Setting ECT in TCP Control Packets and | |||
| Retransmissions . . . . . . . . . . . . . . . . . . . 21 | Retransmissions . . . . . . . . . . . . . . . . . . . 21 | |||
| A.2.2. Faster than Additive Increase . . . . . . . . . . . . 21 | A.2.2. Faster than Additive Increase . . . . . . . . . . . . 21 | |||
| A.2.3. Faster Convergence at Flow Start . . . . . . . . . . 22 | A.2.3. Faster Convergence at Flow Start . . . . . . . . . . 22 | |||
| Appendix B. Alternative Identifiers . . . . . . . . . . . . . . 22 | Appendix B. Alternative Identifiers . . . . . . . . . . . . . . 22 | |||
| B.1. ECT(1) and CE codepoints . . . . . . . . . . . . . . . . 22 | B.1. ECT(1) and CE codepoints . . . . . . . . . . . . . . . . 22 | |||
| B.2. ECN Plus a Diffserv Codepoint (DSCP) . . . . . . . . . . 24 | B.2. ECN Plus a Diffserv Codepoint (DSCP) . . . . . . . . . . 24 | |||
| B.3. ECN capability alone . . . . . . . . . . . . . . . . . . 27 | B.3. ECN capability alone . . . . . . . . . . . . . . . . . . 26 | |||
| B.4. Protocol ID . . . . . . . . . . . . . . . . . . . . . . . 28 | B.4. Protocol ID . . . . . . . . . . . . . . . . . . . . . . . 28 | |||
| B.5. Source or destination addressing . . . . . . . . . . . . 28 | B.5. Source or destination addressing . . . . . . . . . . . . 28 | |||
| B.6. Summary: Merits of Alternative Identifiers . . . . . . . 29 | B.6. Summary: Merits of Alternative Identifiers . . . . . . . 28 | |||
| Appendix C. Potential Competing Uses for the ECT(1) Codepoint . 29 | Appendix C. Potential Competing Uses for the ECT(1) Codepoint . 29 | |||
| C.1. Integrity of Congestion Feedback . . . . . . . . . . . . 30 | C.1. Integrity of Congestion Feedback . . . . . . . . . . . . 29 | |||
| C.2. Notification of Less Severe Congestion than CE . . . . . 31 | C.2. Notification of Less Severe Congestion than CE . . . . . 31 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 | |||
| 1. Introduction | 1. Introduction | |||
| This specification defines the identifier to be used on IP packets | This specification defines the identifier to be used on IP packets | |||
| for a new network service called low latency, low loss and scalable | for a new network service called low latency, low loss and scalable | |||
| throughput (L4S). It is similar to the original (or 'Classic') | throughput (L4S). It is similar to the original (or 'Classic') | |||
| Explicit Congestion Notification (ECN). 'Classic' ECN marking was | Explicit Congestion Notification (ECN). 'Classic' ECN marking was | |||
| required to be equivalent to a drop, both when applied in the network | required to be equivalent to a drop, both when applied in the network | |||
| skipping to change at page 3, line 46 ¶ | skipping to change at page 3, line 46 ¶ | |||
| roughly the same as a 'Classic' flow under the same conditions. | roughly the same as a 'Classic' flow under the same conditions. | |||
| Nonetheless, the much more frequent control signals and the finer | Nonetheless, the much more frequent control signals and the finer | |||
| responses to them result in ultra-low queuing delay without | responses to them result in ultra-low queuing delay without | |||
| compromising link utilization, even during high load. | compromising link utilization, even during high load. | |||
| An example of an active queue management (AQM) marking algorithm that | An example of an active queue management (AQM) marking algorithm that | |||
| enables the L4S service is the DualQ Coupled AQM defined in a | enables the L4S service is the DualQ Coupled AQM defined in a | |||
| complementary specification [I-D.ietf-tsvwg-aqm-dualq-coupled]. An | complementary specification [I-D.ietf-tsvwg-aqm-dualq-coupled]. An | |||
| example of a scalable transport that would enable the L4S service is | example of a scalable transport that would enable the L4S service is | |||
| Data Centre TCP (DCTCP), which until now has been applicable solely | Data Centre TCP (DCTCP), which until now has been applicable solely | |||
| to controlled environments like data centres [I-D.ietf-tcpm-dctcp], | to controlled environments like data centres [RFC8257], because it is | |||
| because it is too aggressive to co-exist with existing TCP. However, | too aggressive to co-exist with existing TCP. However, AQMs like | |||
| AQMs like DualQ Coupled enable scalable transports like DCTCP to co- | DualQ Coupled enable scalable transports like DCTCP to co-exist with | |||
| exist with existing traffic, each getting roughly the same flow rate | existing traffic, each getting roughly the same flow rate when they | |||
| when they compete under similar conditions. Note that DCTCP will | compete under similar conditions. Note that DCTCP will still not be | |||
| still not be safe to deploy on the Internet until it satisfies the | safe to deploy on the Internet until it satisfies the requirements | |||
| requirements listed in Section 2.3. | listed in Section 2.3. | |||
| The new L4S identifier is the key piece that enables these two parts | The new L4S identifier is the key piece that enables these two parts | |||
| to interwork and distinguishes them from 'Classic' traffic. It gives | to interwork and distinguishes them from 'Classic' traffic. It gives | |||
| an incremental migration path so that existing 'Classic' TCP traffic | an incremental migration path so that existing 'Classic' TCP traffic | |||
| will be no worse off, but it can be prevented from degrading the | will be no worse off, but it can be prevented from degrading the | |||
| ultra-low delay and loss of the new scalable transports. The | ultra-low delay and loss of the new scalable transports. The | |||
| performance improvement is so great that it is hoped it will motivate | performance improvement is so great that it is hoped it will motivate | |||
| initial deployment of the separate parts of this system. | initial deployment of the separate parts of this system. | |||
| 1.1. Problem | 1.1. Problem | |||
| skipping to change at page 5, line 28 ¶ | skipping to change at page 5, line 28 ¶ | |||
| tunnels and it is relatively expensive to implement. | tunnels and it is relatively expensive to implement. | |||
| Latency is not our only concern: It was known when TCP was first | Latency is not our only concern: It was known when TCP was first | |||
| developed that it would not scale to high bandwidth-delay products. | developed that it would not scale to high bandwidth-delay products. | |||
| Given regular broadband bit-rates over WAN distances are | Given regular broadband bit-rates over WAN distances are | |||
| already [RFC3649] beyond the scaling range of 'Classic' TCP Reno, | already [RFC3649] beyond the scaling range of 'Classic' TCP Reno, | |||
| 'less unscalable' Cubic [I-D.ietf-tcpm-cubic] and | 'less unscalable' Cubic [I-D.ietf-tcpm-cubic] and | |||
| Compound [I-D.sridharan-tcpm-ctcp] variants of TCP have been | Compound [I-D.sridharan-tcpm-ctcp] variants of TCP have been | |||
| successfully deployed. However, these are now approaching their | successfully deployed. However, these are now approaching their | |||
| scaling limits. Unfortunately, fully scalable TCPs such as DCTCP | scaling limits. Unfortunately, fully scalable TCPs such as DCTCP | |||
| [I-D.ietf-tcpm-dctcp] cause 'Classic' TCP to starve itself, which is | [RFC8257] cause 'Classic' TCP to starve itself, which is why they | |||
| why they have been confined to private data centres or research | have been confined to private data centres or research testbeds | |||
| testbeds (until now). | (until now). | |||
| It turns out that a TCP algorithm like DCTCP that solves TCP's | It turns out that a TCP algorithm like DCTCP that solves TCP's | |||
| scalability problem also solves the latency problem, because the | scalability problem also solves the latency problem, because the | |||
| finer sawteeth cause very little queuing delay. A supporting paper | finer sawteeth cause very little queuing delay. A supporting paper | |||
| [DCttH15] gives the full explanation of why the design solves both | [DCttH15] gives the full explanation of why the design solves both | |||
| the latency and the scaling problems, both in plain English and in | the latency and the scaling problems, both in plain English and in | |||
| more precise mathematical form. The explanation is summarised | more precise mathematical form. The explanation is summarised | |||
| without the maths in the L4S architecture document | without the maths in the L4S architecture document | |||
| [I-D.ietf-tsvwg-l4s-arch]. | [I-D.ietf-tsvwg-l4s-arch]. | |||
| skipping to change at page 9, line 14 ¶ | skipping to change at page 9, line 14 ¶ | |||
| marked with the CE codepoint. This is termed a scalable congestion | marked with the CE codepoint. This is termed a scalable congestion | |||
| control, because the number of control signals (ECN marks) per round | control, because the number of control signals (ECN marks) per round | |||
| trip remains roughly constant for any flow rate. As with all | trip remains roughly constant for any flow rate. As with all | |||
| transport behaviours, a detailed specification will need to be | transport behaviours, a detailed specification will need to be | |||
| defined for each type of transport or application, including the | defined for each type of transport or application, including the | |||
| timescale over which the proportionality is averaged, and control of | timescale over which the proportionality is averaged, and control of | |||
| burstiness. The inverse proportionality requirement above is worded | burstiness. The inverse proportionality requirement above is worded | |||
| as a 'SHOULD' rather than a 'MUST' to allow reasonable flexibility | as a 'SHOULD' rather than a 'MUST' to allow reasonable flexibility | |||
| when defining these specifications. | when defining these specifications. | |||
| Data Center TCP (DCTCP [I-D.ietf-tcpm-dctcp]) is an example of a | Data Center TCP (DCTCP [RFC8257]) is an example of a scalable | |||
| scalable congestion control. | congestion control. | |||
| Each sender in a session can use a scalable congestion control | Each sender in a session can use a scalable congestion control | |||
| independently of the congestion control used by the receiver(s) when | independently of the congestion control used by the receiver(s) when | |||
| they send data. Therefore there might be ECT(1) packets in one | they send data. Therefore there might be ECT(1) packets in one | |||
| direction and ECT(0) in the other. | direction and ECT(0) in the other. | |||
| In order to coexist safely with other Internet traffic, a scalable | In order to coexist safely with other Internet traffic, a scalable | |||
| congestion control MUST NOT identify its packets with the ECT(1) | congestion control MUST NOT identify its packets with the ECT(1) | |||
| codepoint unless it complies with the following bulleted | codepoint unless it complies with the following bulleted | |||
| requirements. The specification of a particular scalable congestion | requirements. The specification of a particular scalable congestion | |||
| skipping to change at page 12, line 24 ¶ | skipping to change at page 12, line 24 ¶ | |||
| McGregor for the discussions that led to this specification. Ing-jyh | McGregor for the discussions that led to this specification. Ing-jyh | |||
| (Inton) Tsang was a contributor to the early drafts of this document. | (Inton) Tsang was a contributor to the early drafts of this document. | |||
| inAppendix A listing the TCP Prague Requirements is based on text | inAppendix A listing the TCP Prague Requirements is based on text | |||
| authored by Marcelo Bagnulo Braun that was originally an appendix to | authored by Marcelo Bagnulo Braun that was originally an appendix to | |||
| [I-D.ietf-tsvwg-l4s-arch]. That text was in turn based on the | [I-D.ietf-tsvwg-l4s-arch]. That text was in turn based on the | |||
| collective output of the attendees listed in the minutes of a 'bar | collective output of the attendees listed in the minutes of a 'bar | |||
| BoF' on DCTCP Evolution during IETF-94 [TCPPrague]. | BoF' on DCTCP Evolution during IETF-94 [TCPPrague]. | |||
| The authors' contributions were part-funded by the European Community | The authors' contributions were part-funded by the European Community | |||
| under its Seventh Framework Programme through the Reducing Internet | under its Seventh Framework Programme through the Reducing Internet | |||
| Transport Latency (RITE) project (ICT-317700). The views expressed | Transport Latency (RITE) project (ICT-317700). Bob Briscoe was also | |||
| here are solely those of the authors. | part-funded by the Research Council of Norway through the TimeIn | |||
| project. The views expressed here are solely those of the authors. | ||||
| 6. References | 6. References | |||
| 6.1. Normative References | 6.1. Normative References | |||
| [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, | |||
| <http://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, | |||
| <http://www.rfc-editor.org/info/rfc3168>. | <https://www.rfc-editor.org/info/rfc3168>. | |||
| [RFC4774] Floyd, S., "Specifying Alternate Semantics for the | [RFC4774] Floyd, S., "Specifying Alternate Semantics for the | |||
| Explicit Congestion Notification (ECN) Field", BCP 124, | Explicit Congestion Notification (ECN) Field", BCP 124, | |||
| RFC 4774, DOI 10.17487/RFC4774, November 2006, | RFC 4774, DOI 10.17487/RFC4774, November 2006, | |||
| <http://www.rfc-editor.org/info/rfc4774>. | <https://www.rfc-editor.org/info/rfc4774>. | |||
| [RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P., | [RFC6679] Westerlund, M., Johansson, I., Perkins, C., O'Hanlon, P., | |||
| and K. Carlberg, "Explicit Congestion Notification (ECN) | and K. Carlberg, "Explicit Congestion Notification (ECN) | |||
| for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August | for RTP over UDP", RFC 6679, DOI 10.17487/RFC6679, August | |||
| 2012, <http://www.rfc-editor.org/info/rfc6679>. | 2012, <https://www.rfc-editor.org/info/rfc6679>. | |||
| 6.2. Informative References | 6.2. Informative References | |||
| [Alizadeh-stability] | [Alizadeh-stability] | |||
| Alizadeh, M., Javanmard, A., and B. Prabhakar, "Analysis | Alizadeh, M., Javanmard, A., and B. Prabhakar, "Analysis | |||
| of DCTCP: Stability, Convergence, and Fairness", ACM | of DCTCP: Stability, Convergence, and Fairness", ACM | |||
| SIGMETRICS 2011 , June 2011. | SIGMETRICS 2011 , June 2011. | |||
| [ARED01] Floyd, S., Gummadi, R., and S. Shenker, "Adaptive RED: An | [ARED01] Floyd, S., Gummadi, R., and S. Shenker, "Adaptive RED: An | |||
| Algorithm for Increasing the Robustness of RED's Active | Algorithm for Increasing the Robustness of RED's Active | |||
| Queue Management", ACIRI Technical Report , August 2001, | Queue Management", ACIRI Technical Report , August 2001, | |||
| <http://www.icir.org/floyd/red.html>. | <http://www.icir.org/floyd/red.html>. | |||
| [DCttH15] De Schepper, K., Bondarenko, O., Briscoe, B., and I. | [DCttH15] De Schepper, K., Bondarenko, O., Briscoe, B., and I. | |||
| Tsang, "'Data Centre to the Home': Ultra-Low Latency for | Tsang, "'Data Centre to the Home': Ultra-Low Latency for | |||
| All", 2015, <http://www.bobbriscoe.net/projects/latency/ | All", 2015, <http://www.bobbriscoe.net/projects/latency/ | |||
| dctth_preprint.pdf>. | dctth_preprint.pdf>. | |||
| (Under submission) | (Under submission) | |||
| [I-D.bagnulo-tcpm-generalized-ecn] | ||||
| Bagnulo, M. and B. Briscoe, "Adding Explicit Congestion | ||||
| Notification (ECN) to TCP control packets and TCP | ||||
| retransmissions", draft-bagnulo-tcpm-generalized-ecn-03 | ||||
| (work in progress), April 2017. | ||||
| [I-D.bagnulo-tswg-generalized-ecn] | ||||
| Bagnulo, M. and B. Briscoe, "Adding Explicit Congestion | ||||
| Notification (ECN) to TCP control packets", draft-bagnulo- | ||||
| tswg-generalized-ecn-00 (work in progress), July 2016. | ||||
| [I-D.ietf-aqm-fq-codel] | [I-D.ietf-aqm-fq-codel] | |||
| Hoeiland-Joergensen, T., McKenney, P., | Hoeiland-Joergensen, T., McKenney, P., | |||
| dave.taht@gmail.com, d., Gettys, J., and E. Dumazet, "The | dave.taht@gmail.com, d., Gettys, J., and E. Dumazet, "The | |||
| FlowQueue-CoDel Packet Scheduler and Active Queue | FlowQueue-CoDel Packet Scheduler and Active Queue | |||
| Management Algorithm", draft-ietf-aqm-fq-codel-06 (work in | Management Algorithm", draft-ietf-aqm-fq-codel-06 (work in | |||
| progress), March 2016. | progress), March 2016. | |||
| [I-D.ietf-aqm-pie] | [I-D.ietf-aqm-pie] | |||
| Pan, R., Natarajan, P., Baker, F., and G. White, "PIE: A | Pan, R., Natarajan, P., Baker, F., and G. White, "PIE: A | |||
| Lightweight Control Scheme To Address the Bufferbloat | Lightweight Control Scheme To Address the Bufferbloat | |||
| Problem", draft-ietf-aqm-pie-10 (work in progress), | Problem", draft-ietf-aqm-pie-10 (work in progress), | |||
| September 2016. | September 2016. | |||
| [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-02 (work in progress), October 2016. | ecn-03 (work in progress), May 2017. | |||
| [I-D.ietf-tcpm-cubic] | [I-D.ietf-tcpm-cubic] | |||
| Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and | Rhee, I., Xu, L., Ha, S., Zimmermann, A., Eggert, L., and | |||
| R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", | R. Scheffenegger, "CUBIC for Fast Long-Distance Networks", | |||
| draft-ietf-tcpm-cubic-04 (work in progress), February | draft-ietf-tcpm-cubic-06 (work in progress), September | |||
| 2017. | 2017. | |||
| [I-D.ietf-tcpm-dctcp] | [I-D.ietf-tcpm-generalized-ecn] | |||
| Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., | Bagnulo, M. and B. Briscoe, "ECN++: Adding Explicit | |||
| and G. Judd, "Datacenter TCP (DCTCP): TCP Congestion | Congestion Notification (ECN) to TCP Control Packets", | |||
| Control for Datacenters", draft-ietf-tcpm-dctcp-05 (work | draft-ietf-tcpm-generalized-ecn-02 (work in progress), | |||
| in progress), March 2017. | October 2017. | |||
| [I-D.ietf-tsvwg-aqm-dualq-coupled] | [I-D.ietf-tsvwg-aqm-dualq-coupled] | |||
| Schepper, K., Briscoe, B., Bondarenko, O., and I. Tsang, | Schepper, K., Briscoe, B., Bondarenko, O., and I. Tsang, | |||
| "DualQ Coupled AQM for Low Latency, Low Loss and Scalable | "DualQ Coupled AQM for Low Latency, Low Loss and Scalable | |||
| Throughput", draft-ietf-tsvwg-aqm-dualq-coupled-00 (work | Throughput", draft-ietf-tsvwg-aqm-dualq-coupled-01 (work | |||
| in progress), November 2016. | in progress), July 2017. | |||
| [I-D.ietf-tsvwg-ecn-encap-guidelines] | [I-D.ietf-tsvwg-ecn-encap-guidelines] | |||
| Briscoe, B., Kaippallimalil, J., and P. Thaler, | Briscoe, B., Kaippallimalil, J., and P. Thaler, | |||
| "Guidelines for Adding Congestion Notification to | "Guidelines for Adding Congestion Notification to | |||
| Protocols that Encapsulate IP", draft-ietf-tsvwg-ecn- | Protocols that Encapsulate IP", draft-ietf-tsvwg-ecn- | |||
| encap-guidelines-08 (work in progress), March 2017. | encap-guidelines-09 (work in progress), July 2017. | |||
| [I-D.ietf-tsvwg-ecn-experimentation] | [I-D.ietf-tsvwg-ecn-experimentation] | |||
| Black, D., "Explicit Congestion Notification (ECN) | Black, D., "Relaxing Restrictions on Explicit Congestion | |||
| Experimentation", draft-ietf-tsvwg-ecn-experimentation-00 | Notification (ECN) Experimentation", draft-ietf-tsvwg-ecn- | |||
| (work in progress), November 2016. | experimentation-07 (work in progress), October 2017. | |||
| [I-D.ietf-tsvwg-l4s-arch] | [I-D.ietf-tsvwg-l4s-arch] | |||
| Briscoe, B., Schepper, K., and M. Bagnulo, "Low Latency, | Briscoe, B., Schepper, K., and M. Bagnulo, "Low Latency, | |||
| Low Loss, Scalable Throughput (L4S) Internet Service: | Low Loss, Scalable Throughput (L4S) Internet Service: | |||
| Architecture", draft-ietf-tsvwg-l4s-arch-00 (work in | Architecture", draft-ietf-tsvwg-l4s-arch-00 (work in | |||
| progress), November 2016. | progress), May 2017. | |||
| [I-D.moncaster-tcpm-rcv-cheat] | [I-D.moncaster-tcpm-rcv-cheat] | |||
| Moncaster, T., Briscoe, B., and A. Jacquet, "A TCP Test to | Moncaster, T., Briscoe, B., and A. Jacquet, "A TCP Test to | |||
| Allow Senders to Identify Receiver Non-Compliance", draft- | Allow Senders to Identify Receiver Non-Compliance", draft- | |||
| moncaster-tcpm-rcv-cheat-03 (work in progress), July 2014. | moncaster-tcpm-rcv-cheat-03 (work in progress), July 2014. | |||
| [I-D.sridharan-tcpm-ctcp] | [I-D.sridharan-tcpm-ctcp] | |||
| Sridharan, M., Tan, K., Bansal, D., and D. Thaler, | Sridharan, M., Tan, K., Bansal, D., and D. Thaler, | |||
| "Compound TCP: A New TCP Congestion Control for High-Speed | "Compound TCP: A New TCP Congestion Control for High-Speed | |||
| and Long Distance Networks", draft-sridharan-tcpm-ctcp-02 | and Long Distance Networks", draft-sridharan-tcpm-ctcp-02 | |||
| skipping to change at page 15, line 17 ¶ | skipping to change at page 14, line 51 ¶ | |||
| Control Transmission Protocol (SCTP)", draft-stewart- | Control Transmission Protocol (SCTP)", draft-stewart- | |||
| tsvwg-sctpecn-05 (work in progress), January 2014. | tsvwg-sctpecn-05 (work in progress), January 2014. | |||
| [Mathis09] | [Mathis09] | |||
| Mathis, M., "Relentless Congestion Control", PFLDNeT'09 , | Mathis, M., "Relentless Congestion Control", PFLDNeT'09 , | |||
| May 2009, <http://www.hpcc.jp/pfldnet2009/ | May 2009, <http://www.hpcc.jp/pfldnet2009/ | |||
| Program_files/1569198525.pdf>. | Program_files/1569198525.pdf>. | |||
| [QV] Briscoe, B. and P. Hurtig, "Up to Speed with Queue View", | [QV] Briscoe, B. and P. Hurtig, "Up to Speed with Queue View", | |||
| RITE Technical Report D2.3; Appendix C.2, August 2015, | RITE Technical Report D2.3; Appendix C.2, August 2015, | |||
| <https://riteproject.files.wordpress.com/2015/12/rite- | <https://riteproject.files.wordpress.com/2015/12/ | |||
| deliverable-2-3.pdf>. | rite-deliverable-2-3.pdf>. | |||
| [RFC2309] Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, | [RFC2309] Braden, B., Clark, D., Crowcroft, J., Davie, B., Deering, | |||
| S., Estrin, D., Floyd, S., Jacobson, V., Minshall, G., | S., Estrin, D., Floyd, S., Jacobson, V., Minshall, G., | |||
| Partridge, C., Peterson, L., Ramakrishnan, K., Shenker, | Partridge, C., Peterson, L., Ramakrishnan, K., Shenker, | |||
| S., Wroclawski, J., and L. Zhang, "Recommendations on | S., Wroclawski, J., and L. Zhang, "Recommendations on | |||
| Queue Management and Congestion Avoidance in the | Queue Management and Congestion Avoidance in the | |||
| Internet", RFC 2309, DOI 10.17487/RFC2309, April 1998, | Internet", RFC 2309, DOI 10.17487/RFC2309, April 1998, | |||
| <http://www.rfc-editor.org/info/rfc2309>. | <https://www.rfc-editor.org/info/rfc2309>. | |||
| [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | [RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, | |||
| "Definition of the Differentiated Services Field (DS | "Definition of the Differentiated Services Field (DS | |||
| Field) in the IPv4 and IPv6 Headers", RFC 2474, | Field) in the IPv4 and IPv6 Headers", RFC 2474, | |||
| DOI 10.17487/RFC2474, December 1998, | DOI 10.17487/RFC2474, December 1998, | |||
| <http://www.rfc-editor.org/info/rfc2474>. | <https://www.rfc-editor.org/info/rfc2474>. | |||
| [RFC2983] Black, D., "Differentiated Services and Tunnels", | [RFC2983] Black, D., "Differentiated Services and Tunnels", | |||
| RFC 2983, DOI 10.17487/RFC2983, October 2000, | RFC 2983, DOI 10.17487/RFC2983, October 2000, | |||
| <http://www.rfc-editor.org/info/rfc2983>. | <https://www.rfc-editor.org/info/rfc2983>. | |||
| [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | [RFC3246] Davie, B., Charny, A., Bennet, J., Benson, K., Le Boudec, | |||
| J., Courtney, W., Davari, S., Firoiu, V., and D. | J., Courtney, W., Davari, S., Firoiu, V., and D. | |||
| Stiliadis, "An Expedited Forwarding PHB (Per-Hop | Stiliadis, "An Expedited Forwarding PHB (Per-Hop | |||
| Behavior)", RFC 3246, DOI 10.17487/RFC3246, March 2002, | Behavior)", RFC 3246, DOI 10.17487/RFC3246, March 2002, | |||
| <http://www.rfc-editor.org/info/rfc3246>. | <https://www.rfc-editor.org/info/rfc3246>. | |||
| [RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | [RFC3540] Spring, N., Wetherall, D., and D. Ely, "Robust Explicit | |||
| Congestion Notification (ECN) Signaling with Nonces", | Congestion Notification (ECN) Signaling with Nonces", | |||
| RFC 3540, DOI 10.17487/RFC3540, June 2003, | RFC 3540, DOI 10.17487/RFC3540, June 2003, | |||
| <http://www.rfc-editor.org/info/rfc3540>. | <https://www.rfc-editor.org/info/rfc3540>. | |||
| [RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows", | [RFC3649] Floyd, S., "HighSpeed TCP for Large Congestion Windows", | |||
| RFC 3649, DOI 10.17487/RFC3649, December 2003, | RFC 3649, DOI 10.17487/RFC3649, December 2003, | |||
| <http://www.rfc-editor.org/info/rfc3649>. | <https://www.rfc-editor.org/info/rfc3649>. | |||
| [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram | [RFC4340] Kohler, E., Handley, M., and S. Floyd, "Datagram | |||
| Congestion Control Protocol (DCCP)", RFC 4340, | Congestion Control Protocol (DCCP)", RFC 4340, | |||
| DOI 10.17487/RFC4340, March 2006, | DOI 10.17487/RFC4340, March 2006, | |||
| <http://www.rfc-editor.org/info/rfc4340>. | <https://www.rfc-editor.org/info/rfc4340>. | |||
| [RFC4341] Floyd, S. and E. Kohler, "Profile for Datagram Congestion | [RFC4341] Floyd, S. and E. Kohler, "Profile for Datagram Congestion | |||
| Control Protocol (DCCP) Congestion Control ID 2: TCP-like | Control Protocol (DCCP) Congestion Control ID 2: TCP-like | |||
| Congestion Control", RFC 4341, DOI 10.17487/RFC4341, March | Congestion Control", RFC 4341, DOI 10.17487/RFC4341, March | |||
| 2006, <http://www.rfc-editor.org/info/rfc4341>. | 2006, <https://www.rfc-editor.org/info/rfc4341>. | |||
| [RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for | [RFC4342] Floyd, S., Kohler, E., and J. Padhye, "Profile for | |||
| Datagram Congestion Control Protocol (DCCP) Congestion | Datagram Congestion Control Protocol (DCCP) Congestion | |||
| Control ID 3: TCP-Friendly Rate Control (TFRC)", RFC 4342, | Control ID 3: TCP-Friendly Rate Control (TFRC)", RFC 4342, | |||
| DOI 10.17487/RFC4342, March 2006, | DOI 10.17487/RFC4342, March 2006, | |||
| <http://www.rfc-editor.org/info/rfc4342>. | <https://www.rfc-editor.org/info/rfc4342>. | |||
| [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | [RFC4960] Stewart, R., Ed., "Stream Control Transmission Protocol", | |||
| RFC 4960, DOI 10.17487/RFC4960, September 2007, | RFC 4960, DOI 10.17487/RFC4960, September 2007, | |||
| <http://www.rfc-editor.org/info/rfc4960>. | <https://www.rfc-editor.org/info/rfc4960>. | |||
| [RFC5562] Kuzmanovic, A., Mondal, A., Floyd, S., and K. | [RFC5562] Kuzmanovic, A., Mondal, A., Floyd, S., and K. | |||
| Ramakrishnan, "Adding Explicit Congestion Notification | Ramakrishnan, "Adding Explicit Congestion Notification | |||
| (ECN) Capability to TCP's SYN/ACK Packets", RFC 5562, | (ECN) Capability to TCP's SYN/ACK Packets", RFC 5562, | |||
| DOI 10.17487/RFC5562, June 2009, | DOI 10.17487/RFC5562, June 2009, | |||
| <http://www.rfc-editor.org/info/rfc5562>. | <https://www.rfc-editor.org/info/rfc5562>. | |||
| [RFC5622] Floyd, S. and E. Kohler, "Profile for Datagram Congestion | [RFC5622] Floyd, S. and E. Kohler, "Profile for Datagram Congestion | |||
| Control Protocol (DCCP) Congestion ID 4: TCP-Friendly Rate | Control Protocol (DCCP) Congestion ID 4: TCP-Friendly Rate | |||
| Control for Small Packets (TFRC-SP)", RFC 5622, | Control for Small Packets (TFRC-SP)", RFC 5622, | |||
| DOI 10.17487/RFC5622, August 2009, | DOI 10.17487/RFC5622, August 2009, | |||
| <http://www.rfc-editor.org/info/rfc5622>. | <https://www.rfc-editor.org/info/rfc5622>. | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc5681>. | <https://www.rfc-editor.org/info/rfc5681>. | |||
| [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | [RFC5925] Touch, J., Mankin, A., and R. Bonica, "The TCP | |||
| Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | Authentication Option", RFC 5925, DOI 10.17487/RFC5925, | |||
| June 2010, <http://www.rfc-editor.org/info/rfc5925>. | June 2010, <https://www.rfc-editor.org/info/rfc5925>. | |||
| [RFC6077] Papadimitriou, D., Ed., Welzl, M., Scharf, M., and B. | [RFC6077] Papadimitriou, D., Ed., Welzl, M., Scharf, M., and B. | |||
| Briscoe, "Open Research Issues in Internet Congestion | Briscoe, "Open Research Issues in Internet Congestion | |||
| Control", RFC 6077, DOI 10.17487/RFC6077, February 2011, | Control", RFC 6077, DOI 10.17487/RFC6077, February 2011, | |||
| <http://www.rfc-editor.org/info/rfc6077>. | <https://www.rfc-editor.org/info/rfc6077>. | |||
| [RFC6660] Briscoe, B., Moncaster, T., and M. Menth, "Encoding Three | [RFC6660] Briscoe, B., Moncaster, T., and M. Menth, "Encoding Three | |||
| Pre-Congestion Notification (PCN) States in the IP Header | Pre-Congestion Notification (PCN) States in the IP Header | |||
| Using a Single Diffserv Codepoint (DSCP)", RFC 6660, | Using a Single Diffserv Codepoint (DSCP)", RFC 6660, | |||
| DOI 10.17487/RFC6660, July 2012, | DOI 10.17487/RFC6660, July 2012, | |||
| <http://www.rfc-editor.org/info/rfc6660>. | <https://www.rfc-editor.org/info/rfc6660>. | |||
| [RFC7560] Kuehlewind, M., Ed., Scheffenegger, R., and B. Briscoe, | [RFC7560] Kuehlewind, M., Ed., Scheffenegger, R., and B. Briscoe, | |||
| "Problem Statement and Requirements for Increased Accuracy | "Problem Statement and Requirements for Increased Accuracy | |||
| in Explicit Congestion Notification (ECN) Feedback", | in Explicit Congestion Notification (ECN) Feedback", | |||
| RFC 7560, DOI 10.17487/RFC7560, August 2015, | RFC 7560, DOI 10.17487/RFC7560, August 2015, | |||
| <http://www.rfc-editor.org/info/rfc7560>. | <https://www.rfc-editor.org/info/rfc7560>. | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc7567>. | <https://www.rfc-editor.org/info/rfc7567>. | |||
| [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, | |||
| <http://www.rfc-editor.org/info/rfc7713>. | <https://www.rfc-editor.org/info/rfc7713>. | |||
| [RFC8257] Bensley, S., Thaler, D., Balasubramanian, P., Eggert, L., | ||||
| and G. Judd, "Data Center TCP (DCTCP): TCP Congestion | ||||
| Control for Data Centers", RFC 8257, DOI 10.17487/RFC8257, | ||||
| October 2017, <https://www.rfc-editor.org/info/rfc8257>. | ||||
| [TCP-sub-mss-w] | [TCP-sub-mss-w] | |||
| Briscoe, B. and K. De Schepper, "Scaling TCP's Congestion | Briscoe, B. and K. De Schepper, "Scaling TCP's Congestion | |||
| Window for Small Round Trip Times", BT Technical Report | Window for Small Round Trip Times", BT Technical Report | |||
| TR-TUB8-2015-002, May 2015, | TR-TUB8-2015-002, May 2015, | |||
| <http://www.bobbriscoe.net/projects/latency/ | <http://www.bobbriscoe.net/projects/latency/ | |||
| sub-mss-w.pdf>. | sub-mss-w.pdf>. | |||
| [TCPPrague] | [TCPPrague] | |||
| Briscoe, B., "Notes: DCTCP evolution 'bar BoF': Tue 21 Jul | Briscoe, B., "Notes: DCTCP evolution 'bar BoF': Tue 21 Jul | |||
| skipping to change at page 18, line 13 ¶ | skipping to change at page 17, line 50 ¶ | |||
| L4S identifier in packets it sends into the Internet. As well as | L4S identifier in packets it sends into the Internet. As well as | |||
| necessary safety improvements (requirements) this appendix also | necessary safety improvements (requirements) this appendix also | |||
| includes preferable performance improvements (optimizations). | includes preferable performance improvements (optimizations). | |||
| These recommendations have become know as the TCP Prague | These recommendations have become know as the TCP Prague | |||
| Requirements, because they were originally identified at an ad hoc | Requirements, because they were originally identified at an ad hoc | |||
| meeting during IETF-94 in Prague [TCPPrague]. The wording has been | meeting during IETF-94 in Prague [TCPPrague]. The wording has been | |||
| generalized to apply to all scalable congestion controls, not just | generalized to apply to all scalable congestion controls, not just | |||
| TCP congestion control specifically. | TCP congestion control specifically. | |||
| DCTCP [I-D.ietf-tcpm-dctcp] is currently the most widely used | DCTCP [RFC8257] is currently the most widely used scalable transport | |||
| scalable transport protocol. In its current form, DCTCP is specified | protocol. In its current form, DCTCP is specified to be deployable | |||
| to be deployable only in controlled environments. Deploying it in | only in controlled environments. Deploying it in the public Internet | |||
| the public Internet would lead to a number of issues, both from the | would lead to a number of issues, both from the safety and the | |||
| safety and the performance perspective. The modifications and | performance perspective. The modifications and additional mechanisms | |||
| additional mechanisms listed in this section will be necessary for | listed in this section will be necessary for its deployment over the | |||
| its deployment over the global Internet. Where an example is needed, | global Internet. Where an example is needed, DCTCP is used as a | |||
| DCTCP is used as a base, but it is likely that most of these | base, but it is likely that most of these requirements equally apply | |||
| requirements equally apply to other scalable transport protocols. | to other scalable transport protocols. | |||
| A.1. Requirements for Scalable Transport Protocols | A.1. Requirements for Scalable Transport Protocols | |||
| A.1.1. Use of L4S Packet Identifier | A.1.1. Use of L4S Packet Identifier | |||
| Description: A scalable congestion control needs to distinguish the | Description: A scalable congestion control needs to distinguish the | |||
| packets it sends from those sent by classic congestion controls. | packets it sends from those sent by classic congestion controls. | |||
| Motivation: It needs to be possible for a network node to classify | Motivation: It needs to be possible for a network node to classify | |||
| L4S packets without flow state into a queue that applies an L4S ECN | L4S packets without flow state into a queue that applies an L4S ECN | |||
| skipping to change at page 21, line 35 ¶ | skipping to change at page 21, line 24 ¶ | |||
| Description: To improve performance, scalable transport protocols | Description: To improve performance, scalable transport protocols | |||
| ought to enable ECN at the IP layer in TCP control packets (SYN, SYN- | ought to enable ECN at the IP layer in TCP control packets (SYN, SYN- | |||
| ACK, pure ACKs, etc.) and in retransmitted packets. The same is true | ACK, pure ACKs, etc.) and in retransmitted packets. The same is true | |||
| for derivatives of TCP, e.g. SCTP. | for derivatives of TCP, e.g. SCTP. | |||
| Motivation: RFC 3168 prohibits the use of ECN on these types of TCP | Motivation: RFC 3168 prohibits the use of ECN on these types of TCP | |||
| packet, based on a number of arguments. This means these packets are | packet, based on a number of arguments. This means these packets are | |||
| not protected from congestion loss by ECN, which considerably harms | not protected from congestion loss by ECN, which considerably harms | |||
| performance, particularly for short flows. | performance, particularly for short flows. | |||
| [I-D.bagnulo-tcpm-generalized-ecn] counters each argument in RFC 3168 | [I-D.ietf-tcpm-generalized-ecn] counters each argument in RFC 3168 in | |||
| in turn, showing it was over-cautious. Instead it proposes | turn, showing it was over-cautious. Instead it proposes experimental | |||
| experimental use of ECN on all types of TCP packet. | use of ECN on all types of TCP packet. | |||
| A.2.2. Faster than Additive Increase | A.2.2. Faster than Additive Increase | |||
| Description: It would improve performance if scalable congestion | Description: It would improve performance if scalable congestion | |||
| controls did not limit their congestion window increase to the | controls did not limit their congestion window increase to the | |||
| traditional additive increase of 1 MSS per round trip [RFC5681] | traditional additive increase of 1 MSS per round trip [RFC5681] | |||
| during congestion avoidance. The same is true for derivatives of TCP | during congestion avoidance. The same is true for derivatives of TCP | |||
| congestion control. | congestion control. | |||
| Motivation: As currently defined, DCTCP uses the traditional TCP Reno | Motivation: As currently defined, DCTCP uses the traditional TCP Reno | |||
| skipping to change at page 24, line 22 ¶ | skipping to change at page 24, line 9 ¶ | |||
| Non-L4S service for control packets: The classic ECN RFCs [RFC3168] | Non-L4S service for control packets: The classic ECN RFCs [RFC3168] | |||
| and [RFC5562] require a sender to clear the ECN field to Not-ECT | and [RFC5562] require a sender to clear the ECN field to Not-ECT | |||
| for retransmissions and certain control packets specifically pure | for retransmissions and certain control packets specifically pure | |||
| ACKs, window probes and SYNs. When L4S packets are classified by | ACKs, window probes and SYNs. When L4S packets are classified by | |||
| the ECN field alone, these control packets would not be classified | the ECN field alone, these control packets would not be classified | |||
| into an L4S queue, and could therefore be delayed relative to the | into an L4S queue, and could therefore be delayed relative to the | |||
| other packets in the flow. This would not cause re-ordering | other packets in the flow. This would not cause re-ordering | |||
| (because retransmissions are already out of order, and the control | (because retransmissions are already out of order, and the control | |||
| packets carry no data). However, it would make critical control | packets carry no data). However, it would make critical control | |||
| packets more vulnerable to loss and delay. To address this | packets more vulnerable to loss and delay. To address this | |||
| problem, [I-D.bagnulo-tswg-generalized-ecn] proposes an experiment | problem, [I-D.ietf-tcpm-generalized-ecn] proposes an experiment in | |||
| in which all TCP control packets and retransmissions are ECN- | which all TCP control packets and retransmissions are ECN-capable. | |||
| capable. | ||||
| Pros: | Pros: | |||
| Should work e2e: The ECN field generally works end-to-end across the | Should work e2e: The ECN field generally works end-to-end across the | |||
| Internet. Unlike the DSCP, the setting of the ECN field is at | Internet. Unlike the DSCP, the setting of the ECN field is at | |||
| least forwarded unchanged by networks that do not support ECN, and | least forwarded unchanged by networks that do not support ECN, and | |||
| networks rarely clear it to zero; | networks rarely clear it to zero; | |||
| Should work in tunnels: Unlike Diffserv, ECN is defined to always | Should work in tunnels: Unlike Diffserv, ECN is defined to always | |||
| work across tunnels. However, tunnels do not always implement ECN | work across tunnels. However, tunnels do not always implement ECN | |||
| skipping to change at page 32, line 4 ¶ | skipping to change at page 31, line 39 ¶ | |||
| less severe level of pre-congestion notification than CE [RFC6660]. | less severe level of pre-congestion notification than CE [RFC6660]. | |||
| However, the ECN field only takes on the PCN semantics if packets | However, the ECN field only takes on the PCN semantics if packets | |||
| carry a Diffserv codepoint defined to indicate PCN marking within a | carry a Diffserv codepoint defined to indicate PCN marking within a | |||
| controlled environment. PCN is required to be applied solely to the | controlled environment. PCN is required to be applied solely to the | |||
| outer header of a tunnel across the controlled region in order not to | outer header of a tunnel across the controlled region in order not to | |||
| interfere with any end-to-end use of the ECN field. Therefore a PCN | interfere with any end-to-end use of the ECN field. Therefore a PCN | |||
| region on the path would not interfere with any of the L4S service | region on the path would not interfere with any of the L4S service | |||
| identifiers proposed in Appendix B. | identifiers proposed in Appendix B. | |||
| Authors' Addresses | Authors' Addresses | |||
| Koen De Schepper | Koen De Schepper | |||
| Nokia Bell Labs | Nokia Bell Labs | |||
| Antwerp | Antwerp | |||
| Belgium | Belgium | |||
| Email: koen.de_schepper@nokia.com | Email: koen.de_schepper@nokia.com | |||
| URI: https://www.bell-labs.com/usr/koen.de_schepper | URI: https://www.bell-labs.com/usr/koen.de_schepper | |||
| Bob Briscoe (editor) | Bob Briscoe (editor) | |||
| Simula Research Lab | CableLabs | |||
| UK | ||||
| Email: ietf@bobbriscoe.net | Email: ietf@bobbriscoe.net | |||
| URI: http://bobbriscoe.net/ | URI: http://bobbriscoe.net/ | |||
| End of changes. 51 change blocks. | ||||
| 91 lines changed or deleted | 86 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/ | ||||