| rfc7560v4.txt | rfc7560.txt | |||
|---|---|---|---|---|
| Internet Engineering Task Force (IETF) M. Kuehlewind, Ed. | Internet Engineering Task Force (IETF) M. Kuehlewind, Ed. | |||
| Request for Comments: 7560 ETH Zurich | Request for Comments: 7560 ETH Zurich | |||
| Category: Informational R. Scheffenegger | Category: Informational R. Scheffenegger | |||
| ISSN: 2070-1721 NetApp, Inc. | ISSN: 2070-1721 NetApp, Inc. | |||
| B. Briscoe | B. Briscoe | |||
| BT | BT | |||
| July 2015 | August 2015 | |||
| 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 | |||
| Abstract | Abstract | |||
| Explicit Congestion Notification (ECN) is a mechanism where network | Explicit Congestion Notification (ECN) is a mechanism where network | |||
| nodes can mark IP packets, instead of dropping them, to indicate | nodes can mark IP packets, instead of dropping them, to indicate | |||
| congestion to the endpoints. An ECN-capable receiver will feed this | congestion to the endpoints. An ECN-capable receiver will feed this | |||
| information back to the sender. ECN is specified for TCP in such a | information back to the sender. ECN is specified for TCP in such a | |||
| skipping to change at page 2, line 17 | skipping to change at page 2, line 22 | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://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 . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2. Recap of Classic ECN and ECN Nonce in IP/TCP . . . . . . . . 4 | 2. Recap of Classic ECN and ECN Nonce in IP/TCP . . . . . . . . 5 | |||
| 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 3. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 7 | 4. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. Design Approaches . . . . . . . . . . . . . . . . . . . . . . 10 | 5. Design Approaches . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1. Redefinition of ECN/NS Header Bits . . . . . . . . . . . 11 | 5.1. Redefinition of ECN/NS Header Bits . . . . . . . . . . . 11 | |||
| 5.2. Using Other Header Bits . . . . . . . . . . . . . . . . . 12 | 5.2. Using Other Header Bits . . . . . . . . . . . . . . . . . 13 | |||
| 5.3. Using a TCP Option . . . . . . . . . . . . . . . . . . . 12 | 5.3. Using a TCP Option . . . . . . . . . . . . . . . . . . . 13 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 13 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 13 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7.1. Normative References . . . . . . . . . . . . . . . . . . 13 | 7.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| 7.2. Informative References . . . . . . . . . . . . . . . . . 14 | 7.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
| Appendix A. Ambiguity of the More Accurate ECN Feedback in DCTCP 15 | Appendix A. Ambiguity of the More Accurate ECN Feedback in DCTCP 16 | |||
| Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 16 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 16 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 1. Introduction | 1. Introduction | |||
| Explicit Congestion Notification (ECN) [RFC3168] is a mechanism where | Explicit Congestion Notification (ECN) [RFC3168] is a mechanism where | |||
| network nodes can mark IP packets instead of dropping them to | network nodes can mark IP packets instead of dropping them to | |||
| indicate congestion to the endpoints. An ECN-capable receiver will | indicate congestion to the endpoints. An ECN-capable receiver will | |||
| feed this information back to the sender. ECN is specified for TCP | feed this information back to the sender. ECN is specified for TCP | |||
| in such a way that only one feedback signal can be transmitted per | in such a way that only one feedback signal can be transmitted per | |||
| Round-Trip Time (RTT). This is sufficient for preexisting TCP | Round-Trip Time (RTT). This is sufficient for preexisting TCP | |||
| congestion control mechanisms that perform only one reduction in | congestion control mechanisms that perform only one reduction in | |||
| skipping to change at page 13, line 39 | skipping to change at page 14, line 33 | |||
| connections consuming excess sender or network resources. This | connections consuming excess sender or network resources. This | |||
| problem is similar to that seen with the classic ECN feedback scheme | problem is similar to that seen with the classic ECN feedback scheme | |||
| and should be addressed by integrity checking as required in | and should be addressed by integrity checking as required in | |||
| Section 4. | Section 4. | |||
| 7. References | 7. References | |||
| 7.1. Normative References | 7.1. Normative References | |||
| [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", RFC | of Explicit Congestion Notification (ECN) to IP", | |||
| 3168, DOI 10.17487/RFC3168, September 2001, | RFC 3168, DOI 10.17487/RFC3168, September 2001, | |||
| <http://www.rfc-editor.org/info/rfc3168>. | <http://www.rfc-editor.org/info/rfc3168>. | |||
| [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", RFC | Congestion Notification (ECN) Signaling with Nonces", | |||
| 3540, DOI 10.17487/RFC3540, June 2003, | RFC 3540, DOI 10.17487/RFC3540, June 2003, | |||
| <http://www.rfc-editor.org/info/rfc3540>. | <http://www.rfc-editor.org/info/rfc3540>. | |||
| 7.2. Informative References | 7.2. Informative References | |||
| [DCTCP] Bensley, S., Eggert, L., and D. Thaler, "Microsoft's | [DCTCP] Bensley, S., Eggert, L., and D. Thaler, "Microsoft's | |||
| Datacenter TCP (DCTCP): TCP Congestion Control for | Datacenter TCP (DCTCP): TCP Congestion Control for | |||
| Datacenters", Work in Progress, draft-bensley-tcpm-dctcp- | Datacenters", Work in Progress, | |||
| 03, April 2015. | draft-bensley-tcpm-dctcp-05, July 2015. | |||
| [ECN-BENEFITS] | [ECN-BENEFITS] | |||
| Fairhurst, G. and M. Welzl, "The Benefits of using | Fairhurst, G. and M. Welzl, "The Benefits of using | |||
| Explicit Congestion Notification (ECN)", Work in Progress | Explicit Congestion Notification (ECN)", Work in Progress | |||
| draft-ietf-aqm-ecn-benefits-04, May 2015. | draft-ietf-aqm-ecn-benefits-06, July 2015. | |||
| [RFC0896] Nagle, J., "Congestion Control in IP/TCP Internetworks", | [RFC0896] Nagle, J., "Congestion Control in IP/TCP Internetworks", | |||
| RFC 896, DOI 10.17487/RFC0896, January 1984, | RFC 896, DOI 10.17487/RFC0896, January 1984, | |||
| <http://www.rfc-editor.org/info/rfc896>. | <http://www.rfc-editor.org/info/rfc896>. | |||
| [RFC2018] Mathis, M., Mahdavi, J., Floyd, S., and A. Romanow, "TCP | [RFC2018] Mathis, M., Mahdavi, J., Floyd, S., and A. Romanow, "TCP | |||
| Selective Acknowledgment Options", RFC 2018, DOI 10.17487/ | Selective Acknowledgment Options", RFC 2018, | |||
| RFC2018, October 1996, | DOI 10.17487/RFC2018, October 1996, | |||
| <http://www.rfc-editor.org/info/rfc2018>. | <http://www.rfc-editor.org/info/rfc2018>. | |||
| [RFC3449] Balakrishnan, H., Padmanabhan, V., Fairhurst, G., and M. | [RFC3449] Balakrishnan, H., Padmanabhan, V., Fairhurst, G., and M. | |||
| Sooriyabandara, "TCP Performance Implications of Network | Sooriyabandara, "TCP Performance Implications of Network | |||
| Path Asymmetry", BCP 69, RFC 3449, DOI 10.17487/RFC3449, | Path Asymmetry", BCP 69, RFC 3449, DOI 10.17487/RFC3449, | |||
| December 2002, <http://www.rfc-editor.org/info/rfc3449>. | December 2002, <http://www.rfc-editor.org/info/rfc3449>. | |||
| [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>. | <http://www.rfc-editor.org/info/rfc5681>. | |||
| [RFC5690] Floyd, S., Arcia, A., Ros, D., and J. Iyengar, "Adding | [RFC5690] Floyd, S., Arcia, A., Ros, D., and J. Iyengar, "Adding | |||
| Acknowledgement Congestion Control to TCP", RFC 5690, DOI | Acknowledgement Congestion Control to TCP", RFC 5690, | |||
| 10.17487/RFC5690, February 2010, | DOI 10.17487/RFC5690, February 2010, | |||
| <http://www.rfc-editor.org/info/rfc5690>. | <http://www.rfc-editor.org/info/rfc5690>. | |||
| [RFC6093] Gont, F. and A. Yourtchenko, "On the Implementation of the | [RFC6093] Gont, F. and A. Yourtchenko, "On the Implementation of the | |||
| TCP Urgent Mechanism", RFC 6093, DOI 10.17487/RFC6093, | TCP Urgent Mechanism", RFC 6093, DOI 10.17487/RFC6093, | |||
| January 2011, <http://www.rfc-editor.org/info/rfc6093>. | January 2011, <http://www.rfc-editor.org/info/rfc6093>. | |||
| [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, <http://www.rfc-editor.org/info/rfc6679>. | |||
| [RFC6789] Briscoe, B., Ed., Woundy, R., Ed., and A. Cooper, Ed., | [RFC6789] Briscoe, B., Ed., Woundy, R., Ed., and A. Cooper, Ed., | |||
| "Congestion Exposure (ConEx) Concepts and Use Cases", RFC | "Congestion Exposure (ConEx) Concepts and Use Cases", | |||
| 6789, DOI 10.17487/RFC6789, December 2012, | RFC 6789, DOI 10.17487/RFC6789, December 2012, | |||
| <http://www.rfc-editor.org/info/rfc6789>. | <http://www.rfc-editor.org/info/rfc6789>. | |||
| [SCTP-ECN] | [SCTP-ECN] | |||
| Stewart, R., Tuexen, M., and X. Dong, "ECN for Stream | Stewart, R., Tuexen, M., and X. Dong, "ECN for Stream | |||
| Control Transmission Protocol (SCTP)", Work in Progress, | Control Transmission Protocol (SCTP)", Work in Progress, | |||
| draft-stewart-tsvwg-sctpecn-05, January 2014. | draft-stewart-tsvwg-sctpecn-05, January 2014. | |||
| [TEST-RCV] | [TEST-RCV] | |||
| 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", Work | Allow Senders to Identify Receiver Non-Compliance", Work | |||
| End of changes. 12 change blocks. | ||||
| 27 lines changed or deleted | 27 lines changed or added | |||
This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||