<?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.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-rjt-scone-conformance-signal-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title>Client Conformance Signal for SCONE</title>
    <seriesInfo name="Internet-Draft" value="draft-rjt-scone-conformance-signal-00"/>
    <author fullname="Renjie Tang">
      <organization>Google</organization>
      <address>
        <email>rjt.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="December" day="04"/>
    <area>Web and Internet Transport</area>
    <workgroup>Standard Communication with Network Elements</workgroup>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 36?>

<t>This document proposes conformance signals to be sent by QUIC clients to indicate whether they are able to adapt to the bitrate indicated by the SCONE signal, so that communication service providers <bcp14>MAY</bcp14> stop policing.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://rjt-ietf.github.io/SCONE/draft-rjt-scone-conformance-signal.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-rjt-scone-conformance-signal/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Standard Communication with Network Elements Working Group mailing list (<eref target="mailto:scone@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/scone"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/scone/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/rjt-ietf/SCONE"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>As outlined in the charter, the primary objective of SCONE is to facilitate the communication of throughput suggestions between traffic throttling network elements and QUIC endpoints. One of the main motivations is the desire to disable traffic shapers and policers when possible. However, the ability for communication service providers (CSPs) to unidirectionally send throughput advice signals to QUIC endpoints does not provide the CSPs with information on whether the QUIC endpoints are conforming to the suggested throughput. As a result, the CSP has no assurance to disable throttling.</t>
      <t>A <eref target="https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/45411.pdf">paper</eref> was published on the prevalence and harmfulness of throughput throttling. From an ISP's perspective, it requires additional machine resources to run traffic shapers and policers, and dropped packets result in waste of network bandwidth. From a QUIC server's perspective, retransmissions incur extra costs to server resources. From a QUIC client's perspective, packet loss harms the user's quality of experience. Although communicated throughput advice <bcp14>SHOULD</bcp14> prevent packets from being dropped by traffic policers most of the time, short-duration bursts are common within certain types of network connections, causing the problems mentioned above.</t>
      <t>In addition to determining the format and delivery method for throughput advice, the working group should also establish the conditions under which CSPs <bcp14>SHOULD</bcp14> deactivate their traffic shapers and transition into trust-and-verify mode, where average throughputs are sampled to make sure the content and application providers (CAPs) are behaving as expected.</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="proposals">
      <name>Proposals</name>
      <t>The following proposals assume the throughput advice is transmitted from network elements to QUIC clients in the format of a <eref target="https://datatracker.ietf.org/doc/draft-thomson-scone-train-protocol/">TRAIN</eref> packet. As the technical design of SCONE evolves, the proposals in this draft <bcp14>MAY</bcp14> evolve as well. If the reasoning in this draft is well received, conformance signals <bcp14>MAY</bcp14> also be integrated into the SCONE technical solution proposal drafts.</t>
      <section anchor="implicit-signal">
        <name>Implicit Signal</name>
        <t>The traffic throttling network element <bcp14>SHOULD</bcp14> default marks the 4-tuple flow as conformant when its TRAIN packet is received by the QUIC client. The network element <bcp14>SHOULD</bcp14> not disable traffic shapers until it confirms the QUIC client has acked the SCONE signal. Since the network element lacks visibility into QUIC packets containing ACK frames, it <bcp14>MAY</bcp14> only deduce the QUIC client's receipt of the signal by observing the cessation of TRAIN packet retransmissions by the QUIC server. In the case where the network element gives an unrealistically low throughput advice and the QUIC client decides to not conform, the client <bcp14>SHOULD</bcp14> not ack the TRAIN packets. The SCONE protocol <bcp14>SHOULD</bcp14> also specify a limit on the number of SCONE packet retransmissions. When the retransmission limit is reached, the QUIC server <bcp14>MUST</bcp14> not retransmit any more TRAIN packets, and the network element <bcp14>SHOULD</bcp14> consider the current flow ineligible for SCONE and keeps its throttling device on.</t>
      </section>
      <section anchor="explicit-signal">
        <name>Explicit Signal</name>
        <t>The QUIC client <bcp14>SHOULD</bcp14> signal conformance by echoing back the TRAIN packet. Upon receiving the TRAIN packet, if the decision is to conform, the QUIC client <bcp14>SHOULD</bcp14> send back the same TRAIN packet along with its ACKs to the QUIC server. When the client-initated TRAIN packet reaches the network element, it <bcp14>SHOULD</bcp14> be dropped and throttling devices <bcp14>SHOULD</bcp14> be disabled. In the case where the QUIC client decides to not conform, it <bcp14>SHOULD NOT</bcp14> echo the TRAIN packet back. Since the network element never receives the conformance signal, it keeps its throttling devices on.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The transmission of the conformance signal must employ the same security protection mechanism utilized for the original SCONE packets.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <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>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA51Y23IbxxF936/oQA+2UgRgJkzFYblswxRlsSKRikiVyqXy
w2B3AIy5O7OemQVEu/wv+ZZ8WU73zAILEJJSeZGwc+ue06dP93A8HhfRxFqf
0+iiNtpGunB24XyjbKnp1iytqgnfdHtxc305KkoV9dL5h3MyWFYUlSutarC9
8moRx/6XOA6ls3pc7o4ZBzlm/NVXRejmjQnBOBsfWuy6urx7TvSEVB0cXDC2
0q3GPzaOTmikKxOdN6rmj6vZD/gPnoyu3tw9HxW2a+banxcVPDovYC5oG7pw
TtF3ulif018L5bXCqe/0nJSt6MpG7a2OdOeVDa3zcVRsnL9fete1WHcbsUr5
ChA0TWcN7gpHaWPiiq515KV0WesG3oVRca8fMFKdFzQmqz9EWmqrvWzhId7v
vPwMrfL3tbFLqkyI3sy7qCuqdbXUvlhr28F/ov/PC6IE5OgdxtnEj3wMjzfK
1BiXaHxvdFxMnF/yhPLlChOrGNtwPp3yOh4yaz3pl015YDr3bhP0VE7gjUu4
0M2xlaPMS6eZFEQ1ghDi4NR+ySRtmhiXFk8/z5PJKjb1qChUF1fOM74wQLTo
6jpRbfRG21+Mpjtl5UIEViyVNb8JUuf0o3PLWsuEzijAnlzu+yUPTErXwIBl
uxH3Pi8Kk7zIX8V4PCY1R7BUGYvibmUCgekdg06td60LOtDAdUquB4qO5vji
dfMH+tfbqwsqJa9kCvzmeGrarHRcaU/45wEB0TBWa16hKtVG/oEZmhs4gNX9
torP5AmBMts8ocCrVYQ/Q8IE7dcGnsHdtam0D/Rq9hOF6FpqXW1KkGWSb9qY
qgJgxRNOEe+qrhQWF7NArotgLiwbK5bLlfLIohP5aL1plH8gN/9FlwwduUX2
zch9F6o0tYl8B9m85yDWxhXYuly1XaTQLZegECYCEIwbrWEQXFmYUpbFKBlk
cwbonAGS2AIzZKN1BkMTurE6na45Cyw1Ds6pdDY7hvFKB+MFceRkAj8bCyvV
Mlp8sADFH4iXxReUC0sn9MJt9LpHQc35jg+ikp8LwZcXt6/DUzaLVRU8EKRV
XT8wZ6ohIKqSvQNi7V8ThAQHrYv98eIMn5+0YstohtoOGXd4EPMvc5khzuTL
AdFDpyYESijyOnR1POkN0kqxI6RC6LxkwxDWbezAthm9bxndn7/sdSKAHKac
LCVlOwAGRyICyyk6bVAA1BTWNOtRXiQz2k6nbTcP06xc07O/nZ2eTtpq8ZQ2
8AZztQkrOO9spqpeq1qzcxxYsLiBoFgdwgEPB/7Sc+8aLKer29df4EwEsE08
PyETgcKvHSIIQCrUKQkj6AZ3wD4Mu86XWuLmO/tJdp3IVwVZaeFwq8p7jagk
kDnvcKEohO7JP8f6janiqncxRZTppv2hp15HLne57CIBbNl5QsHyClEPSZjS
1p3b+wcnBTs8ODlKNbJC8EyJxTHEyl87JUkBr/UHbDMMPehTQ9OB9CBR9DHW
3764efvymURNJDdjsmCn5lpKaYaLFTFju83WBtfqBSCaBr4GVJI4rrpUn2ne
+bAlftPk8gqosT2yYnBRDUPIQUubkhXhKlUXJFOEWA40x+VZjjANl9TcoZYW
xZXdUkMyQkM4kWH9zpSeKfa6BqRQ0gZJ6iqRkkegpHzb5Dov7QLfq6sraZ8I
yaqE9VlrbTIdIDXQHgiAKVdJHzK6lValCKNIh/FHSSrkSXeAWDjurkIcY2YM
h80CLrsKrkFeuIphTC31wPcEclBNW3OgHTLknrXF9xVBsl0sqbate+UcKuaM
FZNPmeuVWvPdkeBMqhLc4RL2hHvWdYI/Of1ML4CzfHP11oRmjZGrAo1evb29
436S/6frG/n95hI8f3P5jH/fvpi9fLn9UeQVCbLdr93Oi5tXry6vn6XNGKW9
oWKEqjtKGT66eX13dXM9ezlK1XTYVKhUjOZc7EETEJ8TQ4UChapEy5gq8A8X
r//z79Mz+v33P715fvGX09N//PFH/vj69O9n+OBClaw5i6KSPrnLKAAvZJRP
QbkBhVvU5Zq1JzCLNpY4goDzz+8ZmZ/P6Zt52Z6efZsH+MJ7gz1me4OC2eOR
R5sTiEeGjpjZork3foD0vr+zn/a+e9wHg998x20NjU+//u7bQjj0Wto6QJIY
s3B17TbMtrafkALXJOI+lixuLJLQRg6dSNWjbqWv4n1PmLuqLAXQG0Xv797M
rq53FRLvG8V96L32u/4cvMmdNPSiCc7mbhoLjR3D4+hKV0+fZuWUui1u63LF
qltLA7S0u4ZNr1291qFv7Porb4nKxqSDTAuZNhtd1xO6SjqLpxbcYLz2t5i0
DvOlhsZVJ0fbZj5YRCwnwNJLYUiKs214d94HV3e9UIinyVoQOUAb27CUoEan
B2yK6Oe7yZ0wLhTXXjS39wm3s3HsoGC0ACf46ts7xNQaGsRS4tZXRRO2N+6b
9kHgJ8QOfcQ6t3Qfa0o7iFzNzQc7YPqaOzhZejF2oXr0UJgADWnOjpiusSXQ
2qC/Tc2sIC/n9rWXpVql6jW7+Cf4jbdYkEaIgydqU2k8HfShS19kKNptTU7+
MC5uLj1yrohoPML2bbAH52ETM4Q09S4gYn6hqKBzOTp20yVCwkUCUIKyKJeR
CQXnObKPs1pK4AHElS5RmySZOVaZCylz8pJBKHEBmRneJyQCpOj02dpvkjzg
Nourq6LaQFH6Njb90WOXtcfhmdA7JmVKy+FMPkzIiU6Vs/EARhKtZ7+3O7k6
c5n3B3c42YLzESLz32S4iCdgOu95TjII0lubJb+ldn9bktPutW6DZNMgSyst
oXA2Z/flhyPZPQxQtp9pNtQb8AYa4vjU+bHATOhtC5hS6va0HC4A4Rf5AVka
gTS9dPdIcMwXft1tTaIf2j8WQXewlh5uuD0yLPQPsT2SbwObjh9zmyNSeZAu
HN1wLDiSsdkpiG3fRqv8+NyDPAwXJkWqPpZn/0uC7Cxz9eZAPMJXMPqUUlmd
HiqiraFvIg8Kipj6BJdCTya61SAmC95FJqsadI17qZO167ExatARk0bJcQ+7
6Ib+YE7v9HJAd1+ulDWhIRSv2vym+04f5PbIBz5smNepnNHV7Hp2xL9h+5hf
4LJSpWdK/8cdBrT4L26sfofoFQAA

-->

</rfc>
