Internet Engineering Task Force A. Custura Internet-Draft G. Fairhurst Intended status: Standards Track University of Aberdeen Expires: 1 September 2025 28 February 2025 Quic Logging for Convergence of Congestion Control from Retained State draft-custura-tsvwg-careful-resume-qlog-01 Abstract This document specifies a logging format for a cautious method for Careful Resume when using the IETF quic transport protocol. It defines the logging format for qlog. Status of This Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at https://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on 1 September 2025. Copyright Notice Copyright (c) 2025 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License. Custura & Fairhurst Expires 1 September 2025 [Page 1] Internet-Draft Qlog for Careful Resume February 2025 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Language, Notation and Terms . . . . . . . . . . . . . . . . 2 2.1. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Notation and Terms . . . . . . . . . . . . . . . . . . . 3 3. The Phases of CC using Careful Resume . . . . . . . . . . . . 3 3.1. Observing . . . . . . . . . . . . . . . . . . . . . . . . 4 3.2. Mapping of triggers to phase transitions . . . . . . . . 4 3.3. QLOG support for QUIC . . . . . . . . . . . . . . . . . . 5 3.3.1. The CarefulResumePhaseUpdated Event . . . . . . . . . 5 4. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 7 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 7.1. Normative References . . . . . . . . . . . . . . . . . . 7 7.2. Informative References . . . . . . . . . . . . . . . . . 8 Appendix A. Internet Draft Revision details . . . . . . . . . . 8 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8 1. Introduction This document defines a way to provide logging for Careful Resume[I-D.ietf-tsvwg-careful-resume] when used with QUIC [RFC9000][RFC9002]. [I-D.ietf-tsvwg-careful-resume] defines a Congestion Control (CC) mechanism called Careful Resume, which is expected to reduce the time to complete a transfer when the transfer sends significantly more data than allowed by the Initial congestion Window (IW), and where the BDP of the path is also significantly more than the IW. It introduces an alternative mechanism to select initial CC parameters that seeks to more rapidly and safely grow the sending rate controlled by the congestion window (CWND). CC algorithms that are rate-based can make similar adjustments to their target sending rate. When used with the QUIC transport, Careful Resume provides transport services that resemble those that could be implemented in TCP, using methods such as TCP Control Block (TCB) [RFC9040] caching. 2. Language, Notation and Terms This subsection provides a brief summary of key terms and the requirements language. Custura & Fairhurst Expires 1 September 2025 [Page 2] Internet-Draft Qlog for Careful Resume February 2025 2.1. Requirements Language The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here. 2.2. Notation and Terms The document uses language drawn from a range of IETF RFCs. The following terms are defined: Careful Resume (CR): The method specified in [I-D.ietf-tsvwg-careful-resume]. All other terms in this section, except CWND, are defined in the same document. CWND: The congestion window, or equivalent CC variable limiting the maximum sending rate; current_rtt: A sample measurement of the current RTT; PipeSize: A measure of the validated available capacity based on the acknowledged data; saved_cwnd: The preserved capacity derived from observation of a previous connection; saved_rtt: The preserved minimum RTT; Unvalidated Packet: A packet sent when the CWND has been increased beyond the size normally permitted by the CC algorithm; if such a packet is acknowledged, it contries to the PipeSize, if congestion is detected, it triggers entry to the Safe Retreat Phase. 3. The Phases of CC using Careful Resume Careful Resume[I-D.ietf-tsvwg-careful-resume] defines a series of phases that a congestion controller moves through as a connection uses the mechanism. The key phases are illustrated in Figure 1. Custura & Fairhurst Expires 1 September 2025 [Page 3] Internet-Draft Qlog for Careful Resume February 2025 Normal ...> Connect -> Reconnaissance --------------------> Normal (Observing) | ^ v | Unvalidated --------------------------+ | | | | +--> Validating --------------+ | | | | | | +---------------+--> Safe Retreat ---+ Figure 1: Key transitions between Phases in Careful Resume. Examples of these transitions between phases are provided in the annexe to [I-D.ietf-tsvwg-careful-resume]. 3.1. Observing There are currently no qlog events associated with this phase. 3.2. Mapping of triggers to phase transitions +---------------------+-------------------------------+-------+-------+ | Trigger | Description | From | To | +---------------------+-------------------------------+-------+-------+ | cwnd_limited | When sender has confirmed the | Recon | Unval | | | RTT, has received an ACK for | | | | | the initial data without | | | | | reported congestion and has | | | | | more data to send than the | | | | | cwnd would allow. | | | +---------------------+-------------------------------+-------+-------+ | rtt_not_validated | If the current_rtt is not | Recon | Norm | | | confirmed the sender MUST | Unval | | | | enter the Normal Phase. | | | +---------------------+-------------------------------+------+--------+ | first_unvalidated_ | The sender enters the | Unval | Val | | packet_acknowledged | Validating Phase when an ACK | | | | | is received for the first | | | | | packet number (or higher) | | | | | sent in the Unvalidated Phase.| | | +---------------------+-------------------------------+-------+-------+ | rtt_exceeded | When greater than 1 RTT has | Unval | Val | | | passed in Unvalidated Phase. | | | +---------------------+-------------------------------+-------+-------+ | rate_limited | If the flight_size is less | Unval | Norm | | | than or equal to the PipeSize | | | Custura & Fairhurst Expires 1 September 2025 [Page 4] Internet-Draft Qlog for Careful Resume February 2025 | | sender enters Normal Phase. | | | +---------------------+-------------------------------+-------+-------+ | last_unvalidated_ | The sender enters the Normal | Val | Norm | | packet_acknowledged | Phase when an ACK is received | | | | | for the last packet number | | | | | (or higher) that was sent in | | | | | the Unvalidated Phase. | | | +---------------------+-------------------------------+-------+-------+ | packet_loss | If a sender determines that | Unval | SR | | | congestion was experienced, | Val | | | | e.g., packet loss, the sender | | | | | enters the Safe Retreat Phase.| | | +---------------------+-------------------------------+-------+-------+ | ECN_CE | If a sender determines that | Unval | SR | | | congestion was experienced, | Val | | | | e.g., ECN-CE marking, sender | | | | | enters the Safe Retreat Phase.| | | +---------------------+-------------------------------+-------+-------+ | exit_recovery | The sender enters the Normal | SR | Norm | | | Phase when the last packet | | | | | sent in the Unvalidated Phase | | | | | is ACKed. | | | +---------------------+-------------------------------+-------+-------+ Figure 2: Mapping of triggers to phase transitions 3.3. QLOG support for QUIC This section provides definitions that enable a Careful Resume implementation to generate qlog events when using QUIC. It introduces an event to report the current phase of a sender, and an associated description. The event and data structure definitions in this section are expressed in the Concise Data Definition Language (CDDL) [RFC8610] and its extensions described in [I-D.ietf-quic-qlog-quic-events]. The current convention is to use long names for variables. For example, "CWND" is expanded as "congestion_window" and "saved_cwnd" is expanded as "saved_congestion_window". 3.3.1. The CarefulResumePhaseUpdated Event Importance: Extra When the CC algorithm changes the Careful Resume Phase described in Section 3 of this specification. Custura & Fairhurst Expires 1 September 2025 [Page 5] Internet-Draft Qlog for Careful Resume February 2025 Definition: QUICCarefulResumePhaseUpdated = { ? old: CarefulResumePhase, new: CarefulResumePhase, state_data: CarefulResumeStateParameters, ? restored_data: CarefulResumeRestoredParameters, ? trigger: ; for the Unvalidated phase, ; when there is more data to send than available CWND "congestion_window_limited" / ; for the Validating phase ; when more than one RTT has passed in the Unvalidated Phase "rtt_exceeded" / ; for the Validating phase "first_unvalidated_packet_acknowledged" / ; for the Normal phase ; and no remaining unvalidated packets to be acknowledged "last_unvalidated_packet_acknowledged" / ; for the Normal phase, when CR not allowed "rtt_not_validated" / ; for the Normal phase, ; when sending fewer unvalidated packets than CWND permits "rate_limited" / ; for the Safe Retreat phase, when loss detected "packet_loss" / ; for the Safe Retreat phase, ; when ECN congestion experienced reported "ECN_CE" / ; for the Normal phase 1 RTT after a congestion event "exit_recovery" * $$quic-carefulresumephaseupdated-extension } CarefulResumePhase = "reconnaissance" / "unvalidated" / "validating" / "normal" / "safe_retreat" CarefulResumeStateParameters = { pipesize: uint32, first_unvalidated_packet: uint32, last_unvalidated_packet: uint32, ? congestion_window: uint32, Custura & Fairhurst Expires 1 September 2025 [Page 6] Internet-Draft Qlog for Careful Resume February 2025 ? ssthresh: uint32 } CarefulResumeRestoredParameters = { saved_congestion_window: uint32, saved_rtt: float32 } $ProtocolEventData /= QUICCarefulResumePhaseUpdated Figure 3: CDDL description of the CarefulResumePhaseUpdated event 4. Acknowledgments The authors would like to thank Robin Marx and Lucar Purdue for their fruitful comments in developing this specification. 5. IANA Considerations Note by RM: This event type is to be added to the "qlog event schema URIs" registered at IANA, but the qlog event schema URIs registry has not yet been actually created at IANA because the qlog registry has not yet been created. 6. Security Considerations This document does not exhibit specific security considerations. 7. References 7.1. Normative References [I-D.ietf-quic-qlog-quic-events] Marx, R., Niccolini, L., Seemann, M., and L. Pardue, "QUIC event definitions for qlog", Work in Progress, Internet- Draft, draft-ietf-quic-qlog-quic-events-09, 21 October 2024, . [I-D.ietf-tsvwg-careful-resume] Kuhn, N., Stephan, E., Fairhurst, G., Secchi, R., and C. Huitema, "Convergence of Congestion Control from Retained State", Work in Progress, Internet-Draft, draft-ietf- tsvwg-careful-resume-14, 13 February 2025, . Custura & Fairhurst Expires 1 September 2025 [Page 7] Internet-Draft Qlog for Careful Resume February 2025 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, . [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, . [RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, June 2019, . [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . 7.2. Informative References [RFC9002] Iyengar, J., Ed. and I. Swett, Ed., "QUIC Loss Detection and Congestion Control", RFC 9002, DOI 10.17487/RFC9002, May 2021, . [RFC9040] Touch, J., Welzl, M., and S. Islam, "TCP Control Block Interdependence", RFC 9040, DOI 10.17487/RFC9040, July 2021, . Appendix A. Internet Draft Revision details ID -00 Text extracted from the TSVWG WG draft for CR. ID -01 Refactors initial text from CR into a table matching the qlog triggers. Add one new trigger, 'rtt_exceeded'; update text for trigger "congestion_window_limited", based on comments from Finic8; updates CDDL based on comments from R. Marx Authors' Addresses Ana Custura University of Aberdeen Department of Engineering Fraser Noble Building Aberdeen AB24 3UE United Kingdom Custura & Fairhurst Expires 1 September 2025 [Page 8] Internet-Draft Qlog for Careful Resume February 2025 Email: ana@erg.abdn.ac.uk Godred Fairhurst University of Aberdeen Department of Engineering Fraser Noble Building Aberdeen AB24 3UE United Kingdom Email: gorry@erg.abdn.ac.uk Custura & Fairhurst Expires 1 September 2025 [Page 9]