<?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.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-shi-ccwg-advanced-ecn-00" category="std" consensus="true" submissionType="IETF" xml:lang="en" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title abbrev="AECN">Advanced Explicit Congestion Notification</title>
    <seriesInfo name="Internet-Draft" value="draft-shi-ccwg-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>
        <email>zhoutianran@huawei.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="10"/>
    <area>Transport</area>
    <workgroup>Congestion Control Working Group</workgroup>
    <keyword>Congestion Notification</keyword>
    <abstract>
      <?line 90?>

<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>
    <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 94?>

<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>ECN: Explicit Congestion Notification</li>
          <li>AECN: Advanced Explicit Congestion Notification</li>
          <li>HPCC: High Precision Congestion Control<xref target="I-D.draft-an-ccwg-hpcc"/></li>
          <li>DRE: Discounting Rate Estimator<xref target="CONGA"/></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>
        <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>
        <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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
+BQnAAA=

-->

</rfc>
