rfc9287.original.xml | rfc9287.xml | |||
---|---|---|---|---|
<?xml version='1.0' encoding='utf-8'?> | <?xml version='1.0' encoding='utf-8'?> | |||
<!DOCTYPE rfc [ | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="std" conse | |||
<!ENTITY nbsp " "> | nsus="true" docName="draft-ietf-quic-bit-grease-04" indexInclude="true" ipr="tru | |||
<!ENTITY zwsp "​"> | st200902" number="9287" prepTime="2022-08-23T16:09:07" scripts="Common,Latin" so | |||
<!ENTITY nbhy "‑"> | rtRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true | |||
<!ENTITY wj "⁠"> | " xml:lang="en"> | |||
]> | <link href="https://datatracker.ietf.org/doc/draft-ietf-quic-bit-grease-04" re | |||
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?> | l="prev"/> | |||
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.10 (Ruby 3.1. | <link href="https://dx.doi.org/10.17487/rfc9287" rel="alternate"/> | |||
2) --> | <link href="urn:issn:2070-1721" rel="alternate"/> | |||
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft | ||||
-ietf-quic-bit-grease-04" category="std" consensus="true" tocInclude="true" sort | ||||
Refs="true" symRefs="true" version="3"> | ||||
<!-- xml2rfc v2v3 conversion 3.12.10 --> | ||||
<front> | <front> | |||
<title>Greasing the QUIC Bit</title> | <title>Greasing the QUIC Bit</title> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-quic-bit-grease-04"/> | <seriesInfo name="RFC" value="9287" stream="IETF"/> | |||
<author initials="M." surname="Thomson" fullname="Martin Thomson"> | <author initials="M." surname="Thomson" fullname="Martin Thomson"> | |||
<organization>Mozilla</organization> | <organization showOnFrontPage="true">Mozilla</organization> | |||
<address> | <address> | |||
<email>mt@lowentropy.net</email> | <email>mt@lowentropy.net</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<date year="2022" month="June" day="09"/> | <date month="08" year="2022"/> | |||
<area>TSV</area> | <area>tsv</area> | |||
<workgroup>quic</workgroup> | <workgroup>quic</workgroup> | |||
<keyword>Internet-Draft</keyword> | <keyword>Header</keyword> | |||
<abstract> | <keyword>Path signal</keyword> | |||
<t>This document describes a method for negotiating the ability to send an | <abstract pn="section-abstract"> | |||
arbitrary value for the second-to-most significant bit in QUIC packets.</t> | <t indent="0" pn="section-abstract-1">This document describes a method for | |||
negotiating the ability to send an | ||||
arbitrary value for the second-most significant bit in QUIC packets.</t> | ||||
</abstract> | </abstract> | |||
<note removeInRFC="true"> | <boilerplate> | |||
<name>Discussion Venues</name> | <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc= | |||
<t>Discussion of this document takes place on the | "exclude" pn="section-boilerplate.1"> | |||
QUIC Working Group mailing list (quic@ietf.org), | <name slugifiedName="name-status-of-this-memo">Status of This Memo</name | |||
which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/qu | > | |||
ic/">https://mailarchive.ietf.org/arch/browse/quic/</eref>.</t> | <t indent="0" pn="section-boilerplate.1-1"> | |||
<t>Source for this draft and an issue tracker can be found at | This is an Internet Standards Track document. | |||
<eref target="https://github.com/quicwg/quic-bit-grease">https://github.com/qu | </t> | |||
icwg/quic-bit-grease</eref>.</t> | <t indent="0" pn="section-boilerplate.1-2"> | |||
</note> | This document is a product of the Internet Engineering Task Force | |||
(IETF). It represents the consensus of the IETF community. It has | ||||
received public review and has been approved for publication by | ||||
the Internet Engineering Steering Group (IESG). Further | ||||
information on Internet Standards is available in Section 2 of | ||||
RFC 7841. | ||||
</t> | ||||
<t indent="0" pn="section-boilerplate.1-3"> | ||||
Information about the current status of this document, any | ||||
errata, and how to provide feedback on it may be obtained at | ||||
<eref target="https://www.rfc-editor.org/info/rfc9287" brackets="non | ||||
e"/>. | ||||
</t> | ||||
</section> | ||||
<section anchor="copyright" numbered="false" removeInRFC="false" toc="excl | ||||
ude" pn="section-boilerplate.2"> | ||||
<name slugifiedName="name-copyright-notice">Copyright Notice</name> | ||||
<t indent="0" pn="section-boilerplate.2-1"> | ||||
Copyright (c) 2022 IETF Trust and the persons identified as the | ||||
document authors. All rights reserved. | ||||
</t> | ||||
<t indent="0" pn="section-boilerplate.2-2"> | ||||
This document is subject to BCP 78 and the IETF Trust's Legal | ||||
Provisions Relating to IETF Documents | ||||
(<eref target="https://trustee.ietf.org/license-info" brackets="none | ||||
"/>) in effect on the date of | ||||
publication of this document. Please review these documents | ||||
carefully, as they describe your rights and restrictions with | ||||
respect to this document. Code Components extracted from this | ||||
document must include Revised BSD License text as described in | ||||
Section 4.e of the Trust Legal Provisions and are provided without | ||||
warranty as described in the Revised BSD License. | ||||
</t> | ||||
</section> | ||||
</boilerplate> | ||||
<toc> | ||||
<section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" p | ||||
n="section-toc.1"> | ||||
<name slugifiedName="name-table-of-contents">Table of Contents</name> | ||||
<ul bare="true" empty="true" indent="2" spacing="compact" pn="section-to | ||||
c.1-1"> | ||||
<li pn="section-toc.1-1.1"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref der | ||||
ivedContent="1" format="counter" sectionFormat="of" target="section-1"/>. <xref | ||||
derivedContent="" format="title" sectionFormat="of" target="name-introduction"> | ||||
Introduction</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.2"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.2.1"><xref der | ||||
ivedContent="2" format="counter" sectionFormat="of" target="section-2"/>. <xref | ||||
derivedContent="" format="title" sectionFormat="of" target="name-conventions-an | ||||
d-definitions">Conventions and Definitions</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.3"> | ||||
<t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" form | ||||
at="counter" sectionFormat="of" target="section-3"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-the-grease-quic-bit-transpo">The G | ||||
rease QUIC Bit Transport Parameter</xref></t> | ||||
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
n-toc.1-1.3.2"> | ||||
<li pn="section-toc.1-1.3.2.1"> | ||||
<t indent="0" keepWithNext="true" pn="section-toc.1-1.3.2.1.1">< | ||||
xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3. | ||||
1"/>. <xref derivedContent="" format="title" sectionFormat="of" target="name-cl | ||||
earing-the-quic-bit">Clearing the QUIC Bit</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.3.2.2"> | ||||
<t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent= | ||||
"3.2" format="counter" sectionFormat="of" target="section-3.2"/>. <xref derived | ||||
Content="" format="title" sectionFormat="of" target="name-using-the-quic-bit">Us | ||||
ing the QUIC Bit</xref></t> | ||||
</li> | ||||
</ul> | ||||
</li> | ||||
<li pn="section-toc.1-1.4"> | ||||
<t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" form | ||||
at="counter" sectionFormat="of" target="section-4"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-security-considerations">Security | ||||
Considerations</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.5"> | ||||
<t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" form | ||||
at="counter" sectionFormat="of" target="section-5"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-iana-considerations">IANA Consider | ||||
ations</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.6"> | ||||
<t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" form | ||||
at="counter" sectionFormat="of" target="section-6"/>. <xref derivedContent="" f | ||||
ormat="title" sectionFormat="of" target="name-references">References</xref></t> | ||||
<ul bare="true" empty="true" indent="2" spacing="compact" pn="sectio | ||||
n-toc.1-1.6.2"> | ||||
<li pn="section-toc.1-1.6.2.1"> | ||||
<t indent="0" pn="section-toc.1-1.6.2.1.1"><xref derivedContent= | ||||
"6.1" format="counter" sectionFormat="of" target="section-6.1"/>. <xref derived | ||||
Content="" format="title" sectionFormat="of" target="name-normative-references"> | ||||
Normative References</xref></t> | ||||
</li> | ||||
<li pn="section-toc.1-1.6.2.2"> | ||||
<t indent="0" pn="section-toc.1-1.6.2.2.1"><xref derivedContent= | ||||
"6.2" format="counter" sectionFormat="of" target="section-6.2"/>. <xref derived | ||||
Content="" format="title" sectionFormat="of" target="name-informative-references | ||||
">Informative References</xref></t> | ||||
</li> | ||||
</ul> | ||||
</li> | ||||
<li pn="section-toc.1-1.7"> | ||||
<t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="" forma | ||||
t="none" sectionFormat="of" target="section-appendix.a"/><xref derivedContent="" | ||||
format="title" sectionFormat="of" target="name-authors-address">Author's Addres | ||||
s</xref></t> | ||||
</li> | ||||
</ul> | ||||
</section> | ||||
</toc> | ||||
</front> | </front> | |||
<middle> | <middle> | |||
<section anchor="introduction"> | <section anchor="introduction" numbered="true" removeInRFC="false" toc="incl | |||
<name>Introduction</name> | ude" pn="section-1"> | |||
<t>QUIC <xref target="QUIC"/> intentionally describes a very narrow set of | <name slugifiedName="name-introduction">Introduction</name> | |||
fields that | <t indent="0" pn="section-1-1">The version-independent definition of QUIC | |||
are visible to entities other than endpoints. Beyond those characteristics that | <xref target="RFC8999" format="default" sectionFormat="of" derivedContent="QUIC- | |||
are defined as invariant <xref target="QUIC-INVARIANTS"/>, very little about the | INVARIANTS"/> | |||
"wire image" <xref target="RFC8546"/> of QUIC is visible.</t> | intentionally describes a very narrow set of fields that are visible | |||
<t>The second-to-most significant bit of the first byte in every QUIC pack | to entities other than endpoints. Beyond those characteristics that | |||
et is | are invariant, very little about the "wire image" <xref target="RFC8546" format= | |||
defined as having a fixed value in QUIC version 1 <xref target="QUIC"/>. The pu | "default" sectionFormat="of" derivedContent="RFC8546"/> of QUIC | |||
rpose of | is visible.</t> | |||
having a fixed value is to allow QUIC to be efficiently distinguished from other | <t indent="0" pn="section-1-2">The second-most significant bit of the firs | |||
protocols; see <xref target="DEMUX"/> for a description of a | t byte in every QUIC packet is | |||
defined as having a fixed value in QUIC version 1 <xref target="RFC9000" f | ||||
ormat="default" sectionFormat="of" derivedContent="QUIC"/>. | ||||
The purpose of having a fixed value is to allow endpoints to efficiently distin | ||||
guish QUIC from other protocols; see <xref target="I-D.ietf-avtcore-rfc7983bis" | ||||
format="default" sectionFormat="of" derivedContent="DEMUX"/> for a description | ||||
of a | ||||
system that might use this property. As this bit can identify a packet as QUIC, | system that might use this property. As this bit can identify a packet as QUIC, | |||
it is sometimes referred to as the "QUIC Bit".</t> | it is sometimes referred to as the "QUIC Bit".</t> | |||
<t>Where endpoints and the intermediaries that support them do not depend | <t indent="0" pn="section-1-3">Where endpoints and the intermediaries that | |||
on the | support them do not depend on the | |||
QUIC Bit having a fixed value, sending the same value in every packet is more of | QUIC Bit having a fixed value, sending the same value in every packet is more of | |||
a | ||||
liability than an asset. If systems come to depend on a fixed value, then it | liability than an asset. If systems come to depend on a fixed value, then it | |||
might become infeasible to define a version of QUIC that attributes semantics to | might become infeasible to define a version of QUIC that attributes semantics to | |||
this bit.</t> | this bit.</t> | |||
<t>In order to safeguard future use of this bit, this document defines a Q UIC | <t indent="0" pn="section-1-4">In order to safeguard future use of this bi t, this document defines a QUIC | |||
transport parameter that indicates that an endpoint is willing to receive QUIC | transport parameter that indicates that an endpoint is willing to receive QUIC | |||
packets containing any value for this bit. By sending different values for this | packets containing any value for this bit. By sending different values for this | |||
bit, the hope is that the value will remain available for future use | bit, the hope is that the value will remain available for future use | |||
<xref target="USE-IT"/>.</t> | <xref target="RFC9170" format="default" sectionFormat="of" derivedContent="USE-I T"/>.</t> | |||
</section> | </section> | |||
<section anchor="conventions-and-definitions"> | <section anchor="conventions-and-definitions" numbered="true" removeInRFC="f | |||
<name>Conventions and Definitions</name> | alse" toc="include" pn="section-2"> | |||
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | <name slugifiedName="name-conventions-and-definitions">Conventions and Def | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | initions</name> | |||
"MAY", and "OPTIONAL" in this document are to be interpreted as | <t indent="0" pn="section-2-1"> | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU | |||
only when, they | IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL NOT</bcp14>", "<bcp14>SHOUL | |||
appear in all capitals, as shown here.</t> | D</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>N | |||
<t>This document uses terms and notational conventions from <xref target=" | OT RECOMMENDED</bcp14>", | |||
QUIC"/>.</t> | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
be interpreted as | ||||
described in BCP 14 <xref target="RFC2119" format="default" sectionFormat="o | ||||
f" derivedContent="RFC2119"/> <xref target="RFC8174" format="default" sectionFor | ||||
mat="of" derivedContent="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
<t indent="0" pn="section-2-2">This document uses terms and notational con | ||||
ventions from <xref target="RFC9000" format="default" sectionFormat="of" derived | ||||
Content="QUIC"/>.</t> | ||||
</section> | </section> | |||
<section anchor="the-grease-quic-bit-transport-parameter"> | <section anchor="the-grease-quic-bit-transport-parameter" numbered="true" re | |||
<name>The Grease QUIC Bit Transport Parameter</name> | moveInRFC="false" toc="include" pn="section-3"> | |||
<t>The grease_quic_bit transport parameter (0x2ab2) can be sent by both cl | <name slugifiedName="name-the-grease-quic-bit-transpo">The Grease QUIC Bit | |||
ient and | Transport Parameter</name> | |||
<t indent="0" pn="section-3-1">The grease_quic_bit transport parameter (0x | ||||
2ab2) is defined for QUIC | ||||
version 1 <xref target="RFC9000" format="default" sectionFormat="of" derivedCont | ||||
ent="QUIC"/>. This transport parameter can be sent by both client and | ||||
server. The transport parameter is sent with an empty value; an endpoint that | server. The transport parameter is sent with an empty value; an endpoint that | |||
understands this transport parameter MUST treat receipt of a non-empty value of | understands this transport parameter <bcp14>MUST</bcp14> treat receipt of a non- empty value of | |||
the transport parameter as a connection error of type TRANSPORT_PARAMETER_ERROR. </t> | the transport parameter as a connection error of type TRANSPORT_PARAMETER_ERROR. </t> | |||
<t>An endpoint that advertises the grease_quic_bit transport parameter MUS T accept | <t indent="0" pn="section-3-2">An endpoint that advertises the grease_quic _bit transport parameter <bcp14>MUST</bcp14> accept | |||
packets with the QUIC Bit set to a value of 0. The QUIC Bit is defined as the | packets with the QUIC Bit set to a value of 0. The QUIC Bit is defined as the | |||
second-to-most significant bit of the first byte of QUIC packets (that is, the | second-most significant bit of the first byte of QUIC packets (that is, the | |||
value 0x40).</t> | value 0x40).</t> | |||
<section anchor="clearing-the-quic-bit"> | <section anchor="clearing-the-quic-bit" numbered="true" removeInRFC="false | |||
<name>Clearing the QUIC Bit</name> | " toc="include" pn="section-3.1"> | |||
<t>Endpoints that receive the grease_quic_bit transport parameter from a | <name slugifiedName="name-clearing-the-quic-bit">Clearing the QUIC Bit</ | |||
peer | name> | |||
SHOULD set the QUIC Bit to an unpredictable value unless another extension | <t indent="0" pn="section-3.1-1">Endpoints that receive the grease_quic_ | |||
bit transport parameter from a peer | ||||
<bcp14>SHOULD</bcp14> set the QUIC Bit to an unpredictable value unless another | ||||
extension | ||||
assigns specific meaning to the value of the bit.</t> | assigns specific meaning to the value of the bit.</t> | |||
<t>Endpoints can set the QUIC Bit to 0 on all packets that are sent afte r receiving | <t indent="0" pn="section-3.1-2">Endpoints can set the QUIC Bit to 0 on all packets that are sent after receiving | |||
and processing transport parameters. This could include Initial, Handshake, and | and processing transport parameters. This could include Initial, Handshake, and | |||
Retry packets.</t> | Retry packets.</t> | |||
<t>A client MAY also set the QUIC Bit to 0 in Initial, Handshake, or 0-R TT packets | <t indent="0" pn="section-3.1-3">A client <bcp14>MAY</bcp14> also set th e QUIC Bit to 0 in Initial, Handshake, or 0-RTT packets | |||
that are sent prior to receiving transport parameters from the server. However, | that are sent prior to receiving transport parameters from the server. However, | |||
a client MUST NOT set the QUIC Bit to 0 unless the Initial packets it sends | a client <bcp14>MUST NOT</bcp14> set the QUIC Bit to 0 unless the Initial packet | |||
include a token provided by the server in a NEW_TOKEN frame (<xref section="19.7 | s it sends | |||
" sectionFormat="of" target="QUIC"/>), received less than 604800 seconds (7 days | include a token provided by the server in a NEW_TOKEN frame (<xref section="19.7 | |||
) prior on a connection where | " sectionFormat="of" target="RFC9000" format="default" derivedLink="https://rfc- | |||
editor.org/rfc/rfc9000#section-19.7" derivedContent="QUIC"/>), received less tha | ||||
n 604800 seconds (7 days) prior on a connection where | ||||
the server also included the grease_quic_bit transport parameter.</t> | the server also included the grease_quic_bit transport parameter.</t> | |||
<aside> | <aside pn="section-3.1-4"> | |||
<t>This 7 day limit allows for changes in server configuration. If se | <t indent="0" pn="section-3.1-4.1">This 7-day limit allows for changes | |||
rver | in server configuration. If server | |||
configuration changes and a client does not set the QUIC Bit, then it is | configuration changes and a client does not set the QUIC Bit, then it is | |||
possible that a server will drop packets, resulting in connection failures.</t> | possible that a server will drop packets, resulting in connection failures.</t> | |||
</aside> | </aside> | |||
<t>A server MUST set the QUIC bit to 0 only after processing transport p | <t indent="0" pn="section-3.1-5">A server <bcp14>MUST</bcp14> set the QU | |||
arameters | IC Bit to 0 only after processing transport parameters | |||
from a client. A server MUST NOT remember that a client negotiated the | from a client. A server <bcp14>MUST NOT</bcp14> remember that a client negotiat | |||
ed the | ||||
extension in a previous connection and set the QUIC Bit to 0 based on that | extension in a previous connection and set the QUIC Bit to 0 based on that | |||
information.</t> | information.</t> | |||
<t>An endpoint MUST NOT set the QUIC Bit to 0 without knowing whether th | <t indent="0" pn="section-3.1-6">An endpoint <bcp14>MUST NOT</bcp14> set | |||
e peer | the QUIC Bit to 0 without knowing whether the peer | |||
supports the extension. As Stateless Reset packets (<xref section="10.3" sectio | supports the extension. As Stateless Reset packets (<xref section="10.3" sectio | |||
nFormat="of" target="QUIC"/>) | nFormat="of" target="RFC9000" format="default" derivedLink="https://rfc-editor.o | |||
rg/rfc/rfc9000#section-10.3" derivedContent="QUIC"/>) | ||||
are only used after a loss of connection state, endpoints are unlikely to be | are only used after a loss of connection state, endpoints are unlikely to be | |||
able to set the QUIC Bit to 0 on Stateless Reset packets.</t> | able to set the QUIC Bit to 0 on Stateless Reset packets.</t> | |||
</section> | </section> | |||
<section anchor="using-the-quic-bit"> | <section anchor="using-the-quic-bit" numbered="true" removeInRFC="false" t | |||
<name>Using the QUIC Bit</name> | oc="include" pn="section-3.2"> | |||
<t>The purpose of this extension is to allow for the use of the QUIC Bit | <name slugifiedName="name-using-the-quic-bit">Using the QUIC Bit</name> | |||
by later | <t indent="0" pn="section-3.2-1">The purpose of this extension is to all | |||
ow for the use of the QUIC Bit by later | ||||
extensions.</t> | extensions.</t> | |||
<t>Extensions to QUIC that define semantics for the QUIC Bit can be nego tiated at | <t indent="0" pn="section-3.2-2">Extensions to QUIC that define semantic s for the QUIC Bit can be negotiated at | |||
the same time as the grease_quic_bit transport parameter. In this case, a | the same time as the grease_quic_bit transport parameter. In this case, a | |||
recipient needs to be able to distinguish a randomized value from a value | recipient needs to be able to distinguish a randomized value from a value | |||
carrying information according to the extension. Extensions that use the QUIC | carrying information according to the extension. Extensions that use the QUIC | |||
Bit MUST negotiate their use prior to acting on any semantic.</t> | Bit <bcp14>MUST</bcp14> negotiate their use prior to acting on any semantic.</t> | |||
<t>For example, an extension might define a transport parameter that is | <t indent="0" pn="section-3.2-3">For example, an extension might define | |||
sent in | a transport parameter that is sent in | |||
addition to the grease_quic_bit transport parameter. Though the value of the | addition to the grease_quic_bit transport parameter. Though the value of the | |||
QUIC Bit in packets received by a peer might be set according to rules defined | QUIC Bit in packets received by a peer might be set according to rules defined | |||
by the extension, they might also be randomized as specified in this document.</ t> | by the extension, they might also be randomized as specified in this document.</ t> | |||
<t>Receiving a transport parameter for an extension that uses the QUIC B it could be | <t indent="0" pn="section-3.2-4">The receipt of a transport parameter fo r an extension that uses the QUIC Bit could be | |||
used to confirm that a peer supports the semantic defined in the extension. To | used to confirm that a peer supports the semantic defined in the extension. To | |||
avoid acting on a randomized signal, the extension can require that endpoints | avoid acting on a randomized signal, the extension can require that endpoints | |||
set the QUIC Bit according to the rules of the extension, but defer acting on | set the QUIC Bit according to the rules of the extension but defer acting on | |||
the information conveyed until the transport parameter for the extension is | the information conveyed until the transport parameter for the extension is | |||
received.</t> | received.</t> | |||
<t>Extensions that define semantics for the QUIC Bit can be negotiated w ithout | <t indent="0" pn="section-3.2-5">Extensions that define semantics for th e QUIC Bit can be negotiated without | |||
using the grease_quic_bit transport parameter. However, including both | using the grease_quic_bit transport parameter. However, including both | |||
extensions allows for the QUIC Bit to be greased even if the alternative use is | extensions allows for the QUIC Bit to be greased even if the alternative use is | |||
not supported.</t> | not supported.</t> | |||
</section> | </section> | |||
</section> | </section> | |||
<section anchor="security-considerations"> | <section anchor="security-considerations" numbered="true" removeInRFC="false | |||
<name>Security Considerations</name> | " toc="include" pn="section-4"> | |||
<t>This document introduces no new security considerations for endpoints o | <name slugifiedName="name-security-considerations">Security Considerations | |||
r | </name> | |||
<t indent="0" pn="section-4-1">This document introduces no new security co | ||||
nsiderations for endpoints or | ||||
entities that can rely on endpoint cooperation. However, this change makes the | entities that can rely on endpoint cooperation. However, this change makes the | |||
task of identifying QUIC more difficult without cooperation of endpoints. This | task of identifying QUIC more difficult without cooperation of endpoints. This | |||
sometimes works counter to the security goals of network operators who rely on | sometimes works counter to the security goals of network operators who rely on | |||
network classification to identify threats.</t> | network classification to identify threats; see <xref target="I-D.ietf-quic-mana geability" section="3.1" sectionFormat="of" format="default" derivedLink="https: //datatracker.ietf.org/doc/html/draft-ietf-quic-manageability-18#section-3.1" de rivedContent="MANAGEABILITY"/> for a more comprehensive treatment of this topic. </t> | |||
</section> | </section> | |||
<section anchor="iana-considerations"> | <section anchor="iana-considerations" numbered="true" removeInRFC="false" to | |||
<name>IANA Considerations</name> | c="include" pn="section-5"> | |||
<t>This document registers the grease_quic_bit transport parameter in the | <name slugifiedName="name-iana-considerations">IANA Considerations</name> | |||
"QUIC | <t indent="0" pn="section-5-1">This document registers the grease_quic_bit | |||
Transport Parameters" registry established in <xref section="22.3" sectionFormat | transport parameter in the "QUIC | |||
="of" target="QUIC"/>. The | Transport Parameters" registry established in <xref section="22.3" sectionFormat | |||
="of" target="RFC9000" format="default" derivedLink="https://rfc-editor.org/rfc/ | ||||
rfc9000#section-22.3" derivedContent="QUIC"/>. The | ||||
following fields are registered:</t> | following fields are registered:</t> | |||
<dl> | <dl indent="3" newline="false" spacing="normal" pn="section-5-2"> | |||
<dt>Value:</dt> | <dt pn="section-5-2.1">Value:</dt> | |||
<dd> | <dd pn="section-5-2.2"> | |||
<t>0x2ab2</t> | <t indent="0" pn="section-5-2.2.1">0x2ab2</t> | |||
</dd> | </dd> | |||
<dt>Parameter Name:</dt> | <dt pn="section-5-2.3">Parameter Name:</dt> | |||
<dd> | <dd pn="section-5-2.4"> | |||
<t>grease_quic_bit</t> | <t indent="0" pn="section-5-2.4.1">grease_quic_bit</t> | |||
</dd> | </dd> | |||
<dt>Status:</dt> | <dt pn="section-5-2.5">Status:</dt> | |||
<dd> | <dd pn="section-5-2.6"> | |||
<t>Permanent</t> | <t indent="0" pn="section-5-2.6.1">Permanent</t> | |||
</dd> | </dd> | |||
<dt>Specification:</dt> | <dt pn="section-5-2.7">Specification:</dt> | |||
<dd> | <dd pn="section-5-2.8"> | |||
<t>This document.</t> | <t indent="0" pn="section-5-2.8.1">RFC 9287</t> | |||
</dd> | </dd> | |||
<dt>Date:</dt> | <dt pn="section-5-2.9">Date:</dt> | |||
<dd> | <dd pn="section-5-2.10"> | |||
<t>Date of registration.</t> | <t indent="0" pn="section-5-2.10.1">2022-07-13</t> | |||
</dd> | </dd> | |||
<dt>Contact:</dt> | <dt pn="section-5-2.11">Change Controller:</dt> | |||
<dd> | <dd pn="section-5-2.12"> | |||
<t>QUIC Working Group (quic@ietf.org)</t> | <t indent="0" pn="section-5-2.12.1">IETF (iesg@ietf.org)</t> | |||
</dd> | </dd> | |||
<dt>Change Controller:</dt> | <dt pn="section-5-2.13">Contact:</dt> | |||
<dd> | <dd pn="section-5-2.14"> | |||
<t>IETF (iesg@ietf.org)</t> | <t indent="0" pn="section-5-2.14.1">QUIC Working Group (quic@ietf.org) | |||
</t> | ||||
</dd> | </dd> | |||
<dt>Notes:</dt> | <dt pn="section-5-2.15">Notes:</dt> | |||
<dd> | <dd pn="section-5-2.16"> | |||
<t>(none)</t> | <t indent="0" pn="section-5-2.16.1">(none)</t> | |||
</dd> | </dd> | |||
</dl> | </dl> | |||
</section> | </section> | |||
</middle> | </middle> | |||
<back> | <back> | |||
<references> | <displayreference target="RFC9000" to="QUIC"/> | |||
<name>References</name> | <displayreference target="RFC8999" to="QUIC-INVARIANTS"/> | |||
<references> | <displayreference target="I-D.ietf-avtcore-rfc7983bis" to="DEMUX"/> | |||
<name>Normative References</name> | <displayreference target="RFC9170" to="USE-IT"/> | |||
<reference anchor="QUIC"> | <displayreference target="I-D.ietf-quic-manageability" to="MANAGEABILITY"/> | |||
<references pn="section-6"> | ||||
<name slugifiedName="name-references">References</name> | ||||
<references pn="section-6.1"> | ||||
<name slugifiedName="name-normative-references">Normative References</na | ||||
me> | ||||
<reference anchor="RFC9000" target="https://www.rfc-editor.org/info/rfc9 | ||||
000" quoteTitle="true" derivedAnchor="QUIC"> | ||||
<front> | <front> | |||
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title> | <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title> | |||
<author fullname="J. Iyengar" initials="J." role="editor" surname="I | <author fullname="J. Iyengar" initials="J" role="editor" surname="Iy | |||
yengar"> | engar"/> | |||
<organization/> | <author fullname="M. Thomson" initials="M" role="editor" surname="Th | |||
</author> | omson"/> | |||
<author fullname="M. Thomson" initials="M." role="editor" surname="T | ||||
homson"> | ||||
<organization/> | ||||
</author> | ||||
<date month="May" year="2021"/> | <date month="May" year="2021"/> | |||
<abstract> | <abstract> | |||
<t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communic ation, low-latency connection establishment, and network path migration. QUIC in cludes security measures that ensure confidentiality, integrity, and availabilit y in a range of deployment circumstances. Accompanying documents describe the i ntegration of TLS for key negotiation, loss detection, and an exemplary congesti on control algorithm.</t> | <t indent="0">This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structur ed communication, low-latency connection establishment, and network path migrati on. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents de scribe the integration of TLS for key negotiation, loss detection, and an exempl ary congestion control algorithm.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="9000"/> | <seriesInfo name="RFC" value="9000"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC9000"/> | <seriesInfo name="DOI" value="10.17487/RFC9000"/> | |||
</reference> | </reference> | |||
<reference anchor="RFC2119"> | <reference anchor="RFC8999" target="https://www.rfc-editor.org/info/rfc8 | |||
999" quoteTitle="true" derivedAnchor="QUIC-INVARIANTS"> | ||||
<front> | ||||
<title>Version-Independent Properties of QUIC</title> | ||||
<author fullname="M. Thomson" initials="M" surname="Thomson"/> | ||||
<date month="May" year="2021"/> | ||||
<abstract> | ||||
<t indent="0">This document defines the properties of the QUIC tra | ||||
nsport protocol that are common to all versions of the protocol.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8999"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8999"/> | ||||
</reference> | ||||
<reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2 | ||||
119" quoteTitle="true" derivedAnchor="RFC2119"> | ||||
<front> | <front> | |||
<title>Key words for use in RFCs to Indicate Requirement Levels</tit le> | <title>Key words for use in RFCs to Indicate Requirement Levels</tit le> | |||
<author fullname="S. Bradner" initials="S." surname="Bradner"> | <author fullname="S. Bradner" initials="S" surname="Bradner"/> | |||
<organization/> | ||||
</author> | ||||
<date month="March" year="1997"/> | <date month="March" year="1997"/> | |||
<abstract> | <abstract> | |||
<t>In many standards track documents several words are used to sig nify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF document s. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t> | <t indent="0">In many standards track documents several words are used to signify the requirements in the specification. These words are often ca pitalized. This document defines these words as they should be interpreted in I ETF documents. This document specifies an Internet Best Current Practices for t he Internet Community, and requests discussion and suggestions for improvements. </t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<seriesInfo name="BCP" value="14"/> | <seriesInfo name="BCP" value="14"/> | |||
<seriesInfo name="RFC" value="2119"/> | <seriesInfo name="RFC" value="2119"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC2119"/> | <seriesInfo name="DOI" value="10.17487/RFC2119"/> | |||
</reference> | </reference> | |||
<reference anchor="RFC8174"> | <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8 174" quoteTitle="true" derivedAnchor="RFC8174"> | |||
<front> | <front> | |||
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti tle> | <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</ti tle> | |||
<author fullname="B. Leiba" initials="B." surname="Leiba"> | <author fullname="B. Leiba" initials="B" surname="Leiba"/> | |||
<organization/> | ||||
</author> | ||||
<date month="May" year="2017"/> | <date month="May" year="2017"/> | |||
<abstract> | <abstract> | |||
<t>RFC 2119 specifies common key words that may be used in protoco l specifications. This document aims to reduce the ambiguity by clarifying tha t only UPPERCASE usage of the key words have the defined special meanings.</t> | <t indent="0">RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clar ifying that only UPPERCASE usage of the key words have the defined special meani ngs.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<seriesInfo name="BCP" value="14"/> | <seriesInfo name="BCP" value="14"/> | |||
<seriesInfo name="RFC" value="8174"/> | <seriesInfo name="RFC" value="8174"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC8174"/> | <seriesInfo name="DOI" value="10.17487/RFC8174"/> | |||
</reference> | </reference> | |||
</references> | </references> | |||
<references> | <references pn="section-6.2"> | |||
<name>Informative References</name> | <name slugifiedName="name-informative-references">Informative References | |||
<reference anchor="QUIC-INVARIANTS"> | </name> | |||
<front> | <reference anchor="I-D.ietf-avtcore-rfc7983bis" quoteTitle="true" target | |||
<title>Version-Independent Properties of QUIC</title> | ="https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rfc7983bis-06" derive | |||
<author fullname="M. Thomson" initials="M." surname="Thomson"> | dAnchor="DEMUX"> | |||
<organization/> | ||||
</author> | ||||
<date month="May" year="2021"/> | ||||
<abstract> | ||||
<t>This document defines the properties of the QUIC transport prot | ||||
ocol that are common to all versions of the protocol.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8999"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8999"/> | ||||
</reference> | ||||
<reference anchor="RFC8546"> | ||||
<front> | ||||
<title>The Wire Image of a Network Protocol</title> | ||||
<author fullname="B. Trammell" initials="B." surname="Trammell"> | ||||
<organization/> | ||||
</author> | ||||
<author fullname="M. Kuehlewind" initials="M." surname="Kuehlewind"> | ||||
<organization/> | ||||
</author> | ||||
<date month="April" year="2019"/> | ||||
<abstract> | ||||
<t>This document defines the wire image, an abstraction of the inf | ||||
ormation available to an on-path non-participant in a networking protocol. This | ||||
abstraction is intended to shed light on the implications that increased encryp | ||||
tion has for network functions that use the wire image.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8546"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8546"/> | ||||
</reference> | ||||
<reference anchor="DEMUX"> | ||||
<front> | <front> | |||
<title>Multiplexing Scheme Updates for QUIC</title> | <title>Multiplexing Scheme Updates for QUIC</title> | |||
<author fullname="Bernard Aboba"> | <author fullname="Bernard Aboba"> | |||
<organization>Microsoft Corporation</organization> | <organization showOnFrontPage="true">Microsoft Corporation</organi zation> | |||
</author> | </author> | |||
<author fullname="Gonzalo Salgueiro"> | <author fullname="Gonzalo Salgueiro"> | |||
<organization>Cisco Systems</organization> | <organization showOnFrontPage="true">Cisco Systems</organization> | |||
</author> | </author> | |||
<author fullname="Colin Perkins"> | <author fullname="Colin Perkins"> | |||
<organization>University of Glasgow</organization> | <organization showOnFrontPage="true">University of Glasgow</organi zation> | |||
</author> | </author> | |||
<date day="12" month="May" year="2022"/> | <date month="August" day="5" year="2022"/> | |||
<abstract> | <abstract> | |||
<t> This document defines how QUIC, Datagram Transport Layer Sec urity | <t indent="0"> This document defines how QUIC, Datagram Transpor t Layer Security | |||
(DTLS), Real-time Transport Protocol (RTP), RTP Control Protocol | (DTLS), Real-time Transport Protocol (RTP), RTP Control Protocol | |||
(RTCP), Session Traversal Utilities for NAT (STUN), Traversal Using | (RTCP), Session Traversal Utilities for NAT (STUN), Traversal Using | |||
Relays around NAT (TURN), and ZRTP packets are multiplexed on a | Relays around NAT (TURN), and ZRTP packets are multiplexed on a | |||
single receiving socket. | single receiving socket. | |||
This document updates RFC 7983 and RFC 5764. | This document updates RFC 7983 and RFC 5764. | |||
</t> | </t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rfc7983bis | <seriesInfo name="Internet-Draft" value="draft-ietf-avtcore-rfc7983bis | |||
-04"/> | -06"/> | |||
<format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf- | ||||
avtcore-rfc7983bis-06.txt"/> | ||||
<refcontent>Work in Progress</refcontent> | ||||
</reference> | </reference> | |||
<reference anchor="USE-IT"> | <reference anchor="I-D.ietf-quic-manageability" quoteTitle="true" target ="https://datatracker.ietf.org/doc/html/draft-ietf-quic-manageability-18" derive dAnchor="MANAGEABILITY"> | |||
<front> | <front> | |||
<title>Long-Term Viability of Protocol Extension Mechanisms</title> | <title>Manageability of the QUIC Transport Protocol</title> | |||
<author fullname="M. Thomson" initials="M." surname="Thomson"> | <author fullname="Mirja Kuehlewind"> | |||
<organization/> | <organization showOnFrontPage="true">Ericsson</organization> | |||
</author> | </author> | |||
<author fullname="T. Pauly" initials="T." surname="Pauly"> | <author fullname="Brian Trammell"> | |||
<organization/> | <organization showOnFrontPage="true">Google Switzerland GmbH</orga | |||
nization> | ||||
</author> | </author> | |||
<date month="July" day="15" year="2022"/> | ||||
<abstract> | ||||
<t indent="0"> This document discusses manageability of the QUIC | ||||
transport protocol, | ||||
focusing on the implications of QUIC's design and wire image on | ||||
network operations involving QUIC traffic. It is intended as a | ||||
"user's manual" for the wire image, providing guidance for network | ||||
operators and equipment vendors who rely on the use of transport- | ||||
aware network functions. | ||||
</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="Internet-Draft" value="draft-ietf-quic-manageability | ||||
-18"/> | ||||
<format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf- | ||||
quic-manageability-18.txt"/> | ||||
<refcontent>Work in Progress</refcontent> | ||||
</reference> | ||||
<reference anchor="RFC8546" target="https://www.rfc-editor.org/info/rfc8 | ||||
546" quoteTitle="true" derivedAnchor="RFC8546"> | ||||
<front> | ||||
<title>The Wire Image of a Network Protocol</title> | ||||
<author fullname="B. Trammell" initials="B" surname="Trammell"/> | ||||
<author fullname="M. Kuehlewind" initials="M" surname="Kuehlewind"/> | ||||
<date month="April" year="2019"/> | ||||
<abstract> | ||||
<t indent="0">This document defines the wire image, an abstraction | ||||
of the information available to an on-path non-participant in a networking prot | ||||
ocol. This abstraction is intended to shed light on the implications that incre | ||||
ased encryption has for network functions that use the wire image.</t> | ||||
</abstract> | ||||
</front> | ||||
<seriesInfo name="RFC" value="8546"/> | ||||
<seriesInfo name="DOI" value="10.17487/RFC8546"/> | ||||
</reference> | ||||
<reference anchor="RFC9170" target="https://www.rfc-editor.org/info/rfc9 | ||||
170" quoteTitle="true" derivedAnchor="USE-IT"> | ||||
<front> | ||||
<title>Long-Term Viability of Protocol Extension Mechanisms</title> | ||||
<author fullname="M. Thomson" initials="M" surname="Thomson"/> | ||||
<author fullname="T. Pauly" initials="T" surname="Pauly"/> | ||||
<date month="December" year="2021"/> | <date month="December" year="2021"/> | |||
<abstract> | <abstract> | |||
<t>The ability to change protocols depends on exercising the exten sion and version-negotiation mechanisms that support change. This document expl ores how regular use of new protocol features can ensure that it remains possibl e to deploy changes to a protocol. Examples are given where lack of use caused c hanges to be more difficult or costly.</t> | <t indent="0">The ability to change protocols depends on exercisin g the extension and version-negotiation mechanisms that support change. This do cument explores how regular use of new protocol features can ensure that it rema ins possible to deploy changes to a protocol. Examples are given where lack of use caused changes to be more difficult or costly.</t> | |||
</abstract> | </abstract> | |||
</front> | </front> | |||
<seriesInfo name="RFC" value="9170"/> | <seriesInfo name="RFC" value="9170"/> | |||
<seriesInfo name="DOI" value="10.17487/RFC9170"/> | <seriesInfo name="DOI" value="10.17487/RFC9170"/> | |||
</reference> | </reference> | |||
</references> | </references> | |||
</references> | </references> | |||
<section anchor="authors-addresses" numbered="false" removeInRFC="false" toc | ||||
="include" pn="section-appendix.a"> | ||||
<name slugifiedName="name-authors-address">Author's Address</name> | ||||
<author initials="M." surname="Thomson" fullname="Martin Thomson"> | ||||
<organization showOnFrontPage="true">Mozilla</organization> | ||||
<address> | ||||
<email>mt@lowentropy.net</email> | ||||
</address> | ||||
</author> | ||||
</section> | ||||
</back> | </back> | |||
<!-- ##markdown-source: | ||||
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 | ||||
</rfc> | </rfc> | |||
End of changes. 62 change blocks. | ||||
276 lines changed or deleted | 394 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |