<?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.13 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tomar-sconepro-ecn-00" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="SCONEPRO Signaling Need">SCONEPRO Need for Defining A New On-Path Signaling Mechanism</title>
    <seriesInfo name="Internet-Draft" value="draft-tomar-sconepro-ecn-00"/>
    <author initials="A." surname="Tomar" fullname="Anoop Tomar">
      <organization>Meta</organization>
      <address>
        <email>anooptomar@meta.com</email>
      </address>
    </author>
    <author initials="M." surname="Ihlar" fullname="Marcus Ihlar">
      <organization>Ericsson</organization>
      <address>
        <email>marcus.ihlar@ericsson.com</email>
      </address>
    </author>
    <author initials="W." surname="Eddy" fullname="Wesley Eddy">
      <organization>Meta</organization>
      <address>
        <email>wesleyeddy@meta.com</email>
      </address>
    </author>
    <author initials="I." surname="Swett" fullname="Ian Swett">
      <organization>Google</organization>
      <address>
        <email>ianswett@google.com</email>
      </address>
    </author>
    <author initials="A." surname="Tiwari" fullname="Abhishek Tiwari">
      <organization>Meta</organization>
      <address>
        <email>atiwari@meta.com</email>
      </address>
    </author>
    <author initials="M." surname="Joras" fullname="Matt Joras">
      <organization>Meta</organization>
      <address>
        <email>bryantan@meta.com</email>
      </address>
    </author>
    <date year="2024" month="May" day="23"/>
    <area>Web and Internet Transport</area>
    <workgroup>SCONEPRO</workgroup>
    <keyword>ECN</keyword>
    <abstract>
      <?line 78?>

<t>This document discusses the need for defining a new on-path signaling mechanism
and addresses the question “why can't we use Explicit Congestion Notification
(ECN)” for the SCONEPRO use-case.</t>
      <t>The SCONEPRO objective is to optimize user QoE for streaming media/video
services through network assisted application-level self-adaptation. This
requires a Communication Service Provider’s (CSP’s) network device to send
streaming media/video traffic profile characteristics (e.g. for allowed average
media/video bit-rate, burst rate etc.) with the client application endpoint to
enable content self adaptation implementations by content application providers
(CAPs).</t>
    </abstract>
  </front>
  <middle>
    <?line 92?>

<section anchor="sconepro-background-and-introduction">
      <name>SCONEPRO Background and Introduction</name>
      <t>Currently Communication Service Provider (CSP) networks (mainly cellular and
satellite networks) perform bit-rate throttling (shaping or policing) of
streaming video flows. The motivation behind throttling may vary across CSPs.
For example, the motivation can be:</t>
      <ul spacing="normal">
        <li>
          <t>To support different data-rates based on the subscribers’ data plans;</t>
        </li>
        <li>
          <t>To reduce egress (tonnage) towards radio base-stations in the downlink direction;</t>
        </li>
        <li>
          <t>To limit the overall capacity/bandwidth required and to manage CAPEX
requirements (e.g. the needs for more RF spectrum and deployment of more radio
base-stations);</t>
        </li>
        <li>
          <t>Or other reasons.</t>
        </li>
      </ul>
      <t>Video traffic is already 70% of all traffic on the Internet and is expected to
grow to 80% by 2028. New formats like short form videos have seen tremendous
growth in recent years. Both in developed and emerging markets video traffic
forms 50-80% of traffic on mobile networks. These growth trends are likely to
increase with new populations coming online on mobile-first markets and the
observation that unlike text content, video content consumption is not being
limited by literacy barriers. On the other hand, the electromagnetic spectrum
is a limited resource. In order to ensure that mobile networks continue
functioning in a healthy state despite this incredible growth, CSPs will be
required to make infrastructure investments such as more licensed spectrum,
cell densification, massive MIMO etc.</t>
      <t>In order to flatten the rate of growth, CSPs in several markets attempt to
identify and throttle video traffic based on user data plans. CSPs currently
use this throttling as a way to create service differentiation between users on
different payment plans and to enforce fair usage plans.  There are several
problems with this kind of throttling:</t>
      <ol spacing="normal" type="1"><li>
          <t>CSPs can not explicitly measure the effect that throttling has on the end
user’s quality of experience (QoE) making this an open loop approach.  Throttling in the CSP network has a significant negative impact on streaming video application QoE and also degrades User Equipment (UE) battery performance.</t>
        </li>
        <li>
          <t>Traffic detection and throttling for every flow is compute intensive for
CSPs. With distributed UPF (user plane function) in 5G mobile networks more
nodes in CSP network may need to support traffic detection and throttling.
Traffic detection can have inaccuracies and these inaccuracies are expected to
increase as the content delivery industry moves towards end-2-end encryption
like TLS 1.3 and encrypted client hello (ECH).  To perform throttling, CSP networks need to detect streaming video flows, which needs deep packet inspection and trial decryption of QUIC initial packets in order to decode and read the Server Name Indication (SNI) field present in the ClientHello message.  This requires significant compute resources and risks ossifying QUIC.  The throttling (shaping or policing) itself also requires non-trivial compute and memory resources.</t>
        </li>
        <li>
          <t>The unpredictable and non-transparent behavior of traffic throttlers used by
CSPs confuse the bandwidth estimation and congestion control protocols being
used within end-2-end video delivery sessions between content server and
client. This results in poor quality of experience (QoE) for the end user.</t>
        </li>
        <li>
          <t>Content and Application Providers (CAPs) are designing algorithms to detect
the presence of such traffic throttlers to counter their detrimental effects.
These algorithms have their own inaccuracies in detection and add compute
resources on the CAP side.  CAPs do not and should not have access to subscriber payment plan information, making these algorithms complex to create and maintain.</t>
        </li>
      </ol>
      <t>There is a need for a solution to these problems which achieves both superior
user QoE for CAPs, along with supporting CSPs' needs for differentiated data
limitations consistent with subscriber plans.</t>
      <t>An alternative approach is for CAPs to self-adapt the traffic corresponding to
video flows. Since CAPs control the client and server endpoints and can measure
end user QoE, they are in a better position to do this self-adaptation in a
close loop manner. This alternative approach has already been proven to improve
user QoE in production deployments <xref target="YouTube"/>.</t>
      <t>For this alternative approach to work a standardized secure on-path network
interface is required which will enable CSP controlled network elements to
signal the desired traffic profile characteristics to the CAP client/server
endpoints. The Secure Communication of Network Properties (SCONEPRO) protocol
(previously known as SADCDN) is being proposed in the IETF as a working group
<xref target="SADCDN-Charter"/> motivated by this alternate approach.</t>
      <t>Requirements for a technical solution based on this approach are described in <xref target="I-D.joras-sconepro-video-opt-requirements"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 anchor="ecn-overview">
      <name>ECN Overview</name>
      <t>Explicit Congestion Notification (ECN) is an extension to the Internet
Protocol.  ECN allows end-to-end notification of network congestion without
dropping packets. ECN is an optional feature that may be used between two
ECN-enabled endpoints when the underlying network infrastructure also supports
it.</t>
      <section anchor="ecn-ip-header-bits">
        <name>ECN IP Header Bits</name>
        <t>ECN uses the two least significant (right-most) bits of the Traffic Class field in the IPv4 or IPv6 header to encode four different code points:</t>
        <t>00 – Not ECN-Capable Transport, Not-ECT</t>
        <t>01 – ECN Capable Transport(1), ECT(1) - For L4S ECN enabled Transport</t>
        <t>10 – ECN Capable Transport(0), ECT(0)</t>
        <t>11 – Congestion Experienced, CE. - To be set by a network element which can detect congestion in the link.</t>
      </section>
      <section anchor="ecn-principles">
        <name>ECN Principles</name>
        <t>In general both classic ECN <xref target="RFC3168"/> and L4S ECN RFC 9330
<xref target="RFC9330"/>, RFC 9331 <xref target="RFC9331"/> and RFC 9332 <xref target="RFC9332"/>  are mechanisms to
send end-to-end notification of network congestion. Use of ECN relies on the
following principles:</t>
        <ol spacing="normal" type="1"><li>
            <t>Sender to set the ECT code-points correctly for a particular flow.</t>
          </li>
          <li>
            <t>Receiver to send the feedback back to the sender correctly based on CE value.</t>
          </li>
          <li>
            <t>Network elements to set the CE bit correctly based on actual congestion conditions in the network.</t>
          </li>
          <li>
            <t>ECN codepoints are not bleached or remarked within the network, other than to set the CE bit when appropriate.</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="questions">
      <name>Questions</name>
      <section anchor="why-cant-we-use-ecn-instead-of-defining-a-new-sconepro-signal">
        <name>Why can't we use ECN instead of defining a new SCONEPRO signal?</name>
        <t>The CE bit in ECN is used by the network element to notify the application
end-points about the congestion in the network.</t>
        <t>SCONEPRO is addressing a use-case wherein the network element does “intentional
throttling” (shaping/policing) due to various reasons as mentioned earlier in
this document such as to create service differentiation between users on
different payment plans, to enforce fair usage plans, and to reduce
egress (tonnage) towards radio base-stations in downlink direction. In order to
replace throttling by “application level self-adaptation” SCONEPRO signaling is
required to carry video/media bit-rate etc. between network element and
application end-point (note: exact metadata and data-types are to be defined
during the solution definition phase of SCONEPRO)</t>
        <t>ECN signaling can not support this use-case due to reasons mentioned below:</t>
        <ul spacing="normal">
          <li>
            <t>In the case of intentional throttling, CSP networks throttle the video flow
to a fixed bit rate instantly.  To replace the throttling in the network
by “self bitrate adaptation”, the CSP network is required to send a
specific video bitrate within SCONEPRO signaling meta-data to enable instant
convergence of flow’s bit rate to a specific bit-rate. This is not possible
with ECN signaling.</t>
          </li>
          <li>
            <t>Throttling is a CSP’s policy-based restriction of the flow rather than a
congestion-based one. Throttling is not based on queue occupancy, competing
traffic, contention for bandwidth/radio-resource etc.  SCONEPRO signal is
intended for application layer adaptation whereas ECN is designed for transport
layer adaptation.  Through ECN, the CSP network forces the sender's transport
rate to be within a specific range, rather than communicating what the
application layer media bitrate should be. This implies that usage of ECN will
retain some of the negative effects of network shaping such as delaying the
video startup time.  </t>
            <ul spacing="normal">
              <li>
                <t>For example, a key part of the success of YouTube's Plan Aware Streaming
<xref target="YouTube"/> is that YouTube could still burst at a much faster rate than the
long term media bitrate.  This is more efficient for CAPs’ servers, more
efficient on client devices, and means CAPs can still use existing ABR
algorithms, and just cap the quality based on the communicated long term
bandwidth limit. This just isn't possible with ECN.  If one allows sending 10
Mbps for some period of time, but not average, BBR is going to think it can
send that fast and the ABR algorithm is going to upswitch and then both are
going to have a poor experience when the delivery rate suddenly decreases.  ECN
avoids some packet loss, but otherwise it can't do anything fundamentally new.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Congestion based ECN signaling is typically performed at the element which is
next to the congested link so that it can detect congestion and set the CE bits
accordingly. To enable subscriber’s data-plan based bit-rate signaling as well
as to reduce egress towards radio base-stations in downlink direction for video
streaming flows, SCONEPRO signaling needs be performed at the element which has
access to subscriber policy and which is hosted between radio base-stations and
CDNs in downlink direction. In mobile networks this network element is PGW/UPF
in 4G/5G networks.</t>
          </li>
          <li>
            <t>The primary targeted consumers of SCONEPRO information are HTTP adptive bitrate video applications.  The ABR decisions are typically made on the client side by the video player itself.  While these players could in principle take something like ECN into account, this is not in line with current practices.  There is no JavaScript API provided by browsers to get ECN information, and none of the most popular HTTP libraries used to build video players in mobile applications expose ECN information as part of their HTTP API.  ECN is largely consumed by transport protocols (rather than applications) and actuated on by servers (rather than clients).</t>
          </li>
          <li>
            <t>SCONEPRO information is intended to be per flow, not per-packet like ECN.
Among typical transport protocols, only UDP and UDP-Lite support application
access to the ECN bits (because other standard transport protocols typically
implement congestion control themselves) <xref target="RFC8803"/> <xref target="RFC8804"/>, though
implementations may vary in their capabilities.  ECN APIs, where they exist,
are at the socket layer for datagram protocols, and have semantic binding to
given packets.  This does not match with the SCONEPRO needs to signal at the
flow-level and for QUIC transport.</t>
          </li>
          <li>
            <t>ECN bits within the IP header will not be enough to carry the meta-data
required to be exchanged between network element and client endpoint.  </t>
            <ul spacing="normal">
              <li>
                <t>Note - In addition to SCONEPRO, CAPs are actively exploring L4S, but CAPs
don't believe that L4S addresses the use-case SCONEPRO is trying to solve.</t>
              </li>
            </ul>
          </li>
        </ul>
      </section>
      <section anchor="can-the-sconepro-signal-be-designed-so-that-there-is-no-incentive-to-fake-it-like-with-ecn">
        <name>Can the SCONEPRO signal be designed so that there is no incentive to fake it, like with ECN?</name>
        <t>Any network device which can alter ECN bits can simply drop the packets. And
packet drop may have more negative impact on application’s performance compared
to using ECN bits to indicate congestion in the network.</t>
        <t>Similarly any network device which can send SCONEPRO signaling can throttle the
application flow. Throttling may have a more negative impact on an
application’s performance compared to using SCONEPRO signaling to influence the
incoming flow bit-rate from the sender. So like ECN, there should not be any
incentive for the network device to fake the SCONEPRO signal.</t>
        <t>Regarding falsely manipulating CE bit in ECN (either setting or clearing the CE
bit), there is no incentive either way, because both cases may have more
negative impact on application’s performance within the network faking the ECN
signals</t>
        <t>Similarly, there is no incentive for faking SCONEPRO signaling (sending
incorrect meta-data) because sending incorrect meta-data may have more negative
impact on an application’s performance within the network faking the SCONEPRO
signals.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>General SCONEPRO security considerations are discussed in the other documents
covering the specific network-to-host signaling methods.  This document only
addresses questions regarding use of ECN for SCONEPRO.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC3168">
          <front>
            <title>The Addition of Explicit Congestion Notification (ECN) to IP</title>
            <author fullname="K. Ramakrishnan" initials="K." surname="Ramakrishnan"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="D. Black" initials="D." surname="Black"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo specifies the incorporation of ECN (Explicit Congestion Notification) to TCP and IP, including ECN's use of two bits in the IP header. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3168"/>
          <seriesInfo name="DOI" value="10.17487/RFC3168"/>
        </reference>
        <reference anchor="RFC8803">
          <front>
            <title>0-RTT TCP Convert Protocol</title>
            <author fullname="O. Bonaventure" initials="O." role="editor" surname="Bonaventure"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="S. Gundavelli" initials="S." surname="Gundavelli"/>
            <author fullname="S. Seo" initials="S." surname="Seo"/>
            <author fullname="B. Hesmans" initials="B." surname="Hesmans"/>
            <date month="July" year="2020"/>
            <abstract>
              <t>This document specifies an application proxy, called Transport Converter, to assist the deployment of TCP extensions such as Multipath TCP. A Transport Converter may provide conversion service for one or more TCP extensions. The conversion service is provided by means of the 0-RTT TCP Convert Protocol (Convert).</t>
              <t>This protocol provides 0-RTT (Zero Round-Trip Time) conversion service since no extra delay is induced by the protocol compared to connections that are not proxied. Also, the Convert Protocol does not require any encapsulation (no tunnels whatsoever).</t>
              <t>This specification assumes an explicit model, where the Transport Converter is explicitly configured on hosts. As a sample applicability use case, this document specifies how the Convert Protocol applies for Multipath TCP.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8803"/>
          <seriesInfo name="DOI" value="10.17487/RFC8803"/>
        </reference>
        <reference anchor="RFC8804">
          <front>
            <title>Content Delivery Network Interconnection (CDNI) Request Routing Extensions</title>
            <author fullname="O. Finkelman" initials="O." surname="Finkelman"/>
            <author fullname="S. Mishra" initials="S." surname="Mishra"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>&lt;p&gt;Open Caching architecture is a use case of Content Delivery Network Interconnection (CDNI) in which the commercial Content Delivery Network (CDN) is the upstream CDN (uCDN) and the ISP caching layer serves as the downstream CDN (dCDN). This document defines extensions to the CDNI Metadata Interface (MI) and the Footprint &amp; Capabilities Advertisement interface (FCI). These extensions are derived from requirements raised by Open Caching but are also applicable to CDNI use cases in general.&lt;/p&gt;</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8804"/>
          <seriesInfo name="DOI" value="10.17487/RFC8804"/>
        </reference>
        <reference anchor="RFC9330">
          <front>
            <title>Low Latency, Low Loss, and Scalable Throughput (L4S) Internet Service: Architecture</title>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This document describes the L4S architecture, which enables Internet applications to achieve low queuing latency, low congestion loss, and scalable throughput control. L4S is based on the insight that the root cause of queuing delay is in the capacity-seeking congestion controllers of senders, not in the queue itself. With the L4S architecture, all Internet applications could (but do not have to) transition away from congestion control algorithms that cause substantial queuing delay and instead adopt a new class of congestion controls that can seek capacity with very little queuing. These are aided by a modified form of Explicit Congestion Notification (ECN) from the network. With this new architecture, applications can have both low latency and high throughput.</t>
              <t>The architecture primarily concerns incremental deployment. It defines mechanisms that allow the new class of L4S congestion controls to coexist with 'Classic' congestion controls in a shared network. The aim is for L4S latency and throughput to be usually much better (and rarely worse) while typically not impacting Classic performance.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9330"/>
          <seriesInfo name="DOI" value="10.17487/RFC9330"/>
        </reference>
        <reference anchor="RFC9331">
          <front>
            <title>The Explicit Congestion Notification (ECN) Protocol for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This specification defines the protocol to be used for a new network service called Low Latency, Low Loss, and Scalable throughput (L4S). L4S uses an Explicit Congestion Notification (ECN) scheme at the IP layer that is similar to the original (or 'Classic') ECN approach, except as specified within. L4S uses 'Scalable' congestion control, which induces much more frequent control signals from the network, and it responds to them with much more fine-grained adjustments so that very low (typically sub-millisecond on average) and consistently low queuing delay becomes possible for L4S traffic without compromising link utilization. Thus, even capacity-seeking (TCP-like) traffic can have high bandwidth and very low delay at the same time, even during periods of high traffic load.</t>
              <t>The L4S identifier defined in this document distinguishes L4S from 'Classic' (e.g., TCP-Reno-friendly) traffic. Then, network bottlenecks can be incrementally modified to distinguish and isolate existing traffic that still follows the Classic behaviour, to prevent it from degrading the low queuing delay and low loss of L4S traffic. This Experimental specification defines the rules that L4S transports and network elements need to follow, with the intention that L4S flows neither harm each other's performance nor that of Classic traffic. It also suggests open questions to be investigated during experimentation. Examples of new Active Queue Management (AQM) marking algorithms and new transports (whether TCP-like or real time) are specified separately.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9331"/>
          <seriesInfo name="DOI" value="10.17487/RFC9331"/>
        </reference>
        <reference anchor="RFC9332">
          <front>
            <title>Dual-Queue Coupled Active Queue Management (AQM) for Low Latency, Low Loss, and Scalable Throughput (L4S)</title>
            <author fullname="K. De Schepper" initials="K." surname="De Schepper"/>
            <author fullname="B. Briscoe" initials="B." role="editor" surname="Briscoe"/>
            <author fullname="G. White" initials="G." surname="White"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>This specification defines a framework for coupling the Active Queue Management (AQM) algorithms in two queues intended for flows with different responses to congestion. This provides a way for the Internet to transition from the scaling problems of standard TCP-Reno-friendly ('Classic') congestion controls to the family of 'Scalable' congestion controls. These are designed for consistently very low queuing latency, very low congestion loss, and scaling of per-flow throughput by using Explicit Congestion Notification (ECN) in a modified way. Until the Coupled Dual Queue (DualQ), these Scalable L4S congestion controls could only be deployed where a clean-slate environment could be arranged, such as in private data centres.</t>
              <t>This specification first explains how a Coupled DualQ works. It then gives the normative requirements that are necessary for it to work well. All this is independent of which two AQMs are used, but pseudocode examples of specific AQMs are given in appendices.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9332"/>
          <seriesInfo name="DOI" value="10.17487/RFC9332"/>
        </reference>
        <reference anchor="I-D.joras-sconepro-video-opt-requirements">
          <front>
            <title>SCONEPRO Video Optimization Requirements</title>
            <author fullname="Matt Joras" initials="M." surname="Joras">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Anoop Tomar" initials="A." surname="Tomar">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Abhishek Tiwari" initials="A." surname="Tiwari">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <author fullname="Alan Frindell" initials="A." surname="Frindell">
              <organization>Meta Platforms, Inc.</organization>
            </author>
            <date day="17" month="May" year="2024"/>
            <abstract>
              <t>   These are the requirements for the "Video Optimization" use-case for
   the SCONEPRO topic, which broadly speaking seeks to optimize video
   playback experience in mobile networks by cooperative communication
   between video content providers and the providers of network services
   to end users.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-joras-sconepro-video-opt-requirements-00"/>
        </reference>
        <reference anchor="YouTube" target="https://datatracker.ietf.org/meeting/119/materials/slides-119-sconepro-youtube-plan-aware-streaming-01">
          <front>
            <title>YouTube Plan Aware Streaming</title>
            <author>
              <organization>YouTube</organization>
            </author>
            <date year="2024" month="March" day="21"/>
          </front>
        </reference>
        <reference anchor="SADCDN-Charter" target="https://github.com/mjoras/SCONE-PROTOCL/blob/main/documents/charter.md">
          <front>
            <title>SADCDN Working Group Charter</title>
            <author initials="I. S. B." surname="Proponents" fullname="IETF SADCDN BOF Proponents">
              <organization/>
            </author>
            <date year="2024" month="May" day="14"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 331?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document represents collaboration, comments, and inputs from others,
including:</t>
      <ul spacing="normal">
        <li>
          <t>Spencer Dawkins</t>
        </li>
        <li>
          <t>Alan Frindell</t>
        </li>
        <li>
          <t>Bryan Tan</t>
        </li>
        <li>
          <t>Michael Welzl</t>
        </li>
        <li>
          <t>Ted Hardie</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61b224cR5J9z6/I1WJhctDdvEiekbmz46EoSuJAImmRGq0x
GAyyq7K7y6quLFdWkWoLAvwP+7TALLDfsp/iL9kTEZlZVWRLGmP3wVazOisv
cTlxIiJ7Op2qtmhLe6QfXJ1cnJ9evr7Q59bmeuEa/dQuiqqolvoYz271RTW9
NO1KXxXLypT0/JXNVqYq/PqBMvN5Y2+G0/TDaMIHKndZZdZYKW/Mop22bm2a
qc9cZevGTW1WTff3VWZau3TN5kgX1cIpVdTNkW6bzreH+/vf7B8q01hzpN/a
uTZVrs+q1jaVbfV1Yypfu6ZVt655t2xcVx/puBX1zm7wOD/S16vGtS1tqn92
nJu6LW6sflK009dYX/+5yK3rB5yenCvlW6z3N1Niu0d6Y73y2H77tx8711p/
pCun6uJI/6V12UR77KOxC49PmzV9+KtSpmtXrjlSWk/xn8bx8NbxTF+TGPiJ
COe4cq4ePHXNEhL+ybSFq44g8NbwY7s2RXkEGWA0S/KPa3w1y9x6vMKrmT5b
laMVXpkm6/zg8XiJ06bIvHfVcJk1vzIr6JU/2jDg/mJvZ/o0zzeDtd5aX9pN
//Tzp7nl0RaDP3Gas5m+urVtO1jhzFSDZ+P5nzu3LO1whQJWQoP/uOSv7q9A
GiluTVMMVTJfFX5l3w2/+YJaWh75aZ38yTXGj3TStoOHn5993mxMBXPsp1eV
a9aGjPgILgPHSX9p/frZycOD3z4OHx8/3n/Yf3wUPn7z8OF+//Gg/3iI+bQ+
mz6d/UCb6931hlxkCtubNvbHrmjs2lat59Hfu+66m/PaWremWdr2SK/atvZH
e3u5aU3bmOydbWaFbRczHHVvbW0Ll9w7OPhmDxuHgZnS7/kSa/gpHvbLblzX
Yu5pXZpqaiBjO/VwNbPG69P9A1lS8CxsQ19iqD6mofoqDuVxvUdG7bDg05v8
CPvFXIf7h4+m+w+nhwd0wKvjpydPz6cnKwCAbbafc1m0q25Oytlbs+j2GIym
QKPri5OXe/PSzXHWotoDLHYsvL1MJpyt8+E5ZDX9FrBGWPqcoE2HtT95juAb
p9fP4vtPLp7py8bVECTWune2r6cHj5RW0+lUm7knDbVKXcPuddyfzgsPEPDW
63ZldRWDRB6DhMGzW+2qaU1Bwif0X8cgoQixTZ43Ns3yY2c9Gbn+5ee/3642
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
skr9L0aLQAjXPAAA

-->

</rfc>
