<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-iab-protocol-greasing-02" category="info" consensus="true" submissionType="IAB" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Protocol Greasing">Considerations For Maintaining Protocols Using Grease and Variability</title>
    <seriesInfo name="Internet-Draft" value="draft-iab-protocol-greasing-02"/>
    <author fullname="Lucas Pardue">
      <organization>Cloudflare</organization>
      <address>
        <email>lucas@lucaspardue.com</email>
      </address>
    </author>
    <author fullname="Tommy Pauly">
      <organization>Apple</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <author fullname="Dave Thaler">
      <organization>Armidale Consulting</organization>
      <address>
        <email>dave.thaler.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="November" day="02"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 46?>

<t>Active use and maintenance of network protocols is an important way to
ensure that protocols remain interoperable and extensible over time.
Techniques such as intentionally exercising extension points with
non-meaningful values (referred to as "grease") or adding variability
to how protocol elements are used help generate this active use.</t>
      <t>Grease and variability are used across various protocols developed
by the IETF. This document discusses considerations when designing
and deploying grease and variability mechanisms, and provides
advice for making them as effective as possible.</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-iab-protocol-greasing.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-iab-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 59?>

<section anchor="introduction">
      <name>Introduction</name>
      <t><xref section="3" sectionFormat="of" target="VIABILITY"/> discusses "active use" as a category
of techniques that protocol designers and implementers employ to ensure
that protocol extension mechanisms are exercised and can be used in the
future. This ability to change (to handle protocol updates and extensions)
is an important factor in the success of protocol deployment, as discussed
in <xref target="SUCCESS"/>.</t>
      <t>Active use of protocol features and extensions often requires intentional
efforts beyond what would organically occur in deployments. Some extension
points rarely see new values being used, but it is important that they remain
usable in the future. Some patterns of protocol usage might be
relatively static without specific efforts to ensure that they can change
in the future.</t>
      <t>One key technique for intentional use is "grease" (an acronym for
Generate Random Extensions And Sustain Extensibility), or "greasing".
Greasing was initially designed for TLS <xref target="GREASE"/> and was later
adopted by other protocols such as QUIC <xref target="QUIC"/>. In these protocols,
some extension codepoints are reserved for greasing, and receivers must
ignore them. Greasing is suitable for many protocols but not all; <xref section="3.3" sectionFormat="of" target="VIABILITY"/> discusses the applicability and limitations of greasing.</t>
      <t>While it is becoming more common, designing and applying grease is not
necessarily trivial. There are best practices, and some common pitfalls to
avoid, that have been developed by the protocols using grease thus far.
<xref target="grease-considerations"/> takes these learnings and provides considerations
for new protocol design and deployment.</t>
      <t>Separate from greasing using reserved values, protocol deployments can
intentionally add variability to ensure that network endpoints and middleboxes
do not end up ossifying certain patterns. If expectations have been formed
around historical patterns of use, changing application or transport protocol
feature use could alter the network traffic profile and invalidate such
expectations, possibly leading to deployment problems. For example, an HTTP
deployment that had previously focused on downloads could add a new upload
workload that changes the characteristics of packet flows. <xref target="variability"/>
presents considerations about how intentionally increasing the variability of
protocols can mitigate some ossification concerns.</t>
      <t>Protocol extensions can provide longevity in the face of changing needs or
environment. However, a replacement protocol might be preferred when extensions
are not adequate or feasible. A protocol replacement could aggregate common
extensions and possibly make them mandatory, effectively defining a new baseline
that can simplify deployment and interoperability. 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="grease-considerations">
      <name>Considerations for Greasing Protocols</name>
      <t>Greasing can take many forms, depending on the protocol and the nature of its
extension points. The common pattern across forms of greasing is that values
are generated that have no useful meaning to the protocol and are meant to
be ignored upon receipt. Such values used for the purpose of greasing are
referred to as "grease values" within this document.</t>
      <t>More background to this approach is given in <xref section="3.3" sectionFormat="of" target="VIABILITY"/>.</t>
      <t>This section provides some practical considerations for how to define and
use greasing, and avoid possible pitfalls.</t>
      <section anchor="define">
        <name>Define and Register Grease Value Ranges</name>
        <t>Many protocols that use greasing have a limited set of possible values or
codepoints that can be used in a particular extension point. A common
approach is to reserve a subset of the registrable space for greasing.</t>
        <t>The following are some examples of protocols that have reserved codepoints for grease values:</t>
        <ul spacing="normal">
          <li>
            <t>TLS (<xref target="GREASE"/>)</t>
          </li>
          <li>
            <t>QUIC (<xref section="18.1" sectionFormat="of" target="QUIC"/>)</t>
          </li>
          <li>
            <t>HTTP/3 (<xref section="7.2.8" sectionFormat="of" target="RFC9114"/>)</t>
          </li>
          <li>
            <t>Privacy Pass (<xref target="PRIVACYPASS"/>)</t>
          </li>
        </ul>
        <t>The specifics of how to reserve values depends on the nature of the
available space. For protocols with large possible spaces, it is useful
to have a large set of grease values to increase the chance that
receiver greasing requirements are exercised. The specific
size and distribution of the grease range needs to accommodate the
protocol constraints. For instance, protocols that use 8-bit fields may
find it too costly to dedicate many grease values, 16-bit fields can usually
afford a small set (TLS reserves 16 values in each of its 16-bit registries
<xref target="GREASE"/>), and 32-bit or 64-bit fields are likely to have no such
limitations.</t>
        <t>Reserving grease values has a lasting cost. Grease values cannot be
used or registered for any other purpose (see <xref target="iana-tips"/>), so each
reserved value is permanently removed from the space available to
future extensions. Designers need to be aware that reserving too many
values for greasing can leave few values for defining new extensions.
Separately from greasing, reserved space can also be hard to reclaim.
For example, the IPv4 address block 240.0.0.0/4 was reserved for future
use in 1989 <xref target="RFC1112"/>, and is still listed as reserved <xref target="RFC6890"/>.</t>
        <t>It is recommended to use an algorithm to reserve large sets of values.
For example, <xref target="QUIC"/> uses an algorithm of <tt>31 * N + 27</tt> to allocate
grease values for transport parameters.
These values span all four sizes of QUIC's variable-length integer encoding
(1, 2, 4, and 8 bytes; <xref section="16" sectionFormat="of" target="QUIC"/>), so grease exercises each size.</t>
        <t>One possible problem with some algorithms is that they will spread out
values over the space, and impact the ability to use or reserve contiguous
blocks of non-grease values. It is common for protocol extension designers
to want to reserve contiguous blocks of codepoints in order to aid
iteration and experimentation. Reserved grease values can end up being
in spaces that would otherwise be used for such contiguous blocks.</t>
        <t>Codepoints being used for new reservations, or experimentation, need
to be careful to not unintentionally use grease values. Doing so could
lead to interoperability failures.</t>
        <section anchor="iana-tips">
          <name>Recommendations for IANA Considerations</name>
          <t>IANA registries that contain reserved grease values need to indicate that
the values are reserved in order to prevent them from being allocated
for other uses. The specifics of how to represent the reservations
is up to the documents that define the registries.</t>
          <t>Some registries list out the reserved grease values individually, marked as
"Reserved". For example, the TLS registry uses this approach
(https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml).</t>
          <t>If an algorithm or pattern is used to define grease values, it is recommended
when possible to instead only define a single entry for the entire grease value
set. This entry should include the pattern or algorithm. This approach is used by
the QUIC registry (https://www.iana.org/assignments/quic/quic.xhtml) and the
HTTP/3 registry (https://www.iana.org/assignments/http3-parameters/http3-parameters.xhtml#http3-parameters-frame-types).</t>
          <t>Grease values must not be used or registered for any other purpose. This is in
contrast to other potentially "reserved" values that might be reused or
claimed for a new purpose in the future. To avoid confusion, it is recommended
to label the reservation with a clear identifier, such as "reserved for greasing".</t>
        </section>
      </section>
      <section anchor="use-unpredictable-grease-values">
        <name>Use Unpredictable Grease Values</name>
        <t>In order to gain the benefits of active use and avoid ossification, grease values
used in actual packets
need to be sent in ways that won't become a predictable pattern that receiver and
middlebox implementations
and deployments ossify around.</t>
        <t>Implementations that generate grease values should pick unpredictable entries
from the set of reserved grease values. It is most important that values be
unpredictable across the set of all protocol participants for particular deployments.
This can be achieved in multiple ways: for example, an individual sender
might pick random values from the grease value space on each interaction;
alternatively, a single sender could pick a specific grease value to use, while
other senders pick other values.</t>
        <t>In order to support picking unpredictable values, the set of reserved values
should be large, when possible. See <xref target="define"/> for a discussion of how to allocate
grease values.</t>
      </section>
      <section anchor="use-grease-values-unpredictably">
        <name>Use Grease Values Unpredictably</name>
        <t>In addition to selecting unpredictable values, the inclusion of grease itself
can be made unpredictable. Implementations can vary their behavior by including
no grease values, one grease value, or multiple grease values for a given protocol
extension point.</t>
        <t>How consistently and frequently to use grease values is a choice that implementations
and deployments need to consider and weigh against several factors.</t>
        <t>Deployments of greasing should consider how they expect errors exposed by
using grease values to be noticed and measured (<xref section="4.4" sectionFormat="of" target="VIABILITY"/>).
Counting failures separately for interactions with and without grease helps
attribute them, and detailed logs help diagnose them. Logs can reveal more
than the wire image, so sharing them needs care.</t>
        <t>In order to correctly report the effects of greasing, logging systems and
formats should record unknown values, including grease values. If these
values are discarded and not logged, failures exposed by greasing can be
hidden or misattributed. One example of a logging format that includes
greasing values is qlog, a structured logging format for QUIC
<xref target="QLOG-QUIC"/> and HTTP/3
<xref target="QLOG-H3"/>.</t>
        <t>If grease values are sent too infrequently, so that errors due to sending
grease values blend in with the noise of other errors, it is likely that
no one will notice failures, thus defeating the purpose of greasing.
When grease values are sent more frequently, they will be noticed more.
However, if grease values are sent too consistently, receiver implementations
might end up special-casing grease values.</t>
        <t>The patterns for sending grease values can be made more effective by
coordinating between devices sending the values. One example of coordination
is having a "flag day" where implementations start sending grease values
broadly, and measure to see where errors occur.  See <xref section="3" sectionFormat="of" target="TRANSITION"/>
for more considerations concerning the use of a flag day.</t>
      </section>
      <section anchor="dont-handle-grease-values-as-a-special-case">
        <name>Don't Handle Grease Values as a Special Case</name>
        <t>Implementations that read and process grease values must ignore the values.
"Ignoring" a value upon receipt can have multiple dimensions, however.
Simply not performing any protocol action based on the grease value isn't
enough to ensure that the protocol will remain extensible. The ignoring
must be handled as a general case of "unknown" or "unhandled" values,
not as a special case for ignored grease values.</t>
        <t>This means that grease values can only meaningfully be used for protocol elements
where all unknown values are ignored by default. (Protocols may have ways
to indicate that some specific values are "mandatory" or "critical" in order
to have the protocol interaction succeed, but these must not be marked
for any grease values.)</t>
        <t>One pitfall that implementations may encounter when building logic to
handle the receipt of grease values is related to cases where some recognized
non-grease values need to be handled as errors. Consider the following abstract
example:</t>
        <ol spacing="normal" type="1"><li>
            <t>A protocol element has values 1, 2, 3, and 4 defined and registered for
use. The values 13 and 42 are reserved as grease values.</t>
          </li>
          <li>
            <t>In a specific scenario, only the known values 1 and 2 are valid; 3 and 4
are considered errors.</t>
          </li>
          <li>
            <t>An implementation might naively choose to check for the value being 1 or 2, handle
those cases, and send an error otherwise.</t>
          </li>
          <li>
            <t>When grease values are used, the previous logic will flag an error for the grease value.
If this is detected, implementations might choose to work around this by updating
the logic to check for the value being 1 or 2, then check for grease values to ignore,
and then send an error otherwise. This logic is also incorrect since it doesn't
allow for new extensibility.</t>
          </li>
        </ol>
        <t>The correct logic for the above scenario would be to check for the value being 1 or 2,
then explicitly check for the value being 3 or 4 (to handle the error), with a
catch-all for ignored values.</t>
        <t>In pseudo-code, the correct logic would work like this, where the grease values
would fall into the final <tt>else</tt> case as ignored values.</t>
        <artwork><![CDATA[
if is_valid_case_one(value):
  handle_case_one()
else if is_valid_case_two(value):
  handle_case_two()
else if is_known_invalid_case(value):
  handle_error()
else:
  ignore_value()
]]></artwork>
        <t>Implementations need to take care when implementing such logic. Protocol specification
designers should emphasize that grease values must not be special-cased. It is also
recommended to provide example logic or pseudocode in specifications, similar to the example
above, as guidance to implementers on how to correctly process protocol elements like these.
Documents can also provide test vectors, when applicable, that include grease values
to ensure they are processed correctly.</t>
        <t>One limitation of greasing is that it only exercises grease values. It does not check whether
other values that are reserved for future use are correctly treated as ignored or errors.
As such, ossification remains a possibility for non-grease values. The goal of greasing
is to increase the chances of correct implementation, and thereby reduce (but not
eliminate) the possibility of ossification.</t>
        <t>Reserved fields, which senders set to a fixed value (typically zero),
are a related case. A later specification can give such a field
meaning, so receivers need to ignore its value rather than reject
messages where it is non-zero; <xref section="4.2" sectionFormat="of" target="EXTENSIBILITY"/> calls
that rejection a common mistake. Because senders always send the same
value, these fields are prone to ossification (<xref section="2.2" sectionFormat="of" target="VIABILITY"/>). They are often only a few bits long, leaving no room to
reserve grease values. Negotiated greasing, as <xref target="QUICBIT"/> does for
QUIC's fixed bit, can exercise such a field without consuming any of its
values.</t>
      </section>
      <section anchor="versions">
        <name>Greasing Protocol Versions</name>
        <t><xref target="TRANSITION"/> discusses considerations around planning for transitioning
from an existing protocol, or protocol version, to a new one.
There are also 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"/>.</t>
        <t>One way to grease protocol versions is to have a protocol pass
a list of supported versions or features (e.g., cipher suites), along with a grease
value, such that the grease value will not impact the actual version
or features chosen, since it will not be selected by the receiving entity.</t>
        <t>Another method is to have a protocol include a recovery mechanism (e.g., an extra
round trip to try with another option) for cases when an unsupported version or feature
is attempted.  In this case, a grease value might be attempted at some
frequency or opportunity that would not adversely affect performance.</t>
      </section>
      <section anchor="deployment-considerations-and-incentives-for-greasing">
        <name>Deployment Considerations and Incentives for Greasing</name>
        <t>Greasing can be used as a tool to improve the active use of existing protocol
elements (which weren't necessarily designed with greasing to begin with, or
weren't deployed with greasing); or as part of new protocol design and deployments.</t>
        <t>When greasing isn't used from the beginning of protocol deployment, starting to use
greasing comes with the risk of triggering failures or anomalies. These failures might be innocuous,
but they also might be very impactful and visible to users. This risk creates a
disincentive to deploy greasing in existing systems, since the change that
triggers failures is often blamed for the failure. The risk is highest when
adding greasing to a particular protocol flow that doesn't require any
change of behavior or adoption to hit the greasing behavior. For example,
if a service migrates to use a new web server implementation that enables
greasing, while the previous server didn't, some new failures may be hit
if clients react poorly to greasing.</t>
        <t>Some approaches to avoid failures due to greasing include:</t>
        <ul spacing="normal">
          <li>
            <t>Designing, implementing, and using greasing very early on in protocol development
and deployment. This avoids the aforementioned risk of adding greasing late in a deployment.</t>
          </li>
          <li>
            <t>Enabling greasing along with other major protocol feature changes or deployment changes.
For example, when upgrading to a new protocol version that requires implementation updates
on multiple systems, greasing can be added for the new version specifically. This approach
works well for situations where the protocol participants are known and already need
to cooperate (such as within an encrypted protocol between two endpoints). This approach
applies less well for situations where non-cooperating entities (such as middleboxes)
are the source of ossification.</t>
          </li>
          <li>
            <t>Using heuristics to disable greasing when errors are encountered. For example,
if a client-initiated protocol operation fails multiple times when grease values are used, it can be retried
without any grease values. Alternatively, if a server recognizes a property of a client that always fails
when greasing is used, it could choose to disable greasing when that client is detected.
This reduces the effectiveness of grease values in removing
existing ossification, but can still have benefits for flagging issues in new implementations
when they receive grease values.</t>
          </li>
        </ul>
        <t>Ossification of DNS implementations presents an illustrative challenge for greasing.
Non-encrypted DNS involves many network observers and participants, and the protocol
has numerous fields that have been defined and deployed for many years. <xref target="DNS-GREASE"/>
discusses approaches that can be used to grease DNS, including being able to
more easily tie greasing to using encrypted DNS (thus enabling grease along with
another major feature change). It also describes how the common approach
in DNS to deal with failures, by retrying without options, interacts with grease.</t>
        <section anchor="negotiating-greasing-greasing-the-wire-image">
          <name>Negotiating Greasing: Greasing the Wire Image</name>
          <t>Greasing is always intended to prevent ossification, but the protocol participants targeted by
greasing can vary. Typically, greasing fields that are part of an end-to-end encrypted
protocol allows a sender to target greasing at a known peer. In this case, the sender chooses
to send grease without any explicit negotiation with the peer, since the point is to ensure
that the peer will tolerate receiving grease.</t>
          <t>Other kinds of greasing apply to protocol fields that are visible in the wire image of a protocol
<xref target="WIREIMAGE"/>, generally unencrypted fields in a protocol. These cases target
greasing at all parties that can observe the wire image, including any middleboxes. In
these cases, the two endpoints of a protocol might explicitly negotiate the use of greasing.
This doesn't prevent the endpoints themselves ossifying (since they might choose to not negotiate),
but it can still be effective for preventing ossification of middleboxes. For example,
the "QUIC bit" is an unencrypted bit visible in QUIC's wire image that is used to differentiate
it from other UDP traffic, and is set to a value of 1 in version 1 of QUIC. Being able to set
the bit to 0 requires negotiation between clients and servers to ensure that the QUIC traffic
won't conflict with other traffic (<xref target="QUICBIT"/>). The purpose of this mechanism
is to grease the wire image by ensuring middleboxes can tolerate the bit being set to 0, but
it cannot be used to grease the peer since it requires negotiation.</t>
          <t>Greasing the wire image inherently involves more parties than other kinds of greasing, and it is
more difficult for implementations to anticipate all possible incompatibilities, so it is
more likely to encounter deployment challenges.</t>
        </section>
        <section anchor="discouraging-ossification">
          <name>Discouraging Ossification</name>
          <t>Greasing alone can help ensure that middleboxes tolerate unrecognized extensions rather than
crashing, but one common middlebox behavior is to simply drop all unrecognized extensions.
Techniques such as disabling greasing when errors are encountered can enable communication
but may not provide enough incentive to discourage ossification.</t>
          <t>One approach to preserving the incentive to grease without being blamed for doing so,
while still potentially discouraging ossification, is to make any such ossification visible.
For example, a sender can log and report ossification issues on a given path
when falling back to non-grease values. Similarly, a receiver can log and report communication
that does not include grease values.  Such reports might be used in social feedback
(e.g., public product or service reviews), or in contractual business relationship (e.g., SLA)
discussion, in order to provide an incentive to implementers or deployers of ossified implementations.</t>
          <t>Similar techniques can be used to encourage greasing and variability by others, to
provide further discouragements against ossification in the future.
Having a receiver log and report communication that does not include grease values,
as noted above, can also be used to report on senders that do not support greasing.
It is useful, however, to be able to distinguish between the sender not supporting greasing,
versus the sender supporting greasing but only non-greased messages arriving at the
receiver.  Protocols defining greasing mechanisms should consider whether receivers
can distinguish between these two cases.</t>
          <t>It is not generally recommended to use more drastic incentives to require greasing
such as degrading performance or reliability for senders that don't support greasing.
While this is possible, the benefits of greasing are longer term, rather than immediate,
and the incentives are often not aligned. <xref section="2.1.1" sectionFormat="of" target="SUCCESS"/> explains that success
most easily comes when those who are required to make a change are the ones who gain
the most benefit, and the benefit is noticeable.  If the sending implementation does
not plan to use new extensions in the future, it would not see any benefit from being
pushed to add greasing.</t>
        </section>
      </section>
    </section>
    <section anchor="variability">
      <name>Considerations for Increasing Protocol Variability</name>
      <t>Greasing can maintain protocol extensibility by falsifying active use of its
extension points (see <xref section="3.3" sectionFormat="of" target="VIABILITY"/>). However, greasing alone does not ensure positive use of extension mechanisms. A protocol may
define a wide-ranging extension capability that remains unused in the absence of
real use cases. This can lead to ossification that does not expect extensions,
leading to interoperability problems later on.</t>
      <t>Long-term maintenance and interoperability can be ensured by exercising
extension points positively. To some extent this can be thought of as protocol
fuzzing. This might be difficult to exercise because varying the protocol
elements might change the outcome of interactions, leading to real errors.
However, some protocols allow elements to be safely changed, as shown in the
following examples. The principles in these examples are not limited to
the protocols mentioned, but also arise in many other protocols
(e.g., the Session Initiation Protocol (SIP) <xref target="SIP"/>).</t>
      <section anchor="example-quic-frames">
        <name>Example: QUIC frames</name>
        <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.</t>
        <t>A QUIC stream is 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, which could arrive in any order, into an ordered reliable
byte stream that is readable by applications.</t>
        <t>A form of positive testing is for a sender to unpredictably order the STREAM
frames that it transmits. For example, the sender can vary the sequence order of offset
values. This allows exercising the QUIC reassembly features of the receiver
with the expectation that no failure would occur. However, doing this may
introduce delay or stream head-of-line blocking that affects the performance
aspects of a transmission, which may not be acceptable for a given use case. As
such, positive testing might be most appropriate to use in a subset of
connections, or phases within a connection.</t>
      </section>
      <section anchor="example-post-quantum-key-exchange-in-tls">
        <name>Example: Post-quantum key exchange in TLS</name>
        <t>Post-quantum key exchange in TLS (such as defined in
<xref target="PQTLS"/>) expands the key sizes sent in Client Hello
messages in TLS 1.3 <xref target="TLS"/>. Before using these algorithms,
Client Hello messages would generally fit within a single packet (either in
TCP or QUIC). However, with these larger keys, Client Hello messages need to be
split across two (or more) separate packets. Initial deployments of these keys uncovered
many buggy server and middlebox implementations that did not correctly handle
Client Hello messages being split across multiple packets.</t>
        <t>This is a case in which adding variability to how TLS Client Hello messages were
sent could have helped avoid ossification and buggy implementations. Variations
could include intentionally splitting the messages across packets without increasing
message size, and also adding other values to messages to force them to exceed
the length that can fit within a single packet.</t>
      </section>
      <section anchor="example-ipv6">
        <name>Example: IPv6</name>
        <t>The IPv6 protocol <xref target="IPV6"/> defines the ability to use extension headers,
and further defines the ability to include options in two of those headers. It
also defines a recommended (but not required) order of such headers.</t>
        <t>If the same headers tend to appear in the same order, and with the same size
and offset most of the time, middleboxes can begin to incorrectly rely on assumptions
that those will always be the case, and lead to ossification and inability to
use new headers or options or differing orders in the future.</t>
        <t>IPv6 did not define grease values, but a sender may vary some aspects of the
protocol, such as varying the order of options within an extension header,
or even including a Destination Options Header with only Pad1 or PadN options
between other headers.</t>
        <t>While doing such variations can discourage ossification, they might also have
a negative performance impact if done indiscriminately. For example, making packets
larger as a result might result in fragmentation.</t>
        <t>Finally, there may be security or gateway middleboxes already deployed that
incorrectly rely on assumptions about header order, size, or location in a packet.
Introducing variability might then cause operational problems in such networks and
result in a disincentive to use the protocol or device or application using it.
In practice, adding a padding-only Destination Options header already
causes loss: about 11% to 21% of packets with an 8-byte Destination
Options header of PadN options sent to public servers were dropped in
measurements from 2014 and 2015 <xref target="RFC7872"/>. Guidance for transit
routers has since recommended permitting such packets <xref target="RFC9288"/>, but
senders cannot assume that every path follows that guidance.</t>
      </section>
      <section anchor="wire-image-variation">
        <name>Wire Image Variation</name>
        <t>The examples of variation above highlight ways in which specific protocol
fields are sent. Variation can also apply to more generic aspects of a flow's
wire image <xref target="WIREIMAGE"/>. Even when fields are encrypted, there
are aspects of a protocol's wire image that middleboxes observe and
can ossify around.</t>
        <t>Aspects of the wire image include packet sizes (and patterns in packet sizes),
number of packets in a flow, directionality of flows (how many packets
are sent in one direction or another), and relative timing of packet transmissions.</t>
        <t>Senders can induce intentional wire image variations in many ways, including:
adding padding to extend packet sizes, breaking up data across multiple packets
to reduce packet sizes, pacing or bursting packets to change the frequency of
packet sends, and adding packets that are purely padding or random data
(often referred to as "chaff").</t>
      </section>
      <section anchor="variability-in-protocol-choice">
        <name>Variability in Protocol Choice</name>
        <t>Variation can occur when an endpoint chooses to use one protocol over
another, given the option to use either. For example, a client connecting
to an HTTP server when connected to a dual-stack network might have several
such choices:</t>
        <ul spacing="normal">
          <li>
            <t>Perform DNS resolution using unencrypted DNS, or DNS over TLS <xref target="DOT"/>,
or DNS over HTTPS <xref target="DOH"/></t>
          </li>
          <li>
            <t>Connect to the server's IPv6 or IPv4 address, or both</t>
          </li>
          <li>
            <t>Connect to the server using HTTP/3 (over QUIC) or HTTP/2 (over TCP)</t>
          </li>
        </ul>
        <t>Endpoints often will have a preferred set of protocols to use, and will use
the less preferred protocols as options they fall back to (as described
in "Happy Eyeballs", <xref target="HEv3"/>). However,
for the sake of variation and preventing ossification, endpoints can
intentionally choose to alter their preferences some percentage of the time.</t>
        <t>Variation can also be created when an endpoint chooses to not use a protocol
feature, as an intentional way to ensure the network path or peer still
tolerates its absence. For example, <xref section="3.1" sectionFormat="of" target="PRIVACYPASS"/>
recommends that, in some situations, clients randomly act as if they don't
support sending privacy pass tokens, to ensure that receivers cannot ossify
around them being available.</t>
        <t>Note that sometimes, it is desirable to reduce the appearance of
variation instead of increasing it, particularly when trying to increase
an anonymity set by making connections look more similar to network
observers. For example, a TLS client that supports Encrypted Client Hello
(ECH), but is not aware of an ECH configuration for a server it is contacting,
will send a fake ECH extension made to look like a real one (<xref section="6.2" sectionFormat="of" target="ECH"/>).
When many clients do this, real ECH is harder to tell apart from fake,
which discourages networks from treating it differently (<xref section="10.10.4" sectionFormat="of" target="ECH"/>).</t>
      </section>
      <section anchor="cost-of-variability">
        <name>Cost of Variability</name>
        <t>Adding variability to implementations and deployments can come with costs for
complexity and performance, and needs to be weighed against the benefits
of reducing or preventing ossification.</t>
        <ul spacing="normal">
          <li>
            <t>Implementation complexity: Correctly implemented receivers need to be
able to handle all valid inputs, but sender-side logic is often made more
complex by adding support for variation. The kinds of protocol variability
described in this document can require sender logic to not only support
less straightforward ways of constructing packets, but also support
randomly deciding when to induce variability.</t>
          </li>
          <li>
            <t>Processing overhead: For both senders and receivers, protocol variability
can lead to processing overhead, and potentially higher memory usage. For
example, intentionally breaking up and reordering data frames is less
efficient than processing a complete data chunk.</t>
          </li>
          <li>
            <t>Network efficiency: Variability that changes the wire image of a protocol
(<xref target="wire-image-variation"/>) might be achieved by spreading data out across
more packets, sending smaller packets, adding chaff packets, or adding delay.
All of these, if used in excess, could degrade the overall performance of a flow
on a network, such as to reduce goodput, increase latency, etc.</t>
          </li>
        </ul>
      </section>
    </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>Security devices that inspect traffic, such as firewalls and intrusion
detection systems, also process grease. Grease is normal protocol
behavior, so if these systems categorize it as an attack, greasing fails
and senders may stop greasing. Recognizing grease values specifically
does not help: a device that permits grease but blocks other unknown
values still blocks real extensions. To mitigate this, protocol specifications
can define how intermediaries handle unknown values, as TLS does
(<xref section="9.3" sectionFormat="of" target="TLS"/>), and as operational guidance does for QUIC
(<xref section="2.8" sectionFormat="of" target="RFC9312"/>) and DNS (<xref section="4" sectionFormat="of" target="RFC8906"/>).
These security devices typically also fingerprint traffic (<xref section="2.4.5" sectionFormat="of" target="RFC9065"/>),
which grease can disrupt.</t>
      <t>The use of protocol features, extensions, and versions can already allow
fingerprinting <xref target="PRIVCON"/>. 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 itself. Guidance on how other documents can effectively
instruct IANA about protocol greasing is provided in <xref target="iana-tips"/>.</t>
    </section>
  </middle>
  <back>
    <displayreference target="RFC9114" to="HTTP/3"/>
    <references anchor="sec-informative-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="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="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="PRIVACYPASS">
        <front>
          <title>The Privacy Pass HTTP Authentication Scheme</title>
          <author fullname="T. Pauly" initials="T." surname="Pauly"/>
          <author fullname="S. Valdez" initials="S." surname="Valdez"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="June" year="2024"/>
          <abstract>
            <t>This document defines an HTTP authentication scheme for Privacy Pass, a privacy-preserving authentication mechanism used for authorization. The authentication scheme specified in this document can be used by Clients to redeem Privacy Pass tokens with an Origin. It can also be used by Origins to challenge Clients to present Privacy Pass tokens.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9577"/>
        <seriesInfo name="DOI" value="10.17487/RFC9577"/>
      </reference>
      <reference anchor="RFC1112">
        <front>
          <title>Host extensions for IP multicasting</title>
          <author fullname="S.E. Deering" initials="S.E." surname="Deering"/>
          <date month="August" year="1989"/>
          <abstract>
            <t>This memo specifies the extensions required of a host implementation of the Internet Protocol (IP) to support multicasting. Recommended procedure for IP multicasting in the Internet. This RFC obsoletes RFCs 998 and 1054. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="5"/>
        <seriesInfo name="RFC" value="1112"/>
        <seriesInfo name="DOI" value="10.17487/RFC1112"/>
      </reference>
      <reference anchor="RFC6890">
        <front>
          <title>Special-Purpose IP Address Registries</title>
          <author fullname="M. Cotton" initials="M." surname="Cotton"/>
          <author fullname="L. Vegoda" initials="L." surname="Vegoda"/>
          <author fullname="R. Bonica" initials="R." role="editor" surname="Bonica"/>
          <author fullname="B. Haberman" initials="B." surname="Haberman"/>
          <date month="April" year="2013"/>
          <abstract>
            <t>This memo reiterates the assignment of an IPv4 address block (192.0.0.0/24) to IANA. It also instructs IANA to restructure its IPv4 and IPv6 Special-Purpose Address Registries. Upon restructuring, the aforementioned registries will record all special-purpose address blocks, maintaining a common set of information regarding each address block.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="153"/>
        <seriesInfo name="RFC" value="6890"/>
        <seriesInfo name="DOI" value="10.17487/RFC6890"/>
      </reference>
      <reference anchor="QLOG-QUIC">
        <front>
          <title>QUIC event definitions for qlog</title>
          <author fullname="Robin Marx" initials="R." surname="Marx">
            <organization>Akamai</organization>
          </author>
          <author fullname="Luca Niccolini" initials="L." surname="Niccolini">
            <organization>Meta</organization>
          </author>
          <author fullname="Marten Seemann" initials="M." surname="Seemann">
         </author>
          <author fullname="Lucas Pardue" initials="L." surname="Pardue">
            <organization>Apple</organization>
          </author>
          <date day="2" month="November" year="2026"/>
          <abstract>
            <t>   This document describes a qlog event schema containing concrete qlog
   event definitions and their metadata for the core QUIC protocol and
   selected extensions.

Note to Readers

      Note to RFC editor: Please remove this section before publication.

   Feedback and discussion are welcome at https://github.com/quicwg/qlog
   (https://github.com/quicwg/qlog).  Readers are advised to refer to
   the "editor's draft" at that URL for an up-to-date version of this
   document.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-quic-events-14"/>
      </reference>
      <reference anchor="QLOG-H3">
        <front>
          <title>HTTP/3 qlog event definitions</title>
          <author fullname="Robin Marx" initials="R." surname="Marx">
            <organization>Akamai</organization>
          </author>
          <author fullname="Luca Niccolini" initials="L." surname="Niccolini">
            <organization>Meta</organization>
          </author>
          <author fullname="Marten Seemann" initials="M." surname="Seemann">
         </author>
          <author fullname="Lucas Pardue" initials="L." surname="Pardue">
            <organization>Apple</organization>
          </author>
          <date day="2" month="November" year="2026"/>
          <abstract>
            <t>   This document defines qlog event schemas containing concrete events
   for the core HTTP/3 protocol and selected extensions.  It also
   defines an http namespace for the Capsule Protocol.

Note to Readers

      Note to RFC editor: Please remove this section before publication.

   Feedback and discussion are welcome at https://github.com/quicwg/qlog
   (https://github.com/quicwg/qlog).  Readers are advised to refer to
   the "editor's draft" at that URL for an up-to-date version of this
   document.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-quic-qlog-h3-events-14"/>
      </reference>
      <reference anchor="TRANSITION">
        <front>
          <title>Planning for Protocol Adoption and Subsequent Transitions</title>
          <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>Over the many years since the introduction of the Internet Protocol, we have seen a number of transitions throughout the protocol stack, such as deploying a new protocol, or updating or replacing an existing protocol. Many protocols and technologies were not designed to enable smooth transition to alternatives or to easily deploy extensions; thus, some transitions, such as the introduction of IPv6, have been difficult. This document attempts to summarize some basic principles to enable future transitions, and it also summarizes what makes for a good transition plan.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8170"/>
        <seriesInfo name="DOI" value="10.17487/RFC8170"/>
      </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>
      <reference anchor="DNS-GREASE">
        <front>
          <title>Greasing Protocol Extension Points in the DNS</title>
          <author fullname="Shumon Huque" initials="S." surname="Huque">
            <organization>Salesforce</organization>
          </author>
          <author fullname="Mark P. Andrews" initials="M. P." surname="Andrews">
            <organization>Internet Systems Consortium</organization>
          </author>
          <date day="6" month="July" year="2026"/>
          <abstract>
            <t>   Long term evolvability of the Domain Name System (DNS) protocol
   requires the ability to support change.  Greasing is one technique
   that exercises the regular use of unallocated protocol extension
   points to prevent ossification of their current usage patterns by
   middleboxes or DNS implementations.  This document describes
   considerations and proposals for applying grease to the DNS protocol.

Discussion Venues

   This note is to be removed before publishing as an RFC.

   Source for this draft and an issue tracker can be found at
   https://github.com/ietf-wg-dnsop/draft-ietf-dnsop-grease.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-grease-03"/>
      </reference>
      <reference anchor="WIREIMAGE">
        <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>This document defines the wire image, an abstraction of the information available to an on-path non-participant in a networking protocol. This abstraction is intended to shed light on the implications that increased 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="QUICBIT">
        <front>
          <title>Greasing the QUIC Bit</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>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>
        </front>
        <seriesInfo name="RFC" value="9287"/>
        <seriesInfo name="DOI" value="10.17487/RFC9287"/>
      </reference>
      <reference anchor="SIP">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg"/>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne"/>
          <author fullname="G. Camarillo" initials="G." surname="Camarillo"/>
          <author fullname="A. Johnston" initials="A." surname="Johnston"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="R. Sparks" initials="R." surname="Sparks"/>
          <author fullname="M. Handley" initials="M." surname="Handley"/>
          <author fullname="E. Schooler" initials="E." surname="Schooler"/>
          <date month="July" year="2002"/>
          <abstract>
            <t>This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants. These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3261"/>
        <seriesInfo name="DOI" value="10.17487/RFC3261"/>
      </reference>
      <reference anchor="PQTLS">
        <front>
          <title>Post-Quantum Traditional (PQ/T) Hybrid Key Agreement Mechanisms for TLS 1.3</title>
          <author fullname="K. Kwiatkowski" initials="K." surname="Kwiatkowski"/>
          <author fullname="P. Kampanakis" initials="P." surname="Kampanakis"/>
          <author fullname="B. E. Westerbaan" initials="B. E." surname="Westerbaan"/>
          <author fullname="D. Stebila" initials="D." surname="Stebila"/>
          <date month="August" year="2026"/>
          <abstract>
            <t>This document defines three hybrid key agreement mechanisms for TLS 1.3 -- X25519MLKEM768, SecP256r1MLKEM768, and SecP384r1MLKEM1024 -- that combine the post-quantum ML-KEM (Module-Lattice-Based Key Encapsulation Mechanism) with an ECDHE (Ephemeral Elliptic Curve Diffie-Hellman) exchange.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="10024"/>
        <seriesInfo name="DOI" value="10.17487/RFC10024"/>
      </reference>
      <reference anchor="TLS">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="IPV6">
        <front>
          <title>Internet Protocol, Version 6 (IPv6) Specification</title>
          <author fullname="S. Deering" initials="S." surname="Deering"/>
          <author fullname="R. Hinden" initials="R." surname="Hinden"/>
          <date month="July" year="2017"/>
          <abstract>
            <t>This document specifies version 6 of the Internet Protocol (IPv6). It obsoletes RFC 2460.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="86"/>
        <seriesInfo name="RFC" value="8200"/>
        <seriesInfo name="DOI" value="10.17487/RFC8200"/>
      </reference>
      <reference anchor="RFC7872">
        <front>
          <title>Observations on the Dropping of Packets with IPv6 Extension Headers in the Real World</title>
          <author fullname="F. Gont" initials="F." surname="Gont"/>
          <author fullname="J. Linkova" initials="J." surname="Linkova"/>
          <author fullname="T. Chown" initials="T." surname="Chown"/>
          <author fullname="W. Liu" initials="W." surname="Liu"/>
          <date month="June" year="2016"/>
          <abstract>
            <t>This document presents real-world data regarding the extent to which packets with IPv6 Extension Headers (EHs) are dropped in the Internet (as originally measured in August 2014 and later in June 2015, with similar results) and where in the network such dropping occurs. The aforementioned results serve as a problem statement that is expected to trigger operational advice on the filtering of IPv6 packets carrying IPv6 EHs so that the situation improves over time. This document also explains how the results were obtained, such that the corresponding measurements can be reproduced by other members of the community and repeated over time to observe changes in the handling of packets with IPv6 EHs.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7872"/>
        <seriesInfo name="DOI" value="10.17487/RFC7872"/>
      </reference>
      <reference anchor="RFC9288">
        <front>
          <title>Recommendations on the Filtering of IPv6 Packets Containing IPv6 Extension Headers at Transit Routers</title>
          <author fullname="F. Gont" initials="F." surname="Gont"/>
          <author fullname="W. Liu" initials="W." surname="Liu"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document analyzes the security implications of IPv6 Extension Headers and associated IPv6 options. Additionally, it discusses the operational and interoperability implications of discarding packets based on the IPv6 Extension Headers and IPv6 options they contain. Finally, it provides advice on the filtering of such IPv6 packets at transit routers for traffic not directed to them, for those cases where such filtering is deemed as necessary.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9288"/>
        <seriesInfo name="DOI" value="10.17487/RFC9288"/>
      </reference>
      <reference anchor="DOT">
        <front>
          <title>Specification for DNS over Transport Layer Security (TLS)</title>
          <author fullname="Z. Hu" initials="Z." surname="Hu"/>
          <author fullname="L. Zhu" initials="L." surname="Zhu"/>
          <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
          <author fullname="A. Mankin" initials="A." surname="Mankin"/>
          <author fullname="D. Wessels" initials="D." surname="Wessels"/>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <date month="May" year="2016"/>
          <abstract>
            <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
            <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7858"/>
        <seriesInfo name="DOI" value="10.17487/RFC7858"/>
      </reference>
      <reference anchor="DOH">
        <front>
          <title>DNS Queries over HTTPS (DoH)</title>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <author fullname="P. McManus" initials="P." surname="McManus"/>
          <date month="October" year="2018"/>
          <abstract>
            <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8484"/>
        <seriesInfo name="DOI" value="10.17487/RFC8484"/>
      </reference>
      <reference anchor="HEv3">
        <front>
          <title>Happy Eyeballs Version 3: Better Connectivity Using Concurrency</title>
          <author fullname="Tommy Pauly" initials="T." surname="Pauly">
            <organization>Apple Inc</organization>
          </author>
          <author fullname="David Schinazi" initials="D." surname="Schinazi">
            <organization>Google LLC</organization>
          </author>
          <author fullname="Nidhi Jaju" initials="N." surname="Jaju">
            <organization>Google LLC</organization>
          </author>
          <author fullname="Kenichi Ishibashi" initials="K." surname="Ishibashi">
            <organization>Google LLC</organization>
          </author>
          <date day="2" month="November" year="2026"/>
          <abstract>
            <t>   Many communication protocols operating over the modern Internet use
   hostnames.  These often resolve to multiple IP addresses, each of
   which may have different performance and connectivity
   characteristics.  Since specific addresses or address families (IPv4
   or IPv6) may be blocked, broken, or sub-optimal on a network, clients
   that attempt multiple connections in parallel have a chance of
   establishing a connection more quickly.  This document defines the
   algorithm for "Happy Eyeballs", a technique for reducing user-visible
   delays on dual-stack hosts.  This document updates the algorithm in
   RFC 8305.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-happy-happyeyeballs-v3-05"/>
      </reference>
      <reference anchor="ECH">
        <front>
          <title>TLS Encrypted Client Hello</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <author fullname="K. Oku" initials="K." surname="Oku"/>
          <author fullname="N. Sullivan" initials="N." surname="Sullivan"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="March" year="2026"/>
          <abstract>
            <t>This document describes a mechanism in Transport Layer Security (TLS) for encrypting a message under a server public key.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9849"/>
        <seriesInfo name="DOI" value="10.17487/RFC9849"/>
      </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="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="RFC9312">
        <front>
          <title>Manageability of the QUIC Transport Protocol</title>
          <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
          <author fullname="B. Trammell" initials="B." surname="Trammell"/>
          <date month="September" year="2022"/>
          <abstract>
            <t>This document discusses manageability of the QUIC transport protocol and focuses 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 to provide guidance for network operators and equipment vendors who rely on the use of transport-aware network functions.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9312"/>
        <seriesInfo name="DOI" value="10.17487/RFC9312"/>
      </reference>
      <reference anchor="RFC8906">
        <front>
          <title>A Common Operational Problem in DNS Servers: Failure to Communicate</title>
          <author fullname="M. Andrews" initials="M." surname="Andrews"/>
          <author fullname="R. Bellis" initials="R." surname="Bellis"/>
          <date month="September" year="2020"/>
          <abstract>
            <t>The DNS is a query/response protocol. Failing to respond to queries, or responding incorrectly, causes both immediate operational problems and long-term problems with protocol development.</t>
            <t>This document identifies a number of common kinds of queries to which some servers either fail to respond or respond incorrectly. This document also suggests procedures for zone operators to apply to identify and remediate the problem.</t>
            <t>The document does not look at the DNS data itself, just the structure of the responses.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="231"/>
        <seriesInfo name="RFC" value="8906"/>
        <seriesInfo name="DOI" value="10.17487/RFC8906"/>
      </reference>
      <reference anchor="RFC9065">
        <front>
          <title>Considerations around Transport Header Confidentiality, Network Operations, and the Evolution of Internet Transport Protocols</title>
          <author fullname="G. Fairhurst" initials="G." surname="Fairhurst"/>
          <author fullname="C. Perkins" initials="C." surname="Perkins"/>
          <date month="July" year="2021"/>
          <abstract>
            <t>To protect user data and privacy, Internet transport protocols have supported payload encryption and authentication for some time. Such encryption and authentication are now also starting to be applied to the transport protocol headers. This helps avoid transport protocol ossification by middleboxes, mitigate attacks against the transport protocol, and protect metadata about the communication. Current operational practice in some networks inspect transport header information within the network, but this is no longer possible when those transport headers are encrypted.</t>
            <t>This document discusses the possible impact when network traffic uses a protocol with an encrypted transport header. It suggests issues to consider when designing new transport protocols or features.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9065"/>
        <seriesInfo name="DOI" value="10.17487/RFC9065"/>
      </reference>
      <reference anchor="PRIVCON">
        <front>
          <title>Privacy Considerations for Internet Protocols</title>
          <author fullname="A. Cooper" initials="A." surname="Cooper"/>
          <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
          <author fullname="B. Aboba" initials="B." surname="Aboba"/>
          <author fullname="J. Peterson" initials="J." surname="Peterson"/>
          <author fullname="J. Morris" initials="J." surname="Morris"/>
          <author fullname="M. Hansen" initials="M." surname="Hansen"/>
          <author fullname="R. Smith" initials="R." surname="Smith"/>
          <date month="July" year="2013"/>
          <abstract>
            <t>This document offers guidance for developing privacy considerations for inclusion in protocol specifications. It aims to make designers, implementers, and users of Internet protocols aware of privacy-related design choices. It suggests that whether any individual RFC warrants a specific privacy considerations section will depend on the document's content.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6973"/>
        <seriesInfo name="DOI" value="10.17487/RFC6973"/>
      </reference>
    </references>
    <?line 639?>

<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:
H4sIAAAAAAAAA5V9a3PcRrLl9/oVCCo2htztbouSrAcdNzwcSWMxwpZ1Rdne
+8mDblQ3MUIDPXiQbjM0v33z5KOqgG7as3HnzlAkUM9858nEfD53fdlX/iI7
ed3UXVn4Nu9L+in7e9NmP+Rl3dP/l/Um+9A2fbNqqi77qcO/v2t93vksr4vs
57wt82VZlf3+xOXLZetvaTx7QZ6kV07cKu/9pmn3F1lZrxvnimZV51uavGjz
dT+nQeY7fWu+0bfmj5+4blhuy66jdfX7HT1+dfk3Vw/bpW8vXEFjXrgVLdnX
3dBdZH07eEcLeOoeZTkNcpFdfnx7Sf+4a9rPm7YZdhfZL99lv9C/ZB/0G/fZ
7+nPxYXL5lntf+uzja/1KPCroS5XTcs/dru8/VzhzaLs+rZcDr0vssoXG9+6
W18PtJpHWRYmwj9k1eMZ6dfbvKzwyF/9b/l2V/nFqtni93m7urnIbvp+1118
9VXyx69oOBq67G+GJZ0wLoceXTZ5W3wlR3hwfCf0QkVH1PX0gg2ZvriQ4RZl
89AQX/3B7Sxu+m114lw+9DdNi+Oj+bJsPVSV3Oz3wyrvsg80Ed0K/tS0m7wu
f+ejvcheV81QrCu6J/6jlyM5qfDWX/m/d/wqdn9yOPqnZrvd0+hDtT8y+OWO
zm00br/Do3/Nd3qgR4Z8k9/67NNNXtF1Hhmy3ZYF/S0DtwxVT0cwmqCgtxc9
v70ofb/+6wZ/kKlc3bRbGueWKMSBAcK/suzj31+/Oj9/dsGDEWHtqpy45N2n
Tx++eurcfD7P8iVRW77qnbtc4a1sUO7bgkl9ndcrnzVrot4ehJ7tAr+WHT2X
ldtd0/Z53Wd3+T7rGwd2aX1Gi+2Th1vshJ6mIdtmRyywrGQaYgp6o8Q/m1vf
Zn259Qv3ya9u6vJfg++ybljdZHTXvBqcVl5Ve3rNt6uSJYaO0NTZrqGHuuyO
KI8OpZ5vfQ4ZQ5eQ3eYVBjtt/dq3LXFW32DQEyY4f3JG95HlRYHxbqPYcfTU
TXMX9pH5ym895iDKwkkV2Y2vdsbV2DVOJRzkwrlEniUDx/fzVdt0Hf+tGbrk
xAp/6ys6qsIt6VxvfHb19tPfF0RCNAMJuAHrwJWuhq6jna3GYvbuxtc0RFdu
cAIO0xd+VzV77HBzfE1bOnQ6sG7bzfhvtJZbGrJzeXFbEhUQZRFVsKyh9Wxx
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
Mc3rzyg6/n+HE9iHA4cAAA==

-->

</rfc>
