Internet Engineering Task Force A. Custura Internet-Draft G. Fairhurst Intended status: Standards Track University of Aberdeen Expires: 15 August 2025 11 February 2025 Quic Logging for Convergence of Congestion Control from Retained State draft-custura-tsvwg-careful-resume-qlog-00 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 15 August 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 15 August 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. Reconnaissance Phase . . . . . . . . . . . . . . . . . . 4 3.3. Unvalidated Phase . . . . . . . . . . . . . . . . . . . . 4 3.4. Validating Phase . . . . . . . . . . . . . . . . . . . . 5 3.5. Safe Retreat Phase . . . . . . . . . . . . . . . . . . . 5 4. QLOG support for QUIC . . . . . . . . . . . . . . . . . . . . 5 4.1. The cr_phase Event . . . . . . . . . . . . . . . . . . . 6 5. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 8 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 8.1. Normative References . . . . . . . . . . . . . . . . . . 8 8.2. Informative References . . . . . . . . . . . . . . . . . 9 Appendix A. Internet Draft Revision details . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 1. Introduction [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 15 August 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 XXX 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 (see [I-D.ietf-tsvwg-careful-resume]); saved_rtt: The preserved minimum RTT (see [I-D.ietf-tsvwg-careful-resume]). 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 contributes to the PipeSize, but 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 15 August 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 currnetly no qlog events associated with this phase. 3.2. Reconnaissance Phase A sender enters the Reconnaissance Phase after connection setup. In this phase, the CWND is initialised to the IW, and the sender transmits initial data. Reconnaissance Phase (Path confirmed): When a sender has confirmed the RTT and also has received an acknowledgement for the initial data without reported congestion, it MAY then enter the Unvalidated Phase. The associated qlog event is XXX. 3.3. Unvalidated Phase The Unvalidated Phase is designed to enable the CWND to more rapidly get up to speed by using paced transmission of a tentatively increased CWND. Unvalidated Phase (Confirming the path on entry): If the current_rtt is not confirmed, the sender MUST enter the Normal Phase (see trigger rtt_not_validated in Section 4). Unvalidated Phase (Receiving acknowledgement for an unvalidated packet): The sender enters the Validating Phase when an acknowledgement is received for the first packet number (or higher) that was sent in the Unvalidated Phase or greater than 1 RTT has passed in the Unvalidated Phase (see first_unvalidated_packet_acknowledged in Section 4). Custura & Fairhurst Expires 15 August 2025 [Page 4] Internet-Draft Qlog for Careful Resume February 2025 3.4. Validating Phase The Validating Phase checks whether all packets sent in the Unvalidated Phase were received without inducing congestion. The CWND remains unvalidated and the sender typically remains in this phase for one RTT. Validating Phase (Congestion indication): If a sender determines that congestion was experienced (e.g., packet loss or ECN-CE marking), Careful Resume enters the Safe Retreat Phase (see trigger packet_loss and ECN_CE in Section 4). Validating Phase (Receiving acknowledgement of the unvalidated packets): The sender enters the Normal Phase when an acknowledgement is received for the last packet number (or higher) that was sent in the Unvalidated Phase (see last_unvalidated_packet_acknowledged in Section 4). This indicates that the packets sent in the Unvalidated Phase were acknowledged without congestion. 3.5. Safe Retreat Phase This phase is entered when congestion is detected for an unvalidated packet. It drains the path of other unvalidated packets. (This trigger is the same as used by a QUIC sender to transition from Slow- Start to Recovery [RFC9002].) Safe Retreat Phase (Acknowledgement of unvalidated packets): The sender enters the Normal Phase when the last packet (or a later packet) sent during the Unvalidated Phase has been acknowledged. On leaving the Safe Retreat Phase, the log is updated to exit_recovery, see Section 4.) 4. 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". Custura & Fairhurst Expires 15 August 2025 [Page 5] Internet-Draft Qlog for Careful Resume February 2025 4.1. The cr_phase Event Importance: Extra When the CC algorithm changes the Careful Resume Phase described in Section 3 of this specification. Definition: Custura & Fairhurst Expires 15 August 2025 [Page 6] Internet-Draft Qlog for Careful Resume February 2025 RecoveryCarefulResumePhaseUpdated = { ? old_phase: CarefulResumePhase, new_phase: CarefulResumePhase, state_data: CarefulResumeStateParameters, ? restored_data: CarefulResumeRestoredParameters, ? trigger: ; for the Unvalidated phase, when no unvalidated packets "congestion_window_limited" / ; 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" } CarefulResumePhase = "reconnaissance" / "unvalidated" / "validating" / "normal" / "safe_retreat" CarefulResumeStateParameters = { pipesize: uint, first_unvalidated_packet: uint, last_unvalidated_packet: uint, ? congestion_window: uint, ? ssthresh: uint } CarefulResumeRestoredParameters = { saved_congestion_window: uint, saved_rtt: float32 } Figure 2 Custura & Fairhurst Expires 15 August 2025 [Page 7] Internet-Draft Qlog for Careful Resume February 2025 5. Acknowledgments The authors would like to thank Robin Marx and Lucar Purdue for their fruitful comments in developing this specification. 6. IANA Considerations No current parameters are required to be registered by IANA. 7. Security Considerations This document does not exhibit specific security considerations. 8. References 8.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-13, 10 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, . Custura & Fairhurst Expires 15 August 2025 [Page 8] Internet-Draft Qlog for Careful Resume February 2025 [RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based Multiplexed and Secure Transport", RFC 9000, DOI 10.17487/RFC9000, May 2021, . 8.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. Authors' Addresses Ana Custura University of Aberdeen Department of Engineering Fraser Noble Building Aberdeen AB24 3UE United Kingdom 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 15 August 2025 [Page 9]