<?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.4 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-ippm-advanced-ecn-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="AECN">Advanced Explicit Congestion Notification</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-ippm-advanced-ecn-00"/>
    <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="2023" month="December" day="12"/>
    <area>Transport</area>
    <workgroup>IP Performance Measurement</workgroup>
    <keyword>Congestion Notification</keyword>
    <abstract>
      <?line 99?>

<t>This document proposes Advanced Explicit Congestion Notification mechanism enabling host to obtain the congestion information at the bottleneck. The sender sets the congestion information collection command in the packet header indicating the network device to update the congestion information field per hop. The receiver carries the updated congestion information back to the sender in the ACK. The sender then leverage the rich congestion information to do congestion control.</t>
    </abstract>
  </front>
  <middle>
    <?line 103?>

<section anchor="intro">
      <name>Introduction</name>
      <t>Traditionally, congestion control has depended on implicit congestion detection by the host, where hosts gauge congestion primarily through packet loss or variations in round-trip times. Explicit Congestion Notification (ECN) represents a substantial improvement, as it facilitates network devices to explicitly signal congestion to the endpoints before packet loss occurs. Low Latency, Low Loss, Scalable throughput (L4S) leverages ECN to meticulously control the queuing delay. It uses ECN markings to maintain low queuing delays and avoid bufferbloat. However, ECN is limited by the use of a single bit of information. This limitation constrains the granularity of congestion information that can be conveyed. L4S's requirement for more detailed congestion signals demands an enhanced utilization of ECN, which could involve employing additional bits for a more precise representation of congestion levels and better control over delay and throughput in contemporary network environments.</t>
      <t>HPCC<xref target="I-D.draft-an-ccwg-hpcc"/> leverages more extensive congestion signals from the network by utilizing in-band telemetry, which facilitates the gathering of detailed load information from each switch it traverses. This enhanced approach enables HPCC to make more informed decisions on controlling network congestion and converge fast. However, one caveat associated with this approach is that HPCC utilizes an append mode for in-band telemetry. In append mode, as the packet traverses the network, it accumulates data from each switch, which consequently increases the size of the packet. This growth in packet size can potentially lead to issues such as exceeding the Maximum Transmission Unit (MTU) size which makes it unsuitable for the internet. Another caveat is that each sender need to repeat the computation to get the bottleneck information even if they shares the same path.</t>
      <t>This document defines Advanced ECN which expands the 1 bit congestion notification to multiple bits and enables network device to update the congestion information per hop. When the packet arrives at the receiver, the congestion information field will reflect the congestion status of the path. By offloading the congestion information calculation to the network device, the computing burden of the endpoint can be reduced.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <ul spacing="normal">
          <li>
            <t>ECN: Explicit Congestion Notification</t>
          </li>
          <li>
            <t>AECN: Advanced 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="AECN-procedure"/> shows the overview procedure of AECN. First the sender <bcp14>MUST</bcp14> marks the packet with AECN command and initial Congestion Info(called AECN header, see <xref target="format"/>). The AECN Command specified what kind of the congestion information that the endpoint intend to collect from network devices. As the packet traverses through the network, each router <bcp14>MUST</bcp14> update the Congestion Info field based on the AECN command and the router's local load condition. Upon reaching the receiver, the updated congestion information within the packet is extracted and then communicated back to the sender, typically using the transport protocol's acknowledgment mechanism. 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.</t>
      <figure anchor="AECN-procedure">
        <name>Overview of Advanced ECN</name>
        <artwork><![CDATA[
              pkt+                     pkt+                     pkt+
         AECN Command+            AECN Command+            AECN Command+
+------+Congestion Info0+-------+Congestion Info1+-------+Congestion Info2+--------+
|Sender|===============>|Router1|===============>|Router2|===============>|Receiver|
+------+     Link-1     +-------+     Link-2     +-------+     Link-3     +--------+
  /|\                                                                         |
   |                                                                          |
   +--------------------------------------------------------------------------+
                                        ACKs
]]></artwork>
      </figure>
    </section>
    <section anchor="format">
      <name>AECN header format and encapsulation</name>
      <t><xref target="AECN-header"/> shown the format of AECN. The AECN header <bcp14>SHOULD</bcp14> be encapsulated in IPv6 extension header<xref target="RFC8200"/> such as SRH, Hop by Hop Options Header etc.</t>
      <figure anchor="AECN-header">
        <name>AECN header format</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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Flags     |           Congestion Info Type                |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                     Congestion Info Data                      |
~                            ....                               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>where:</t>
      <t>Flags: An 8-bit field. The Bit 7 of Flags indicates the Congestion Info is customized and used only in limited domain such as Data center network. If the Bit 7 is 0, the Congestion Info Type is a bitmap. Other bits are reserved.</t>
      <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.</t>
      <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.</t>
      <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-aecn">
      <name>Example: HPCC with AECN</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:
txBytes: link total transmitted bytes associated with timestamp ts</t>
      <t>qlen: link queue length</t>
      <t>B: link bandwidth</t>
      <t>T: Baseline RTT</t>
      <t>Leveraging AECN, 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 AECN header and keep the larger one. When the packet arrives at the endpoint, the Congestion Info field of the AECN header 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>
      <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>
        <reference anchor="RFC8200">
          <front>
            <title>Internet Protocol, Version 6 (IPv6) Specification</title>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="R. Hinden" initials="R." surname="Hinden"/>
            <date month="July" year="2017"/>
            <abstract>
              <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="86"/>
          <seriesInfo name="RFC" value="8200"/>
          <seriesInfo name="DOI" value="10.17487/RFC8200"/>
        </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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
jU5H3ZP/B3rnfZS0JwAA

-->

</rfc>
