<?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-01" 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-01"/>
    <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>mjoras@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
GAyyq7K7y6quKldmkWoLAvwP+7TALLDfsp/iL9kTEZlZVWRLGmP3wVZ3dVZe
4nLiRERyOp0qX/jSHukHVycX56eXry/0ubW5XtStfmoXRVVUS32MZ7f6oppe
Gr/SV8WyMiU9f2WzlakKt36gzHze2pvhNP0wmvCByuusMmuslLdm4ae+Xpt2
6rK6sk1bT21WTfcPVGa8Xdbt5kgX1aJWqmjaI+3bzvnD/f1v9g+Vaa050m/t
XJsq12eVt21lvb5uTeWauvXqtm7fLdu6a4503Ip6Zzd4nB/p61Vbe0+b6p8d
56bxxY3VTwo/fY319Z+L3Nb9gNOTc6Wcx3p/MyW2e6Q31imH7fu//djV3roj
XdWqKY70X3ydTbTDPlq7cPi0WdOHvyplOr+q2yOl9RT/aRwPbx3P9DWJgZ+I
cI6rum4GT+t2CQn/ZHxRV0cQuDf82K5NUR5BBhjNkvzjGj/Nsno9XuHVTJ+t
ytEKr0ybdW7weLzEaVtkztXVcJk1vzIr6JU/2jDg/mJvZ/o0zzeDtd5aV9pN
//Tzp7nl0RaDP3Gas5m+urXeD1Y4M9Xg2Xj+53W9LO1whQJWQoP/uOSf7q9A
GiluTVsMVTJfFW5l3w1/+YJaPI/8tE7+VLfGjXTi/eDh52df/0AD+8lVVbdr
QyZ8BIeB26RvWr9+dvLw4LePw8fHj/cf9h8fhY/fPHy433886D8eYj6tz6ZP
Z7xi76w35CBTWN60tT92RWvXtvKOR39fd9fdnNfW2pt2af2RXnnfuKO9vdx4
41uTvbPtrLB+McNB99bWejjk3sHBN3vYOMzLlG7PlVjDTfGwX3ZTdx5zT5vS
VFMDCdupg6OZNV4n8OAlBc3CNvQlhupjGqqv4lAe1/tj1A2LPb3Jj7BfzHW4
f/houv9wenhAB7w6fnry9Hx6soL723b7OZeFX3VzUs6eKGuPoWgKLLq+OHm5
Ny/rOc5aVHsAxY6Ft5fJhLN1PjyHrKbfAtQISZ8TsOmw9ifPETzj9PpZfP/J
xTN92dYNBIm17p3t6+nBI6XVdDrVZu5IQ16pa1i9jvvTeeEAAc467VdWVzFE
5DFEGDy71XU1bShEuIT96xgiFOG1yfPWpll+7KwjE9e//Pz329VGZ6b6ygMF
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
XW3H1TwAAA==

-->

</rfc>
