QUIC X. Gao, Ed. Internet-Draft M. Han, Ed. Intended status: Standards Track Z. Ruan, Ed. Expires: 5 January 2025 China Unicom H. Shi Huawei 4 July 2024 QUIC network awareness Acknowledgements draft-gao-quic-network-awareness-ack-00 Abstract This document defines a quic ACK frame format for notifying network status information. 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 5 January 2025. Copyright Notice Copyright (c) 2024 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. Gao, et al. Expires 5 January 2025 [Page 1] Internet-Draft QUIC ack for network awareness July 2024 Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 2 3. Overview of ACK mechanism . . . . . . . . . . . . . . . . . . 3 4. Network State Awareness Process . . . . . . . . . . . . . . . 3 5. Network awareness ACK frame . . . . . . . . . . . . . . . . . 4 6. Security Considerations . . . . . . . . . . . . . . . . . . . 4 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 8. Informative References . . . . . . . . . . . . . . . . . . . 5 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 5 1. Introduction Network state awareness is an important part of achieving rational allocation and scheduling of network resources, reducing network congestion,and ensuring network reliability. In the scenario of end to network collaboration, the perception of network status by the end side and the implementation of congestion control, path selection, etc, are the current trends in business development. Regulating by the end side can better meet the application needs of the user side and better adapt to personalized scenarios; And the end side can perceive real-time changes in the local environment and state, adjust the path and speed in a timely manner, and achieve rapid response. The quic protocol relies on feedback information provided by the ack mechanism to achieve congestion control and reliable transmission functions, used to manage network congestion and ensure smooth data transmission. In the scenario of end to network collaboration, based on the extension of the quic ACK mechanism, it supports carrying network status information such as available path bandwidth and path delay. The network status indicators are quickly notified to the end side, which is used to achieve load balancing, rate control and other operations on the end side, making data transmission more efficient and network resource utilization higher, greatly improving network service quality. 2. Conventions and Definitions 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. Gao, et al. Expires 5 January 2025 [Page 2] Internet-Draft QUIC ack for network awareness July 2024 3. Overview of ACK mechanism The triggering condition of ACK determines the timing of ACK generation and transmission. The confirmation mechanism of the quic protocol generally involves the receiver immediately replying to an ACK message after receiving a specified number of data packets, or waiting for a specified time delay to reply to an ACK message regardless of whether a data packet has arrived. [RFC9000] specifies a simple delay ACK mechanism, where the receiver can send an ACK every other packet, or send an ACK when the max_ck_delay timer expires. This document extends the quick ACK mechanism by adding the condition for triggering ACK: when the IP header of the forward path contains network status information, the ACK confirmation is triggered by the receiver after receiving the data packet, and the ACK carries the network status information to notify the sender. The specific implementation method can negotiate to change the peer's confirmation behavior by defining new quic frame types; Alternatively, initialization configuration can be performed at the receiving end to enable the receiver to generate an ACK when receiving a message containing network status information. Support generating ACKs based on packet by packet feedback or time cycles. If multiple packets may be received within a cycle, the network status information carried by ACK can be based on the last received packet. 4. Network State Awareness Process +--------+ pkt +------ --+ pkt+tlm+---------+ pkt+tlm +---------+ | Data |-------->| |------->| |-------->| Data | | Sender |======== | Router1 |========| Router2 |=========| Receiver| +--------+ +---------+ +---------+ +---------+ /|\ | +------------------------------------------------------------+ Notification Packets/ACKs Figure 1: Network Status Awareness Process (tlm=inband telemtry) During the process of sending packets from the sender to the receiver, in band telemetry information is inserted into each router along the path, including timestamp information, congestion information, path bottleneck bandwidth, as well as routing ID and port ID. Reference for collecting congestion information[draft-shi- ippm-advanced-ecn-00]; Time delay information collection calculates link delay and end-to-end delay by recording the timestamps of hop by hop links or end-to-end forward paths; The maximum data transmission rate that a path can provide for a new single connection is collected based on the available bandwidth of the path, without affecting the transmission rate of the existing connection. When the receiver receives a data packet, it copies all in band telemetry information recorded on the network into an ACK message and sends it back to the sender. The frame format extension method is detailed in Chapter 5. Gao, et al. Expires 5 January 2025 [Page 3] Internet-Draft QUIC ack for network awareness July 2024 5. Network awareness ACK frame Network awareness ACK Frame { Type (i) = 0x20, Largest Acknowledged(i), ACK Delay (i), ACK Range Count (i), First ACK Range (i), ACK Range (..) …, Network information(..), } Similar to regular ACK frames, (see Section 19.3 of [RFC9000]), The difference is that the ECN count is removed, and network information such as congestion is placed in the network information field.ACK frames contain the following fields: * Type: type=0x20,Indicates that ACK carries network information. * Largest Acknowledged :A variable-length integer representing the largest packet number the peer is acknowledging. This is usually the largest packet number that the peer has received prior to generating the ACK frame,Unlike the packet number in the QUIC long or short header, the value in an ACK frame is not truncated. * ACK Delay: It represents the time it takes for the receiver to receive a message and for the receiver to send the ACK Frame. * ACK Range Count:A variable-length integer specifying the number of ACK Range fields in the frame. * First ACK Range: A variable-length integer indicating the number of contiguous packets preceding the Largest Acknowledged that are being acknowledged. That is, the smallest packet acknowledged in the range is determined by subtracting the First ACK Range value from the Largest Acknowledged field. * ACK Range:Contains additional ranges of packets that are alternately not acknowledged (Gap) and acknowledged (ACK Range). * Network information:Network information carries status information such as available network bandwidth and congestion. 6. Security Considerations TBD Gao, et al. Expires 5 January 2025 [Page 4] Internet-Draft QUIC ack for network awareness July 2024 7. IANA Considerations The following frame types have requested to be provisionally added to the "QUIC Frame Types" registry under the "QUIC Protocol" heading. +--------------+-------------------------------------+------------------------------+ | value | Frame Name | specification | +--------------+-------------------------------------+------------------------------+ | 0x20 | network awareness ACK frame | section4 | +--------------+-------------------------------------+------------------------------+ Table1: Addition to QUIC Frame Types Entries When this document is approved, IANA is requested to change the registration to a permanent allocation of these frame types with the values described above. 8. Informative References [I-D.shi-ippm-advanced-ecn] Shi, H., Zhou, T., and Z. Li, "Advanced Explicit Congestion Notification", Work in Progress, Internet- Draft, draft-shi-ippm-advanced-ecn-00, 11 December 2023, . Authors' Addresses Xing Gao (editor) China Unicom Beijing China Email: gaox60@chinaunicom.cn Mengyao Han (editor) China Unicom Beijing China Email: hanmy12@chinaunicom.cn Zheng Ruan (editor) China Unicom Beijing China Email: ruanz6@chinaunicom.cn Gao, et al. Expires 5 January 2025 [Page 5] Internet-Draft QUIC ack for network awareness July 2024 Hang Shi Huawei Beijing China Email: shihang9@huawei.com Gao, et al. Expires 5 January 2025 [Page 6]