<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-ippm-congestion-measurement-data-01" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.2 -->
  <front>
    <title abbrev="CM">Data Fields for Congestion Measurement</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-ippm-congestion-measurement-data-01"/>
    <author initials="H." surname="Shi" fullname="Hang Shi" role="editor">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>shihang9@huawei.com</email>
      </address>
    </author>
    <author initials="T." surname="Zhou" fullname="Tianran Zhou">
      <organization>Huawei</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <author initials="Z." surname="Li" fullname="Zhenqiang Li">
      <organization>China Mobile</organization>
      <address>
        <postal>
          <city>Beijing</city>
          <country>China</country>
        </postal>
        <email>li_zhenqiang@hotmail.com</email>
      </address>
    </author>
    <date year="2024" month="October" day="09"/>
    <area>Operations and Management</area>
    <workgroup>IP Performance Measurement</workgroup>
    <keyword>Congestion Measurement</keyword>
    <abstract>
      <?line 98?>

<t>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 arrives 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.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Congestion Control Working Group Working Group mailing list (ccwg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ccwg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/VMatrix1900/draft-ccwg-advanced-ecn"/>.</t>
    </note>
  </front>
  <middle>
    <?line 102?>

<section anchor="intro">
      <name>Introduction</name>
      <t>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.</t>
      <t>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.</t>
      <t>Addressing the limitations of High Precision Congestion Control (HPCC)<xref target="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.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <ul spacing="normal">
          <li>
            <t>ECN: Explicit Congestion Notification</t>
          </li>
          <li>
            <t>HPCC: High Precision Congestion Control<xref target="I-D.draft-an-ccwg-hpcc"/></t>
          </li>
          <li>
            <t>DRE: Discounting Rate Estimator<xref target="CONGA"/></t>
          </li>
        </ul>
      </section>
      <section anchor="requirements-language">
        <name>Requirements Language</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="overview">
      <name>Overview</name>
      <t><xref target="CM-procedure"/> shows the overview procedure of Congestion Measurement. First the sender <bcp14>MUST</bcp14> marks the packet with data fields for Congestion Measurement (see <xref target="format"/>) 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 information reflective of the packet's journey, uses this data to make informed adjustments to its sending rate or load balancing decisions.</t>
      <figure anchor="CM-procedure">
        <name>Overview of Congestion Measurement</name>
        <artwork><![CDATA[
   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  +---------+
]]></artwork>
      </figure>
    </section>
    <section anchor="format">
      <name>Data fields for Congestion Measurement</name>
      <t><xref target="CM-header"/> shown the format of data fields for Congestion Measurement.</t>
      <figure anchor="CM-header">
        <name>Data Fields for Congestion Measurement</name>
        <artwork><![CDATA[
 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                      |
~                            ....                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>Flags: An 8-bit field.
          </t>
          <ul spacing="normal">
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Congestion Info Type: A 24-bit map that specifies the present Congestion Info Data. Supported Congestion Info Data is listed in <xref target="congestion-info"/>. 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.</t>
        </li>
        <li>
          <t>Congestion Info Data: A variable length field including the congestion information data. Router <bcp14>MUST</bcp14> update this field based on local load status. The length and the update operation is listed in <xref target="congestion-info"/>.</t>
        </li>
      </ul>
      <table anchor="congestion-info">
        <name>Congestion Info Data</name>
        <thead>
          <tr>
            <th align="center">Bit</th>
            <th align="left">Congestion Info Data</th>
            <th align="center">Length</th>
            <th align="left">Operation</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="center">0</td>
            <td align="left">Inflight Ratio</td>
            <td align="center">8</td>
            <td align="left">Max</td>
          </tr>
          <tr>
            <td align="center">1</td>
            <td align="left">DRE</td>
            <td align="center">8</td>
            <td align="left">Max</td>
          </tr>
          <tr>
            <td align="center">2</td>
            <td align="left">Queue Utilization Ratio</td>
            <td align="center">8</td>
            <td align="left">Max</td>
          </tr>
          <tr>
            <td align="center">3</td>
            <td align="left">Queue Delay</td>
            <td align="center">8</td>
            <td align="left">Add</td>
          </tr>
          <tr>
            <td align="center">4</td>
            <td align="left">Congested Hops</td>
            <td align="center">8</td>
            <td align="left">Add</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="example-hpcc-with-congestion-measurement">
      <name>Example: HPCC with Congestion Measurement</name>
      <t>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:</t>
      <artwork><![CDATA[
txRate = (txBytes_1 - txBytes_2)/(t_1-t_2)
inflight ratio = qlen/(B*T) + txRate/B
]]></artwork>
      <t>where:</t>
      <ul spacing="normal">
        <li>
          <t>txBytes: link total transmitted bytes associated with timestamp ts</t>
        </li>
        <li>
          <t>qlen: link queue length</t>
        </li>
        <li>
          <t>B: link bandwidth</t>
        </li>
        <li>
          <t>T: Baseline RTT</t>
        </li>
      </ul>
      <t>Leveraging Congestion Measurement, the router participates in calculation of the maximum inflight ratio. Each router <bcp14>MUST</bcp14> 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.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="CONGA">
          <front>
            <title>CONGA: distributed congestion-aware load balancing for datacenters</title>
            <author initials="M." surname="Alizadeh" fullname="Mohammad Alizadeh">
              <organization/>
            </author>
            <author initials="T." surname="Edsall" fullname="Tom Edsall">
              <organization/>
            </author>
            <author initials="S." surname="Dharmapurikar" fullname="Sarang Dharmapurikar">
              <organization/>
            </author>
            <author initials="R." surname="Vaidyanathan" fullname="Ramanan Vaidyanathan">
              <organization/>
            </author>
            <author initials="K." surname="Chu" fullname="Kevin Chu">
              <organization/>
            </author>
            <author initials="A." surname="Fingerhut" fullname="Andy Fingerhut">
              <organization/>
            </author>
            <author initials="V." surname="Lam" fullname="Vinh The Lam">
              <organization/>
            </author>
            <author initials="F." surname="Matus" fullname="Francis Matus">
              <organization/>
            </author>
            <author initials="R." surname="Pan" fullname="Rong Pan">
              <organization/>
            </author>
            <author initials="N." surname="Yadav" fullname="Navindra Yadav">
              <organization/>
            </author>
            <author initials="G." surname="Varghese" fullname="George Varghese">
              <organization/>
            </author>
            <date year="2014" month="August"/>
          </front>
          <seriesInfo name="DOI" value="10.1145/2619239"/>
          <refcontent>Proceedings of the 2014 ACM conference on SIGCOMM</refcontent>
        </reference>
        <reference anchor="I-D.draft-an-ccwg-hpcc">
          <front>
            <title>HPCC++: Enhanced High Precision Congestion Control</title>
            <author fullname="Qing An" initials="Q." surname="An">
              <organization>Alibaba Group</organization>
            </author>
            <author fullname="Jiaqi Gao" initials="J." surname="Gao">
              <organization>Alibaba Group</organization>
            </author>
            <author fullname="Surendra Anubolu" initials="S." surname="Anubolu">
              <organization>Broadcom, Inc.</organization>
            </author>
            <author fullname="Rong Pan" initials="R." surname="Pan">
              <organization>Intel, Corp.</organization>
            </author>
            <author fullname="Jeongkeun Lee" initials="J." surname="Lee">
              <organization>Intel, Corp.</organization>
            </author>
            <author fullname="Barak Gafni" initials="B." surname="Gafni">
              <organization>NVIDIA</organization>
            </author>
            <author fullname="Yuval Shpigelman" initials="Y." surname="Shpigelman">
              <organization>NVIDIA</organization>
            </author>
            <author fullname="Jeff Tantsura" initials="J." surname="Tantsura">
              <organization>NVIDIA</organization>
            </author>
            <author fullname="Guy Caspary" initials="G." surname="Caspary">
              <organization>Cisco Systems</organization>
            </author>
            <date day="30" month="June" year="2023"/>
            <abstract>
              <t>   Congestion control (CC) is the key to achieving ultra-low latency,
   high bandwidth and network stability in high-speed networks.
   However, the existing high-speed CC schemes have inherent limitations
   for reaching these goals.

   In this document, it describes HPCC++ (High Precision Congestion
   Control), a new high-speed CC mechanism which achieves the three
   goals simultaneously.  HPCC++ leverages inband telemetry to obtain
   precise link load information and controls traffic precisely.  By
   addressing challenges such as delayed signaling during congestion and
   overreaction to the congestion signaling using inband and granular
   telemetry, HPCC++ can quickly converge to utilize all the available
   bandwidth while avoiding congestion, and can maintain near-zero in-
   network queues for ultra-low latency.  HPCC++ is also fair and easy
   to deploy in hardware, implementable with commodity NICs and
   switches.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-an-ccwg-hpcc-00"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
