| < draft-kuhn-quic-careful-resume-00.txt | draft-kuhn-quic-careful-resume-01.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force N. Kuhn | Internet Engineering Task Force N. Kuhn | |||
| Internet-Draft | Internet-Draft Thales Alenia Space | |||
| Intended status: Informational E. Stephan | Intended status: Informational E. Stephan | |||
| Expires: 6 September 2022 Orange | Expires: 7 November 2022 Orange | |||
| G. Fairhurst | G. Fairhurst | |||
| T. Jones | T. Jones | |||
| University of Aberdeen | University of Aberdeen | |||
| C. Huitema | C. Huitema | |||
| Private Octopus Inc. | Private Octopus Inc. | |||
| 5 March 2022 | 6 May 2022 | |||
| Carefully Resume QUIC Session | Carefully Resume QUIC Session | |||
| draft-kuhn-quic-careful-resume-00 | draft-kuhn-quic-careful-resume-01 | |||
| Abstract | Abstract | |||
| This document provides a method to allow a QUIC session to carefully | This document provides a method to allow a QUIC session to carefully | |||
| resume using a previously utilised Internet path. | resume using a previously utilised Internet path. | |||
| The method uses a set of computed congestion control parameters that | The method uses a set of computed congestion control parameters that | |||
| are based on the previously observed path characteristics, such as | are based on the previously observed path characteristics, such as | |||
| the bottleneck bandwidth, available capacity, or the RTT. These | the bottleneck bandwidth, available capacity, or the RTT. These | |||
| parameters are stored and can then used to modify the congestion | parameters are stored and can then used to modify the congestion | |||
| skipping to change at page 1, line 49 ¶ | skipping to change at page 1, line 49 ¶ | |||
| 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 6 September 2022. | This Internet-Draft will expire on 7 November 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 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 (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| skipping to change at page 2, line 30 ¶ | skipping to change at page 2, line 30 ¶ | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Language, notations and terms . . . . . . . . . . . . . . . . 5 | 2. Language, notations and terms . . . . . . . . . . . . . . . . 5 | |||
| 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 5 | |||
| 2.2. Notations and Terms . . . . . . . . . . . . . . . . . . . 5 | 2.2. Notations and Terms . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Scenarios of Interest . . . . . . . . . . . . . . . . . . . . 6 | 3. Scenarios of Interest . . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.1. Large BDP Scenarios . . . . . . . . . . . . . . . . . . . 6 | 3.1. Large BDP Scenarios . . . . . . . . . . . . . . . . . . . 6 | |||
| 3.2. Accomodating from a Known Reduction in Capacity . . . . . 6 | 3.2. Accomodating from a Known Reduction in Capacity . . . . . 6 | |||
| 3.3. Optimizing Client Requests . . . . . . . . . . . . . . . 7 | 3.3. Optimizing Client Requests . . . . . . . . . . . . . . . 7 | |||
| 3.4. Sharing Transport Information across Multiple | 3.4. Sharing Transport Information across Multiple | |||
| Connections . . . . . . . . . . . . . . . . . . . . . . . 7 | Connections . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 3.5. Connection Establishment, Client and Server . . . . . . . 7 | 3.5. Connection Establishment, Client and Server . . . . . . . 8 | |||
| 4. The Phases of CC . . . . . . . . . . . . . . . . . . . . . . 8 | 4. The Phases of CC . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| 5. Safe Jump . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 5. Safe Jump . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 5.1. Rationale behind the Safety Guidelines . . . . . . . . . 9 | 5.1. Rationale behind the Safety Guidelines . . . . . . . . . 9 | |||
| 5.2. Rationale #1: Variable Network Conditions . . . . . . . . 9 | 5.2. Rationale #1: Variable Network Conditions . . . . . . . . 10 | |||
| 5.3. Rationale #2: Malicious clients . . . . . . . . . . . . . 11 | 5.3. Rationale #2: Malicious clients . . . . . . . . . . . . . 11 | |||
| 5.4. Trade-off between the different solutions . . . . . . . . 12 | 5.4. Trade-off between the different solutions . . . . . . . . 12 | |||
| 5.4.1. Interoperability and Use Cases . . . . . . . . . . . 12 | 5.4.1. Interoperability and Use Cases . . . . . . . . . . . 12 | |||
| 5.4.2. Summary . . . . . . . . . . . . . . . . . . . . . . . 12 | 5.4.2. Summary . . . . . . . . . . . . . . . . . . . . . . . 13 | |||
| 6. Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . 14 | 6. Safety Guidelines . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 16 | |||
| 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 16 | |||
| 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 17 | |||
| 10.1. Normative References . . . . . . . . . . . . . . . . . . 17 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 17 | |||
| 10.2. Informative References . . . . . . . . . . . . . . . . . 17 | 10.2. Informative References . . . . . . . . . . . . . . . . . 18 | |||
| Appendix A. Implementation Considerations . . . . . . . . . . . 18 | Appendix A. Implementation Considerations . . . . . . . . . . . 19 | |||
| A.1. Rationale behind the different implementation options . . 19 | A.1. Rationale behind the different implementation options . . 19 | |||
| A.2. Independent Local Storage of Values . . . . . . . . . . . 19 | A.2. Independent Local Storage of Values . . . . . . . . . . . 19 | |||
| A.3. Using NEW_TOKEN frames . . . . . . . . . . . . . . . . . 20 | A.3. Using NEW_TOKEN frames . . . . . . . . . . . . . . . . . 20 | |||
| A.4. BDP Frame . . . . . . . . . . . . . . . . . . . . . . . . 20 | A.4. BDP Frame . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 1. Introduction | 1. Introduction | |||
| The specification for the QUIC transport protocol [RFC9000] notes | The specification for the QUIC transport protocol [RFC9000] notes | |||
| "Generally, implementations are advised to be cautious when using | "Generally, implementations are advised to be cautious when using | |||
| skipping to change at page 4, line 38 ¶ | skipping to change at page 4, line 38 ¶ | |||
| different areas of connectivity with a temporary change in path | different areas of connectivity with a temporary change in path | |||
| characteristics before the user returns to the original path | characteristics before the user returns to the original path | |||
| characteristics). | characteristics). | |||
| In all of these cases, specific characteristics of the path may have | In all of these cases, specific characteristics of the path may have | |||
| been learned, including CC information, such as the available | been learned, including CC information, such as the available | |||
| capacity and RTT. This CC information might be expected to be | capacity and RTT. This CC information might be expected to be | |||
| similar when a new connection is made between the same local and | similar when a new connection is made between the same local and | |||
| remote endpoints. | remote endpoints. | |||
| While the server could take optimization decisions without | ||||
| considering the client's preference, in some cases a client could | ||||
| have information that is not available at the server. A client may | ||||
| provide hints, for example: (1) information abnout how the upper | ||||
| layers expect to use a connection - such as the expected size of | ||||
| transfer; (2) an indication that the path/local interface has | ||||
| changed; (3) information related to current hardware limitations of | ||||
| the client or (4) an understanding about the capacity needs of other | ||||
| concurrent flows that would compete for shared capacity. As a | ||||
| result, a client could explicitely ask for tuning the slow start of | ||||
| the resumed connection, or to inhibit tuning. This is discussed | ||||
| further later in the document. | ||||
| There are also cases where using the parameters of a previous | There are also cases where using the parameters of a previous | |||
| connection are not appropriate, and a need to evaluate the potential | connection are not appropriate, and a need to evaluate the potential | |||
| malicious use of the method. | malicious use of the method. | |||
| The remainder of this document: | The remainder of this document: | |||
| 1. discusses use-cases where carefully resuming QUIC sessions is | 1. discusses use-cases where carefully resuming QUIC sessions is | |||
| expected to have benefit; | expected to have benefit; | |||
| 2. proposes guidelines for how to carefully utilise the previously | 2. proposes guidelines for how to carefully utilise the previously | |||
| skipping to change at page 18, line 12 ¶ | skipping to change at page 18, line 23 ¶ | |||
| 10.2. Informative References | 10.2. Informative References | |||
| [CONEXT15] Li, Q., Dong, M., and P B. Godfrey, "Halfback: Running | [CONEXT15] Li, Q., Dong, M., and P B. Godfrey, "Halfback: Running | |||
| Short Flows Quickly and Safely", ACM CoNEXT , 2015. | Short Flows Quickly and Safely", ACM CoNEXT , 2015. | |||
| [I-D.cardwell-iccrg-bbr-congestion-control] | [I-D.cardwell-iccrg-bbr-congestion-control] | |||
| Cardwell, N., Cheng, Y., Yeganeh, S. H., Swett, I., and V. | Cardwell, N., Cheng, Y., Yeganeh, S. H., Swett, I., and V. | |||
| Jacobson, "BBR Congestion Control", Work in Progress, | Jacobson, "BBR Congestion Control", Work in Progress, | |||
| Internet-Draft, draft-cardwell-iccrg-bbr-congestion- | Internet-Draft, draft-cardwell-iccrg-bbr-congestion- | |||
| control-01, 7 November 2021, | control-02, 7 March 2022, | |||
| <https://www.ietf.org/archive/id/draft-cardwell-iccrg-bbr- | <https://www.ietf.org/archive/id/draft-cardwell-iccrg-bbr- | |||
| congestion-control-01.txt>. | congestion-control-02.txt>. | |||
| [I-D.irtf-iccrg-sallantin-initial-spreading] | [I-D.irtf-iccrg-sallantin-initial-spreading] | |||
| Sallantin, R., Baudoin, C., Arnal, F., Dubois, E., Chaput, | Sallantin, R., Baudoin, C., Arnal, F., Dubois, E., Chaput, | |||
| E., and A. Beylot, "Safe increase of the TCP's Initial | E., and A. Beylot, "Safe increase of the TCP's Initial | |||
| Window Using Initial Spreading", Work in Progress, | Window Using Initial Spreading", Work in Progress, | |||
| Internet-Draft, draft-irtf-iccrg-sallantin-initial- | Internet-Draft, draft-irtf-iccrg-sallantin-initial- | |||
| spreading-00, 15 January 2014, | spreading-00, 15 January 2014, | |||
| <https://www.ietf.org/archive/id/draft-irtf-iccrg- | <https://www.ietf.org/archive/id/draft-irtf-iccrg- | |||
| sallantin-initial-spreading-00.txt>. | sallantin-initial-spreading-00.txt>. | |||
| skipping to change at page 20, line 31 ¶ | skipping to change at page 20, line 45 ¶ | |||
| Using BDP Frames, the server could send information relating to the | Using BDP Frames, the server could send information relating to the | |||
| path characteristics to the client. The use of the BDP Frame is | path characteristics to the client. The use of the BDP Frame is | |||
| negotiated with the client. The client can read its content. If the | negotiated with the client. The client can read its content. If the | |||
| client agrees with the usage of previous session parameters, it can | client agrees with the usage of previous session parameters, it can | |||
| send the BDP Frame back to the server in an Initial packet of a later | send the BDP Frame back to the server in an Initial packet of a later | |||
| connection. | connection. | |||
| Authors' Addresses | Authors' Addresses | |||
| Nicolas Kuhn | Nicolas Kuhn | |||
| Thales Alenia Space | ||||
| Email: nicolas.kuhn.ietf@gmail.com | Email: nicolas.kuhn.ietf@gmail.com | |||
| Emile Stephan | Emile Stephan | |||
| Orange | Orange | |||
| Email: emile.stephan@orange.com | Email: emile.stephan@orange.com | |||
| Godred Fairhurst | Godred Fairhurst | |||
| University of Aberdeen | University of Aberdeen | |||
| Department of Engineering | Department of Engineering | |||
| Fraser Noble Building | Fraser Noble Building | |||
| Aberdeen | Aberdeen | |||
| Email: gorry@erg.abdn.ac.uk | Email: gorry@erg.abdn.ac.uk | |||
| Tom Jones | Tom Jones | |||
| University of Aberdeen | University of Aberdeen | |||
| Department of Engineering | Department of Engineering | |||
| End of changes. 14 change blocks. | ||||
| 14 lines changed or deleted | 27 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/ | ||||