IP Performance Measurement H. Shi, Ed. Internet-Draft T. Zhou Intended status: Standards Track Huawei Expires: 5 September 2024 Z. Li China Mobile 4 March 2024 Data Fields for Congestion Measurement draft-shi-ippm-congestion-measurement-data-00 Abstract Congestion Measurement collects the congestion information in the packet while the packet traverses a path. The sender sets the congestion measurement command in the packet header indicating the network device along the path to update the congestion information field in the packet. When the packet arrive at the receiver, the congestion information field will reflect the degree of congestion across network path. Congestion Measurement can enable precise congestion control, aids in effective load balancing, and simplifies network debugging. This document defines data fields for Congestion Measurement. Congestion Measurement Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6. 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 September 2024. Copyright Notice Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. Shi, et al. Expires 5 September 2024 [Page 1] Internet-Draft CM March 2024 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2. Overview . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Data fields for Congestion Measurement . . . . . . . . . . . 4 4. Example: HPCC with Congestion Measurement . . . . . . . . . . 5 5. Security Considerations . . . . . . . . . . . . . . . . . . . 6 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 1. Introduction To effectively manage network congestion, a detailed understanding of congestion levels across the network is imperative. Congestion control algorithms, therefore, necessitate precise congestion measurements to adapt and optimize data flow. This approach involves monitoring various metrics such as packet loss, delay variations, and throughput, which can provide a glimpse of the network's congestion state. Enhanced congestion metrics allow for a more nuanced response to congestion, enabling algorithms to adjust sending rates with greater precision, thereby improving overall network performance and efficiency. Furthermore, the detailed congestion measurements obtained are not solely beneficial for congestion control; they serve multifaceted purposes, including load balancing and network operations debugging. By analyzing congestion data, network operators can identify and resolve bottlenecks, optimize traffic distribution, and ensure a balanced load across the network. This data-driven approach facilitates proactive network management, allowing for timely interventions that can preempt potential disruptions and enhance network reliability and performance. Shi, et al. Expires 5 September 2024 [Page 2] Internet-Draft CM March 2024 Addressing the limitations of High Precision Congestion Control (HPCC)[I-D.draft-an-ccwg-hpcc], which leverages in-band telemetry for detailed congestion signal collection but faces challenges with packet size increases and computational redundancy, our proposed solution introduces data fields for Congestion Measurement. Congestion Measurement expands the conventional single-bit ECN to multiple bits, allowing network devices to update congestion information at each hop more granularly. Consequently, when packets reach the receiver, the congestion information field in the packet accurately not just the presence of congestion but the degree of congestion across the link's path. This nuanced approach facilitates a richer set of data for decision-making, supporting not only more precise congestion control but also improving load balancing and network debugging efforts. By overcoming HPCC's shortcomings, our approach enhances network efficiency, reduces computational overhead at endpoints, and offers a scalable solution to managing congestion in complex network environments. Congestion Measurement Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6. 1.1. Terminology * ECN: Explicit Congestion Notification * HPCC: High Precision Congestion Control[I-D.draft-an-ccwg-hpcc] * DRE: Discounting Rate Estimator[CONGA] 1.2. 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. Overview Figure 1 shows the overview procedure of Congestion Measurement. First the sender MUST marks the packet with data fields for Congestion Measurement (see Section 3) which specifies what kind of the congestion information that the sending node intends to collect from transit nodes. As the packet traverses through the network, each router should inspect the data fields and update the Congestion Info field accordingly. Upon reaching the receiver, the updated congestion info data within the packet is extracted and then send back to the sender. The sender, now equipped with the congestion Shi, et al. Expires 5 September 2024 [Page 3] Internet-Draft CM March 2024 information reflective of the packet's journey, uses this data to make informed adjustments to its sending rate or load balancing decisions. Mark Update Update Export Congestion Congestion Congestion Congestion Measurement Info Info Info | | | | | | | | | | | | +-------+ +-------+ +-------+ +---------+ |Sending|========>|Transit|=========>|Transit|======= >|Receiving| | Node | | Node1 | | Node2 | | Node | +-------+ Link-1 +-------+ Link-2 +-------+ Link-3 +---------+ Figure 1: Overview of Congestion Measurement 3. Data fields for Congestion Measurement Figure 2 shown the format of data fields for Congestion Measurement. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |U| Reserved |C| Congestion Info Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Congestion Info Data | ~ .... ~ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Figure 2: Data Fields for Congestion Measurement where: * Flags: An 8-bit field. - The first bit(U) indicates whether the Congestion Info Data field needs to be updated by transit nodes. If set, the transit nodes will update the Congestion Info Data. If not, the transit node will not update it. - The last bit(C) indicates the Congestion Info Data is customized and used only in limited domain such as Data center network. If the C is 0, the Congestion Info Type is a bitmap. Other bits are reserved. Shi, et al. Expires 5 September 2024 [Page 4] Internet-Draft CM March 2024 * Congestion Info Type: A 24-bit map that specifies the present Congestion Info Data. Supported Congestion Info Data is listed in Table 1. Note that it is possible for multiple Congestion Info Data to coexist in one packet for the endpoint to collect the detailed raw congestion information. * Congestion Info Data: A variable length field including the congestion information data. Router MUST update this field based on local load status. The length and the update operation is listed in Table 1. +=====+=========================+========+===========+ | Bit | Congestion Info Data | Length | Operation | +=====+=========================+========+===========+ | 0 | Inflight Ratio | 8 | Max | +-----+-------------------------+--------+-----------+ | 1 | DRE | 8 | Max | +-----+-------------------------+--------+-----------+ | 2 | Queue Utilization Ratio | 8 | Max | +-----+-------------------------+--------+-----------+ | 3 | Queue Delay | 8 | Add | +-----+-------------------------+--------+-----------+ | 4 | Congested Hops | 8 | Add | +-----+-------------------------+--------+-----------+ Table 1: Congestion Info Data 4. Example: HPCC with Congestion Measurement HPCC calculates the inflight ratio of each link(represent the link utilization of the link) from the collected raw load information carried in the INT. Then maximum inflight ratio along the path is identified and used to adjust the sending rate. The formula to calculate the inflight ratio of each link is shown below: txRate = (txBytes_1 - txBytes_2)/(t_1-t_2) inflight ratio = qlen/(B*T) + txRate/B where: * txBytes: link total transmitted bytes associated with timestamp ts * qlen: link queue length * B: link bandwidth * T: Baseline RTT Shi, et al. Expires 5 September 2024 [Page 5] Internet-Draft CM March 2024 Leveraging Congestion Measurement, the router participates in calculation of the maximum inflight ratio. Each router MUST calculate the inflight ratio of the down link and then compare it to the one in the Congestion Info Data field and keep the larger one. When the packet arrives at the endpoint, the Congestion Info Data field already contains the maximum inflight ratio. The sending rate adjustment algorithm remains unchanged. By allowing routers to conduct these calculations, the computing overhead is reduced for the endpoint. Since the update of value is in-place, the packet size remains unchanged regardless of the hops count. 5. Security Considerations TBD. 6. IANA Considerations TBD. 7. References 7.1. Normative References [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, . 7.2. Informative References [CONGA] Alizadeh, M., Edsall, T., Dharmapurikar, S., Vaidyanathan, R., Chu, K., Fingerhut, A., Lam, V., Matus, F., Pan, R., Yadav, N., and G. Varghese, "CONGA: distributed congestion-aware load balancing for datacenters", Proceedings of the 2014 ACM conference on SIGCOMM, DOI 10.1145/2619239, August 2014, . Shi, et al. Expires 5 September 2024 [Page 6] Internet-Draft CM March 2024 [I-D.draft-an-ccwg-hpcc] An, Q., Gao, J., Anubolu, S., Pan, R., Lee, J., Gafni, B., Shpigelman, Y., Tantsura, J., and G. Caspary, "HPCC++: Enhanced High Precision Congestion Control", Work in Progress, Internet-Draft, draft-an-ccwg-hpcc-00, 30 June 2023, . Authors' Addresses Hang Shi (editor) Huawei Beijing China Email: shihang9@huawei.com Tianran Zhou Huawei Beijing China Email: zhoutianran@huawei.com Zhenqiang Li China Mobile Beijing China Email: li_zhenqiang@hotmail.com Shi, et al. Expires 5 September 2024 [Page 7]