<?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.6.36 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-edm-protocol-greasing-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.4 -->
  <front>
    <title>Considerations for Applying Protocol Maintenance Concepts</title>
    <seriesInfo name="Internet-Draft" value="draft-edm-protocol-greasing-00"/>
    <author fullname="Lucas Pardue">
      <organization>Cloudflare</organization>
      <address>
        <email>lucaspardue.24.7@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="10"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 37?>

<t>Long-term interoperability of protocols is an important goal of the network
standards process. Part of realizing long-term protocol deployment success is
the ability to support change. Change can require adjustments such as extension
to the protocol, modifying usage patterns within the current protocol
constraints, or a replacement protocol. This document present considerations for
protocol designers and implementers about applying protocol maintenance concepts</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://intarchboard.github.io/draft-protocol-greasing/draft-edm-protocol-greasing.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-edm-protocol-greasing/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/intarchboard/draft-protocol-greasing"/>.</t>
    </note>
  </front>
  <middle>
    <?line 47?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Long-term interoperability of protocols is an important goal of the network
standards process <xref target="MAINTENANCE"/>. Part of realizing long-term protocol
deployment success <xref target="SUCCESS"/> is the ability to support change. Change
can require adjustments such as extension to the protocol, modifying usage
patterns within the current protocol constraints, or a replacement protocol.</t>
      <t>Greasing is one technique that supports the long term-viability of protocol
extension points. It was originally designed for TLS <xref target="GREASE"/> as a
later addition to help mitigate observed deployment issues. Subsequently, other
protocols such as QUIC <xref target="QUIC"/> and HTTP/3 <xref target="RFC9114"/> embedded
greasing capability into the protocol, along with policies and IANA registries,
in order to avoid ossification-related problems emerging in the first place.
Greasing is suitable for many protocols but not all. <xref section="3.3" sectionFormat="of" target="VIABILITY"/> discusses the applicability and limitations of greasing.
<xref target="grease"/> presents considerations for applying grease that help
to ensure it can most effectively reach its maintenance goals.</t>
      <t>Changing user needs <xref target="END-USERS"/> may require that applications modify
how they use a protocol without needing to change the protocol itself. For
example, a deployment that supported a download-oriented population might wish
to enable support for user uploads. This would change interactions and traffic
flows but still behave completely within the design constraints of the network
protocols. Implementations and deployments might discover ossification affects
this form of change because expectations form around patterns of usage.
<xref target="variability"/> presents considerations about how increasing the variability of
protocols can mitigate some of these concerns.</t>
      <t>Replacing a protocol may be required where the changing needs or environment
push protocol usage outside its original design parameters and extensions cannot
elegantly fill the gap. Replacing a protocol may also be desirable as a form of
baseline, a formal declaration of protocol and extension(s) combination that is
common, that may simplify deployment by reducing failures related to
combinatorial extensions problems. A replacement protocol version may or may not
be compatible with other versions. A protocol may or may not have a mechanism
for version selection or agility. <xref target="versions"/> presents considerations about
designing for and/or implementing version negotiation and migration.</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="grease">
      <name>Considerations for Applying Greasing</name>
      <t>Greasing can take many forms, depending on the protocol and the nature of its
extension points.</t>
      <t>Where a protocol uses registered values (i.e. codepoints) or numbers in a well
defined range, a common approach (see <xref target="GREASE"/>, <xref section="18.1" sectionFormat="of" target="QUIC"/>, or
<xref section="7.2.8" sectionFormat="of" target="RFC9114"/>), is to reserve a subset of the range for the
purposes of greasing. Ths approach is detailed more thoroughly in <xref section="3.3" sectionFormat="of" target="VIABILITY"/>. However, protocol designers or implementers may find it
difficult to apply those suggestions in abstract. The likely success or
efficacy of this method can be improved by the following suggestions.</t>
      <t>It is assumed that endpoint should implement robust and broad extension
handling. When acting as a receiver or a parser, the implementation should not
treat codepoints reserved for the purposes of greasing as individually special.
In other words, rather than implementation looking specifically for reserved
values, it is better to have a "catch all" mechanism that can handle receipt of
unknown extensions gracefully or without error.</t>
      <t>In order to exercise receiver capability, it is advisable that senders send
values from the ranges reserved for greasing. However, picking a deterministic
value risks a value becoming ossified itself. One outcome of that is receivers
being written to handle a single expected value rather than the generic handling
described above. One way to help mitigate this is to reserve a sufficiently
large range of values for greasing, and ensure that senders chose values from
that range with diversity and non-determinism. The specific nature of size and
distribution of the grease range needs to accommodate the protocol constraints.
For instance, an 8-bit field can only represent a small range of values and it
may be too costly to dedicate many of them solely for the purpose of greasing.
However, protocols that use 32-bit or 64-bit fields are unlikely to have
restrictions.</t>
      <t>It is beneficial to have a large set of reserved numbers for the purpose of
greasing. However, protocol designers that wish to do so may encounter
difficulties in expressing the large range in their protocol documents and/or in
an IANA registry. One approach to this problem has been to define the set
algorithmically in the protocol definition and request that IANA reserve only a
single entry in the respective table that covers the entire range; see for
example
https://www.iana.org/assignments/http3-parameters/http3-parameters.xhtml#http3-parameters-frame-types.
This range should be protected from registering from any other purpose. Deciding
an appropriate label for this protected range is important. Labelling it simply
"reserved" may be confused with other ranges that are reserved for private or
experimental extensions. An implementer that conflates these two meanings may
cause a new class of interoperability failure. Therefore a label such as
"reserved for greasing" may help to avoid the confusion. If choosing to use an
algorithm to define the set, it is encourage to use unique algorithms. This
again improves the chances that receivers will build robust extension handling
rather that a simple special-case ignore list.</t>
      <t>Protocols that do reserve ranges for greasing introduce a new consideration for
real extensions. It is common to want to reserve a block of code points for
iteration and experimentation. Depending how the algorithm spreads numbers
through the full range, any single block of uninterrupted values may be too
small to be usable. This could lead to unintentional use of a greased value.</t>
      <t>Since it is intended for receivers to ignore values reserved for greasing,
designers and implementers need to remain aware that unintentional use of
greased values by a sender for a real extension may cause a failure.</t>
      <t>Receiver implementations may unintentionally build a reliance on the occurrence of
greasing in the temporal or spatial domain. Senders are advised to
implementation non-determinism of when they use grease in addition to what
values they send.</t>
      <t>and might not be suitable for all protocols but
where it is already defined or can be added, it is important for endpoints to
exercise it correctly in order to achieve the maintenance goals.</t>
    </section>
    <section anchor="variability">
      <name>Considerations for Increasing Protocol Variability</name>
      <t>While greasing is one method to deal with falsifying active use of a protocols
extensions points, it cannot address positive use. A protocol may define a
wide-ranging extension capability but if senders do not use it, then
interoperability problems may not arise, leading to ossification until a real
use case emerges.</t>
      <t>Variation of protocol extension points with positive use in mind can help
exercise protocols and ensure long-term maintenance and interoperability. This
can be thought of, to some extent, as protocol fuzzing. It can be a difficult
area to exercise because varying the protocol elements may change the actual
outcome of interactions, leading to real errors. However, some elements can be
safely changed and the following are some examples.</t>
      <t>QUIC packets contain frames. Receivers might build expectations on the
longitudinal aspects of packets or frames - size, ordering, frequency, etc. A
sender can quite often manipulate these parameters and stay compliant to the
requirements of the QUIC protocol. For example, QUIC streams are an ordered
reliable byte stream that is serialized as a sequence of STREAM frames with a
length and offset. Receivers are expected to reassemble frames into an ordered
reliable byte stream such that an application reading from a stream can be
abstracted from matters of the transport later. A sender that purposefully
reorders STREAM frames will help exercise the reassembly features of the
receiver. It is not expected that this would cause a functional failure in the
application layer. However, it may introduce delays or stream head-of-line
blocking that affect the performance aspects of a transmission, which may not be
acceptable for a given use case.</t>
    </section>
    <section anchor="versions">
      <name>Considerations for Protocol Versions</name>
      <t>There are intrinsic and well-documented issues related to testing version
negotiation of protocols; see <xref target="EXTENSIBILITY"/> and Sections <xref target="VIABILITY" section="2.1" sectionFormat="bare"/> and <xref target="VIABILITY" section="3.2" sectionFormat="bare"/> of <xref target="VIABILITY"/>. This section will be expanded with advice for protocol
designers and implementers about how to approach these problems.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The considerations in <xref target="MAINTENANCE"/>, <xref target="GREASE"/>, <xref target="END-USERS"/>, and
<xref target="VIABILITY"/> all apply to the topics discussed in this document.</t>
      <t>The use of protocol features, extensions, and versions can already allow
fingerprinting. Any techniques that change parameters  in any way, including but
not limited to those discussed in this document, can affect fingerprinting. A
deeper analysis of this topic has been deemed out of scope.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="RFC9114" to="HTTP/3"/>
    <references>
      <name>References</name>
      <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>
        <name>Informative References</name>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="MAINTENANCE">
          <front>
            <title>Maintaining Robust Protocols</title>
            <author fullname="M. Thomson" initials="M." surname="Thomson"/>
            <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
            <date month="June" year="2023"/>
            <abstract>
              <t>The main goal of the networking standards process is to enable the long-term interoperability of protocols. This document describes active protocol maintenance, a means to accomplish that goal. By evolving specifications and implementations, it is possible to reduce ambiguity over time and create a healthy ecosystem.</t>
              <t>The robustness principle, often phrased as "be conservative in what you send, and liberal in what you accept", has long guided the design and implementation of Internet protocols. However, it has been interpreted in a variety of ways. While some interpretations help ensure the health of the Internet, others can negatively affect interoperability over time. When a protocol is actively maintained, protocol designers and implementers can avoid these pitfalls.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9413"/>
          <seriesInfo name="DOI" value="10.17487/RFC9413"/>
        </reference>
        <reference anchor="SUCCESS">
          <front>
            <title>What Makes for a Successful Protocol?</title>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="B. Aboba" initials="B." surname="Aboba"/>
            <date month="July" year="2008"/>
            <abstract>
              <t>The Internet community has specified a large number of protocols to date, and these protocols have achieved varying degrees of success. Based on case studies, this document attempts to ascertain factors that contribute to or hinder a protocol's success. It is hoped that these observations can serve as guidance for future protocol work. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5218"/>
          <seriesInfo name="DOI" value="10.17487/RFC5218"/>
        </reference>
        <reference anchor="GREASE">
          <front>
            <title>Applying Generate Random Extensions And Sustain Extensibility (GREASE) to TLS Extensibility</title>
            <author fullname="D. Benjamin" initials="D." surname="Benjamin"/>
            <date month="January" year="2020"/>
            <abstract>
              <t>This document describes GREASE (Generate Random Extensions And Sustain Extensibility), a mechanism to prevent extensibility failures in the TLS ecosystem. It reserves a set of TLS protocol values that may be advertised to ensure peers correctly handle unknown values.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8701"/>
          <seriesInfo name="DOI" value="10.17487/RFC8701"/>
        </reference>
        <reference anchor="QUIC">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <reference anchor="VIABILITY">
          <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"/>
            <abstract>
              <t>The ability to change protocols depends on exercising the extension and version-negotiation mechanisms that support change. This document explores how regular use of new protocol features can ensure that it remains possible to deploy changes to a protocol. Examples are given where lack of use caused changes to be more difficult or costly.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9170"/>
          <seriesInfo name="DOI" value="10.17487/RFC9170"/>
        </reference>
        <reference anchor="END-USERS">
          <front>
            <title>The Internet is for End Users</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>This document explains why the IAB believes that, when there is a conflict between the interests of end users of the Internet and other parties, IETF decisions should favor end users. It also explores how the IETF can more effectively achieve this.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8890"/>
          <seriesInfo name="DOI" value="10.17487/RFC8890"/>
        </reference>
        <reference anchor="EXTENSIBILITY">
          <front>
            <title>Design Considerations for Protocol Extensions</title>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="B. Aboba" initials="B." role="editor" surname="Aboba"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <date month="September" year="2012"/>
            <abstract>
              <t>This document discusses architectural issues related to the extensibility of Internet protocols, with a focus on design considerations. It is intended to assist designers of both base protocols and extensions. Case studies are included. A companion document, RFC 4775 (BCP 125), discusses procedures relating to the extensibility of IETF protocols. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6709"/>
          <seriesInfo name="DOI" value="10.17487/RFC6709"/>
        </reference>
      </references>
    </references>
    <?line 233?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This work is a summary of the topics discussed during EDM meetings. The
contributors at those meetings are thanked.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA7Va23LcOJJ9x1dg5ZfuDVXZsr1jt3ZmejS23K0I39aSp7dj
Yx9QJKoKI5KoJkiVywr/y37LftmekwBIlkru9su+2CpegEReTp7M5Gw2U53r
Knuqj174JrjStqZz+EsvfavPNptq55qVft/6zhe+0m+MazrbmKawGi8UdtOF
I1WYzq58uzvVrll6pUpfNKbGomVrlt3MlvVsk1aYrVprAtacPXqkQr+oXQjY
r9tt8PjF+dUrrR9oUwUPiVxT2o3FP013dKyPLs7+jv8g1tHFh6tXR6rp64Vt
T1WJ3U9VAaFtE/pwqru2t+rmVD9RWArbneqzD+dn+LH17fWq9f3mVP/yk/4F
v3i4n3hFXdsdbpenSs90Yz91emWbpAxe6htX+Fb+DBvTXld8s3Sha92i72yp
K1uubKtubNNDmgdaDxvxRzzf/o64XBtX8ZG/2U+m3lR2Xvia101brE/1uus2
4fThw8nNh1gOS7tu3S9EQx0fXXjTlg+jsg8UfYQXKqgodHghLzl9cR6Xmzv/
tSUe/o4d5+uuro6UMn239i3Vh/20XvZVFX3gdV+YoN9jI1iFt3y7Mo37LKo9
1S8q35fLCnaSmzaq5KjiWxt5af746fzZ31a8QRVgr8a3NV6/gaIVPW74pfWH
Vy9+ODl5eiqLwT6bysAtf766ev/wiVKz2UybBYxmik6p1x5u2Nm21nTq1m9g
74WrXLfTfqnzSYN2QZtGu3rj28408AxvKj7RrS1cpaNXqYA7JcQNfK+wIcx5
5I6PQVGV+0y7V8OGeXEND6/8roaL69AXfBHbKa6cRek87my4ty7WplnZuX4h
/+sCUrX2t961eLr8Zx86rhO40FpD5/BiRAQdGGtwybzrsa596ZYS2n0wWGpj
OsiFsN/CF1wjTxd921Ku/JaEGFQHZQWJQ4Pdod/C1tPH5vpqDY0BA/p03Qb+
Xxzgi5poIbgVwo2KLqnpStaUCwvfd9pkJBpeqSdIVCQkUtHCtSvLyioE0kXT
tb7sC4ni/19769vbH9+cXby9On979vbF+V/oiE9Pnnz58m2OoO5xBKx4+fHF
i/PLS672b49Pnn/5QuG+yTvUN3uH/iPvUN/iHfobvUOpnxJy8Ci+sbqzxbpx
v/X4a226fJx4TCpKU1GzG3ePrdR4iI3nznN90ektTudbt3KNqapddq5SUtrV
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
AA==

-->

</rfc>
