<?xml version="1.0" encoding="US-ASCII"?>
<!-- This is built from a template for a generic Internet Draft. Suggestions for
     improvement welcome - write to Brian Carpenter, brian.e.carpenter @ gmail.com 
     This can be converted using the Web service at http://xml.resource.org/ -->
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<!-- You want a table of contents -->
<!-- Use symbolic labels for references -->
<!-- This sorts the references -->
<!-- Change to "yes" if someone has disclosed IPR for the draft -->
<!-- This defines the specific filename and version number of your draft (and inserts the appropriate IETF boilerplate -->
<?rfc sortrefs="yes"?>
<?rfc toc="yes"?>
<?rfc symrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<?rfc topblock="yes"?>
<?rfc comments="no"?>
<rfc category="std" docName="draft-li-congestion-detection-optimization-00" ipr="trust200902">
  <front>
    <title abbrev="QUIC Group">Congestion Detection Optimization</title>

    <author fullname="Zhiqiang Li" initials="Z." surname="Li">
      <organization>China Mobile</organization>

      <address>
        <postal>
          <street/>

          <city>Beijing</city>

          <code>100053</code>

          <country>China</country>
        </postal>

        <email>lizhiqiangyjy@chinamobile.com</email>
      </address>
    </author>

    <author fullname="Wei Cheng" initials="W." surname="Cheng">
      <organization>Centec</organization>

      <address>
        <postal>
          <street/>

          <city>Suzhou</city>

          <code>215000</code>

          <country>China</country>
        </postal>

        <email>chengw@centec.com</email>
      </address>
    </author>

    <author fullname="Junjie Wang" initials="J." surname="Wang">
      <organization>Centec</organization>

      <address>
        <postal>
          <street/>

          <city>Suzhou</city>

          <code>21500</code>

          <country>China</country>
        </postal>

        <email>wangjj@centec.com</email>
      </address>
    </author>

    <!---->

    <date day="03" month="March" year="2025"/>

    <area>Networking</area>

    <workgroup>Intarea Working Group</workgroup>

    <keyword>Congestion optimizing;WAN</keyword>

    <abstract>
      <t>This draft proposes an adaptive congestion detection mechanism 
      for high-throughput data transmission in wide area networks (WANs). 
      With increasing network bandwidth (up to 800Gbps) and challenges in 
      traditional TCP-based protocols (e.g., throughput degradation over 
      long distances and high packet loss rates), the solution focuses on 
      optimizing congestion identification while minimizing bandwidth overhead.</t>
    </abstract>

    <note title="Requirements Language">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
      "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
      document are to be interpreted as described in .</t>
    </note>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>With the rapid development of key computing infrastructures, 
      to meet the growing demand for the transmission of massive amounts 
      of data across wide area networks, the bandwidth of data network 
      transmission has also been continuously upgraded from 10 Gigabits 
      to 25Gbps, 100Gbps, 200Gbps, 400Gbps and even 800Gbps. However, 
      traditional transmission control protocols(eg TCP) experience a 
      sharp decline in good throughput as transmission distances increase 
      and packet loss rates rise. Therefore,design a high-throughput 
      data transmission solution over wide area networks to improve data 
      transmission efficiency is of significant importance.</t>

      <t>Traffic control and congestion control determine the efficiency 
      of data transmission and are key technologies in high-throughput 
      network transmission. Identifying congestion points in the network 
      quickly, accurately and not costly is of great significance for 
      traffic and congestion control mechanisms.</t>
    </section>

    <section title="Problem Statement">
      <t>Traditional schemes for identifying congestion points are as follows:
      1.Based on packet loss, delay, etc., 
      require a detection time of at least one RTT (Round-Trip Time).

      2.Based on active feedback from intermediate congestion nodes, 
      the detection time can be compressed to less than one RTT 
      (depending on the location of the congestion node), but this 
      introduces new problems: 
      2.1 Feedback messages bring additional link bandwidth overhead, 
      resulting in low bandwidth utilization, and can even cause new 
      congestion on the back path, leading to detection time greater than one RTT.
      2.2 To ensure the timely detection, congestion status report 
      messages are sent frequently, wasting bandwidth.
      2.3 Maintaining the state of traffic flows at intermediate nodes 
      requires high-performance equipment at these nodes, affecting scalability.
      </t>
    </section>

    <section title="Solution">
      <t>This draft introduces a mechanism that, when adjacent nodes 
      communicate frequently (with an adjustable threshold, by default, 
      a sending interval between two consecutive service message packets 
      of no less than 0.5 RTT), utilizes normal service traffic packets 
      to carry congestion information with the flow. When communication 
      is infrequent (with an adjustable threshold, by default, a sending 
      interval between two consecutive service packets of less than 0.5 RTT), 
      it actively generates congestion indication packets, ensuring zero 
      bandwidth overhead during heavy load and timely perception of 
      downstream node's congestion during light load or idle times.</t>

      <t>When utilizing normal service traffic messages to carry information, 
      this can be accomplished by reusing certain fields in the packet header, 
      such as the flow label of an IPv6 message; When actively generating 
      congestion indication packets for notification, it will directly 
      generate a packet that is recognized by the signal source, 
      such as a RoCEv2 CNP message</t>

      <t>Define some value(eg A55A) as the congestion indication magic 
      number when utilizing normal service traffic packets to carry 
      congestion information. The congestion indication magic number 
      can be transmitted using the ToS field of two consecutive IPv4 
      service packets or the TC bits of two consecutive IPv6 service 
      packets. If service messages happen to transmit A5 and end 
      without subsequent packets (within 0.5 RTT), the congested node 
      replicates the packet header that sent the A5 magic number, 
      constructs a payload of all 0s in a 64-byte packet, and modifies 
      the ToS or TC field to 5A, completing the transmission of the 
      congestion indication magic number. If the congested node does 
      not have any service messages to send for 0.5 RTT or more, 
      it proactively generates congestion indication packets such as 
      CNP and sends back.</t>

      <t>The sending frequency of the two types of congestion indication 
      methods is not within the scope of this draft , and can be based 
      on the mechanisms of existing congestion control algorithms, 
      such as determining the sending frequency of packets based on 
      the degree of congestion in the queue.</t>
  </section>

  <section anchor="Security" title="Security Considerations">
    <t>TBD.</t>
  </section>
    <section anchor="IANA" title="IANA Considerations">
    <t>TBD.</t>
  </section>
  </middle>
  <back/>

</rfc>
