<?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-rfc2629 version 1.5.6 -->
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-iab-use-it-or-lose-it-03" category="info" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.10.0 -->
  <front>
    <title abbrev="Use It Or Lose It">Long-term Viability of Protocol Extension Mechanisms</title>
    <seriesInfo name="Internet-Draft" value="draft-iab-use-it-or-lose-it-03"/>
    <author initials="M." surname="Thomson" fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>mt@lowentropy.net</email>
      </address>
    </author>
    <author initials="T." surname="Pauly" fullname="Tommy Pauly">
      <organization>Apple</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <date year="2021" month="October" day="01"/>
    <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>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
  EDM Program mailing list (edm@iab.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/edm/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/intarchboard/use-it-or-lose-it"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>A successful protocol <xref target="SUCCESS" format="default"/> needs to change in ways that allow it
to continue to fulfill the changing needs of its users.  New use cases,
conditions and constraints on the deployment of a protocol can render a protocol
that does not change obsolete.</t>
      <t>Usage patterns and requirements for a protocol shift over time.  In response,
implementations might adjust usage patterns within the constraints of the
protocol, the protocol could be extended, or a replacement protocol might be
developed.  Experience with Internet-scale protocol deployment shows that each
option comes with different costs.  <xref target="TRANSITIONS" format="default"/> examines the
problem of protocol evolution more broadly.</t>
      <t>An extension point is a mechanism that allows a protocol to be changed or
enhanced.  This document examines the specific conditions that determine whether
protocol maintainers have the ability to design and deploy new or modified
protocols via their specified extension points.  <xref target="implementations" format="default"/> highlights
some historical examples of difficulties in transitions to new protocol
features.  <xref target="use-it" format="default"/> argues that ossified protocols are more difficult to
update and describes how successful protocols make frequent use of new
extensions and code-points.  <xref target="other" format="default"/> outlines several additional strategies
that might aid in ensuring that protocol changes remain possible over time.</t>
      <t>The experience that informs this document is predominantly at "higher" layers of
the network stack, in protocols with limited numbers of participants.  Though
similar issues are present in many protocols that operate at scale, the
tradeoffs involved with applying some of the suggested techniques can be more
complex when there are many participants, such as at the network layer or in
routing systems.</t>
    </section>
    <section anchor="implementations" numbered="true" toc="default">
      <name>Imperfect Implementations Limit Protocol Evolution</name>
      <t>It can be extremely difficult to deploy a change to a protocol if
implementations with which the new deployment needs to interoperate do not
operate predictably.  Variation in how new codepoints or extensions are handled
can be the result of bugs in implementation or specifications. Unpredictability
can manifest as abrupt termination of sessions, errors, crashes, or
disappearances of endpoints and timeouts.</t>
      <t>The risk of interoperability problems can in turn make it infeasible to
deploy certain protocol changes.  If deploying a new codepoint or extension
makes an implementation less reliable than others, even if only in rare cases,
it is far less likely that implementations will adopt the change.</t>
      <t>Deploying a change to a protocol could require implementations to fix a
substantial proportion of the bugs that the change exposes.  This can
involve a difficult process that includes identifying the cause of
these errors, finding the responsible implementation(s), coordinating a
bug fix and release plan, contacting users and/or the operator of affected
services, and waiting for the fix to be deployed.</t>
      <t>Given the effort involved in fixing problems, the existence of these sorts of
bugs can outright prevent the deployment of some types of protocol changes,
especially for protocols involving multiple parties or that are considered
critical infrastructure (e.g., IP, BGP, DNS, or TLS).  It could even be
necessary to come up with a new protocol design that uses a different method to
achieve the same result.</t>
      <t>This document only addresses cases where extensions are not deliberately
blocked.  Some deployments or implementations apply policies that explicitly
prohibit the use of unknown capabilities.  This is especially true of functions
that seek to make security guarantees, like firewalls.</t>
      <t>The set of interoperable features in a protocol is often the subset of its
features that have some value to those implementing and deploying the protocol.
It is not always the case that future extensibility is in that set.</t>
      <section anchor="not-good-enough" numbered="true" toc="default">
        <name>Good Protocol Design is Not Itself Sufficient</name>
        <t>It is often argued that the careful design of a protocol extension point or
version negotiation capability is critical to the freedom that it ultimately
offers.</t>
        <t>RFC 6709 <xref target="EXTENSIBILITY" format="default"/> contains a great deal of well-considered
advice on designing for extension.  It includes the following advice:</t>
        <ul empty="true">
          <li>
            <t>This means that, to be useful, a protocol version-negotiation mechanism
  should be simple enough that it can reasonably be assumed that all the
  implementers of the first protocol version at least managed to implement the
  version-negotiation mechanism correctly.</t>
          </li>
        </ul>
        <t>There are a number of protocols for which this has proven to be insufficient in
practice.  These protocols have imperfect implementations of these mechanisms.
Mechanisms that aren't used are the ones that fail most often.  The same
paragraph from RFC 6709 acknowledges the existence of this problem, but does not
offer any remedy:</t>
        <ul empty="true">
          <li>
            <t>The nature of protocol version-negotiation mechanisms is that, by definition,
  they don't get widespread real-world testing until <em>after</em> the base protocol
  has been deployed for a while, and its deficiencies have become evident.</t>
          </li>
        </ul>
        <t>Indeed, basic interoperability is considered critical early in the deployment of
a protocol.  A desire to deploy can result in early focus on a reduced feature
set, which could result in deferring implementation of version negotiation and
extension mechanisms.  This leads to these mechanisms being particularly
affected by this problem.</t>
      </section>
      <section anchor="disuse" numbered="true" toc="default">
        <name>Disuse Can Hide Problems</name>
        <t>There are many examples of extension points in protocols that have been either
completely unused, or their use was so infrequent that they could no longer be
relied upon to function correctly.</t>
        <t><xref target="examples" format="default"/> includes examples of disuse in a number of widely deployed Internet
protocols.</t>
        <t>Even where extension points have multiple valid values, if the set of permitted
values does not change over time, there is still a risk that new values are not
tolerated by existing implementations.  If the set of values for a particular
field or the order in which these values appear of a
protocol remains fixed over a long period, some implementations might not
correctly handle a new value when it is introduced.  For example,
implementations of TLS broke when new values of the signature_algorithms
extension were introduced.</t>
      </section>
      <section anchor="middleboxes" numbered="true" toc="default">
        <name>Multi-Party Interactions and Middleboxes</name>
        <t>One of the key challenges in deploying new features is ensuring compatibility
with all actors that could be involved in the protocol.  Even the most
superficially simple protocols can often involve more actors than is immediately
apparent.  Even for a two-party protocol, protocol elements can be passed on to
other entities in ways that can affect protocol operation.</t>
        <t>Protocols that are intermediated need to consider the effect that deploying an
extension might have on a middlebox.</t>
      </section>
    </section>
    <section anchor="use-it" numbered="true" toc="default">
      <name>Active Use</name>
      <t>The design of a protocol for extensibility and eventual replacement
<xref target="EXTENSIBILITY" format="default"/> does not guarantee the ability to exercise those options.
The set of features that enable future evolution need to be interoperable in the
first implementations and deployments of the protocol.  Implementation of
mechanisms that support evolution is necessary to ensure that they remain
available for new uses, and history has shown this occurs almost exclusively
through active mechanism use.</t>
      <t>Only by using the extension capabilities of a protocol is the availability of that
capability assured. "Using" here includes specifying, implementing, and
deploying capabilities that rely on the extension capability.  Protocols that
fail to use a mechanism, or a protocol that only rarely uses a mechanism, could
lead to that mechanism being unreliable.</t>
      <t>Implementations that routinely see new values are more likely to correctly
handle new values.  More frequent changes will improve the likelihood that
incorrect handling or intolerance is discovered and rectified.  The longer an
intolerant implementation is deployed, the more difficult it is to correct.</t>
      <t>Protocols that routinely add new extensions and code points rarely have trouble
adding additional ones, especially when the handling of new versions or
extensions are well defined.  The definition of mechanisms alone is
insufficient; it is the assured implementation and active use of those
mechanisms that determines their availability.</t>
      <t>What constitutes "active use" can depend greatly on the environment in which a
protocol is deployed.  The frequency of changes necessary to safeguard some
mechanisms might be slow enough to attract ossification in another protocol
deployment, while being excessive in others.</t>
      <section anchor="need-it" numbered="true" toc="default">
        <name>Dependency is Better</name>
        <t>The easiest way to guarantee that a protocol mechanism is used is to make the
handling of it critical to an endpoint participating in that protocol.  This
means that implementations must rely on both the existence of extension
mechanisms and their continued, repeated expansion over time.</t>
        <t>For example, the message format in SMTP relies on header fields for most of its
functions, including the most basic delivery functions.  A deployment of SMTP
cannot avoid including an implementation of header field handling.  In addition
to this, the regularity with which new header fields are defined and used
ensures that deployments frequently encounter header fields that they do not yet
(and may never) understand.  An SMTP implementation therefore needs to be able
to both process header fields that it understands and ignore those that it does
not.</t>
        <t>In this way, implementing the extensibility mechanism is not merely mandated by
the specification, it is crucial to the functioning of a protocol deployment.
Should an implementation fail to correctly implement the mechanism, that failure
would quickly become apparent.</t>
        <t>Caution is advised to avoid assuming that building a dependency on an extension
mechanism is sufficient to ensure availability of that mechanism in the long
term.  If the set of possible uses is narrowly constrained and deployments do
not change over time, implementations might not see new variations or assume a
narrower interpretation of what is possible.  Those implementations might still
exhibit errors when presented with new variations.</t>
      </section>
      <section anchor="version-negotiation" numbered="true" toc="default">
        <name>Version Negotiation</name>
        <t>As noted in <xref target="not-good-enough" format="default"/>, protocols that provide version negotiation
mechanisms might not be able to test that feature until a new version is
deployed.  One relatively successful design approach has been to use the
protocol selection mechanisms built into a lower-layer protocol to select the
protocol.  This could allow a version negotiation mechanism to benefit from
active use of the extension point by other protocols.</t>
        <t>For instance, all published versions of IP contain a version number as the four
high bits of the first header byte.  However, version selection using this
field proved to be unsuccessful. Ultimately, successful deployment of IPv6
over Ethernet <xref target="RFC2464" format="default"/> required a different EtherType from IPv4.  This
change took advantage of the already-diverse usage of EtherType.</t>
        <t>Other examples of this style of design include Application-Layer Protocol
Negotiation (<xref target="ALPN" format="default"/>) and HTTP content negotiation (<xref section="12" sectionFormat="of" target="HTTP" format="default"/>).</t>
        <t>This technique relies on the codepoint being usable.  For instance, the IP
protocol number is known to be unreliable and therefore not suitable
<xref target="NEW-PROTOCOLS" format="default"/>.</t>
      </section>
      <section anchor="grease" numbered="true" toc="default">
        <name>Falsifying Active Use</name>
        <t>"Grease" was originally defined for TLS <xref target="GREASE" format="default"/>, but has been
adopted by other protocols, such as QUIC <xref target="QUIC" format="default"/>.  Grease identifies
lack of use as an issue (protocol mechanisms "rusting" shut) and proposes
reserving values for extensions that have no semantic value attached.</t>
        <t>The design in <xref target="GREASE" format="default"/> is aimed at the style of negotiation most used in TLS,
where one endpoint offers a set of options and the other chooses the one that it
most prefers from those that it supports.  An endpoint that uses grease randomly
offers options - usually just one - from a set of reserved values.  These values
are guaranteed to never be assigned real meaning, so its peer will never have
cause to genuinely select one of these values.</t>
        <t>More generally, greasing is used to refer to any attempt to exercise extension
points without changing endpoint behavior, other than to encourage participants
to tolerate new or varying values of protocol elements.</t>
        <t>The principle that grease operates on is that an implementation that is
regularly exposed to unknown values is less likely to be intolerant of new
values when they appear.  This depends largely on the assumption that the
difficulty of implementing the extension mechanism correctly is as easy or
easier than implementing code to identify and filter out reserved values.
Reserving random or unevenly distributed values for this purpose is thought to
further discourage special treatment.</t>
        <t>Without reserved greasing codepoints, an implementation can use code points from
spaces used for private or experimental use if such a range exists.  In addition
to the risk of triggering participation in an unwanted experiment, this can be
less effective.  Incorrect implementations might still be able to identify these
code points and ignore them.</t>
        <t>In addition to advertising bogus capabilities, an endpoint might also
selectively disable non-critical protocol elements to test the ability of peers
to handle the absence of certain capabilities.</t>
        <t>This style of defensive design is limited because it is only superficial.  As
greasing only mimics active use of an extension point, it only exercises a small
part of the mechanisms that support extensibility.  More critically, it does not
easily translate to all forms of extension points.  For instance, HMSV
negotiation cannot be greased in this fashion.  Other techniques might be
necessary for protocols that don't rely on the particular style of exchange that
is predominant in TLS.</t>
        <t>Grease is deployed with the intent of quickly revealing errors in implementing
the mechanisms it safeguards.  Though it has been effective at revealing
problems in some cases with TLS, the efficacy of greasing isn't proven more
generally.  Where implementations are able to tolerate a non-zero error rate in
their operation, greasing offers a potential option for safeguarding future
extensibility.  However, this relies on there being a sufficient proportion of
participants that are willing to invest the effort and tolerate the risk of
interoperability failures.</t>
      </section>
      <section anchor="ex-active" numbered="true" toc="default">
        <name>Examples of Active Use</name>
        <t>Header fields in email <xref target="SMTP" format="default"/>, HTTP <xref target="HTTP" format="default"/> and SIP
<xref target="SIP" format="default"/> all derive from the same basic design, which amounts to a list
name/value pairs.  There is no evidence of significant barriers to deploying
header fields with new names and semantics in email and HTTP as clients and
servers generally ignore headers they do not understand or need.  The widespread
deployment of SIP B2BUAs, which generally do not ignore unknown fields, means
that new SIP header fields do not reliably reach peers.  This does not
necessarily cause interoperability issues in SIP but rather causes features to
remain unavailable until the B2BUA is updated.  All three protocols are still
able to deploy new features reliably, but SIP features are deployed more slowly
due to the larger number of active participants that need to support new
features.</t>
        <t>As another example, the attribute-value pairs (AVPs) in Diameter
<xref target="DIAMETER" format="default"/> are fundamental to the design of the protocol.  Any use of
Diameter requires exercising the ability to add new AVPs.  This is routinely
done without fear that the new feature might not be successfully deployed.</t>
        <t>These examples show extension points that are heavily used are also being
relatively unaffected by deployment issues preventing addition of new values
for new use cases.</t>
        <t>These examples show that a good design is not required for success.  On the
contrary, success is often despite shortcomings in the design.  For instance,
the shortcomings of HTTP header fields are significant enough that there are
ongoing efforts to improve the syntax <xref target="HTTP-HEADERS" format="default"/>.</t>
      </section>
      <section anchor="restoring-active-use" numbered="true" toc="default">
        <name>Restoring Active Use</name>
        <t>With enough effort, active use can be used to restore capabililities.</t>
        <t>EDNS <xref target="EDNS" format="default"/> was defined to provide extensibility in DNS.  Intolerance
of the extension in DNS servers resulted in a fallback method being widely
deployed (see <xref section="6.2.2" sectionFormat="of" target="EDNS" format="default"/>).  This fallback resulted in EDNS being
disabled for affected servers.  Over time, greater support for EDNS and
increased reliance on it for different features motivated a flag day
<xref target="DNSFLAGDAY" format="default"/> where the workaround was removed.</t>
        <t>The EDNS example shows that effort can be used to restore capabilities.  This is
in part because EDNS was actively used with most resolvers and servers.  It was
therefore possible to force a change to ensure that extension capabilities would
always be available.  However, this required an enormous coordination effort.  A
small number of incompatible servers and the names they serve also became
inaccessible to most clients.</t>
      </section>
    </section>
    <section anchor="other" numbered="true" toc="default">
      <name>Complementary Techniques</name>
      <t>The protections to protocol evolution that come from <xref target="use-it" format="default">active use</xref> can
be improved through the use of other defensive techniques. The techniques listed
here might not prevent ossification on their own, but can make active use more
effective.</t>
      <section anchor="fewer-extension-points" numbered="true" toc="default">
        <name>Fewer Extension Points</name>
        <t>A successful protocol will include many potential types of extension.  Designing
multiple types of extension mechanism, each suited to a specific purpose, might
leave some extension points less heavily used than others.</t>
        <t>Disuse of a specialized extension point might render it unusable.  In contrast,
having a smaller number of extension points with wide applicability could
improve the use of those extension points.  Use of a shared extension point for
any purpose can protect rarer or more specialized uses.</t>
        <t>Both extensions and core protocol elements use the same extension points in
protocols like HTTP <xref target="HTTP" format="default"/> and DIAMETER <xref target="DIAMETER" format="default"/>; see <xref target="ex-active" format="default"/>.</t>
      </section>
      <section anchor="invariants" numbered="true" toc="default">
        <name>Invariants</name>
        <t>Documenting aspects of the protocol that cannot or will not change as extensions
or new versions are added can be a useful exercise. <xref section="2.2" sectionFormat="of" target="RFC5704" format="default"/>
defines invariants as:</t>
        <ul empty="true">
          <li>
            <t>Invariants are core properties that are consistent across the network and do
  not change over extremely long time-scales.</t>
          </li>
        </ul>
        <t>Understanding what aspects of a protocol are invariant can help guide the
process of identifying those parts of the protocol that might change.
<xref target="QUIC-INVARIANTS" format="default"/> and <xref section="9.3" sectionFormat="of" target="TLS13" format="default"/> are both examples of
documented invariants.</t>
        <t>As a means of protecting extensibility, a declaration of protocol invariants is
useful only to the extent that protocol participants are willing to allow new
uses for the protocol.  A protocol that declares protocol invariants relies on
implementations understanding and respecting those invariants.  If active use is not
possible for all non-invariant parts of the protocol, greasing (<xref target="grease" format="default"/>) might be
used to improve the chance that invariants are respected.</t>
        <t>Protocol invariants need to be clearly and concisely documented.  Including
examples of aspects of the protocol that are not invariant, such as <xref section="A" sectionFormat="of" target="QUIC-INVARIANTS" format="default"/>, can be used to clarify intent.</t>
      </section>
      <section anchor="limiting-participation" numbered="true" toc="default">
        <name>Limiting Participation</name>
        <t>Reducing the number of entities that can participate in a protocol or limiting
the extent of participation can reduce the number of entities that might affect
extensibility.  Using TLS or other cryptographic tools can therefore reduce the
number of entities that can influence whether new features are usable.</t>
        <t><xref target="PATH-SIGNALS" format="default"/> also recommends the use of encryption and integrity
protection to limit participation.  For example, encryption is used by the QUIC
protocol <xref target="QUIC" format="default"/> to limit the information that is available to
middleboxes and integrity protection prevents modification.</t>
      </section>
      <section anchor="effective-feedback" numbered="true" toc="default">
        <name>Effective Feedback</name>
        <t>While not a direct means of protecting extensibility mechanisms, feedback
systems can be important to discovering problems.</t>
        <t>Visibility of errors is critical to the success of techniques like grease (see
<xref target="grease" format="default"/>).  The grease design is most effective if a deployment has a means of
detecting and reporting errors.  Ignoring errors could allow problems to become
entrenched.</t>
        <t>Feedback on errors is more important during the development and early deployment
of a change.  It might also be helpful to disable automatic error recovery
methods during development.</t>
        <t>Automated feedback systems are important for automated systems, or where error
recovery is also automated.  For instance, connection failures with HTTP
alternative services <xref target="ALT-SVC" format="default"/> are not permitted to affect the
outcome of transactions.  An automated feedback system for capturing failures in
alternative services is therefore necessary for failures to be detected.</t>
        <t>How errors are gathered and reported will depend greatly on the nature of the
protocol deployment and the entity that receives the report.  For instance, end
users, developers, and network operations each have different requirements for
how error reports are created, managed, and acted upon.</t>
        <t>Automated delivery of error reports can be critical for rectifying deployment
errors as early as possible, such as seen in <xref target="DMARC" format="default"/> and
<xref target="SMTP-TLS-Reporting" format="default"/>.</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>Many of the problems identified in this document are not the result of
deliberate actions by an adversary, but more the result of mistakes, decisions
made without sufficient context, or simple neglect.  Problems therefore not the
result of opposition by an adversary.  In response, the recommended measures
generally assume that other protocol participants will not take deliberate
action to prevent protocol evolution.</t>
      <t>The use of cryptographic techniques to exclude potential participants is the
only strong measure that the document recommends.  However, authorized protocol
peers are most often responsible for the identified problems, which can mean
that cryptography is insufficient to exclude them.</t>
      <t>The ability to design, implement, and deploy new protocol mechanisms can be
critical to security.  In particular, it is important to be able to replace
cryptographic algorithms over time <xref target="AGILITY" format="default"/>.  For example,
preparing for replacement of weak hash algorithms was made more difficult
through misuse <xref target="HASH" format="default"/>.</t>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document makes no request of IANA.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>Informative References</name>
      <reference anchor="HASH" target="https://www.cs.columbia.edu/~smb/papers/new-hash.pdf">
        <front>
          <title>Deploying a New Hash Algorithm</title>
          <author initials="S." surname="Bellovin" fullname="Steven M. Bellovin">
            <organization/>
          </author>
          <author initials="E." surname="Rescorla" fullname="Eric M. Rescorla">
            <organization/>
          </author>
          <date year="2006"/>
        </front>
        <seriesInfo name="Proceedings of NDSS '06" value=""/>
      </reference>
      <reference anchor="SNI" target="https://mailarchive.ietf.org/arch/msg/tls/1t79gzNItZd71DwwoaqcQQ_4Yxc">
        <front>
          <title>Accepting that other SNI name types will never work</title>
          <author initials="A." surname="Langley" fullname="Adam Langley">
            <organization/>
          </author>
          <date year="2016" month="March" day="03"/>
        </front>
      </reference>
      <reference anchor="INTOLERANCE" target="https://mailarchive.ietf.org/arch/msg/tls/bOJ2JQc3HjAHFFWCiNTIb0JuMZc">
        <front>
          <title>Re: [TLS] Thoughts on Version Intolerance</title>
          <author initials="H." surname="Kario" fullname="Hubert Kario">
            <organization/>
          </author>
          <date year="2016" month="July" day="20"/>
        </front>
      </reference>
      <reference anchor="DNSFLAGDAY" target="https://dnsflagday.net/2019/">
        <front>
          <title>DNS Flag Day 2019</title>
          <author>
            <organization/>
          </author>
          <date year="2019" month="May"/>
        </front>
      </reference>
      <reference anchor="MPTCP-HOW-HARD" target="https://www.usenix.org/conference/nsdi12/technical-sessions/presentation/raiciu">
        <front>
          <title>How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP</title>
          <author initials="C." surname="Raiciu" fullname="Costin Raiciu">
            <organization/>
          </author>
          <author initials="C." surname="Paasch" fullname="Christoph Paasch">
            <organization/>
          </author>
          <author initials="S." surname="Barre" fullname="Sebastien Barre">
            <organization/>
          </author>
          <author initials="A." surname="Ford" fullname="Alan Ford">
            <organization/>
          </author>
          <author initials="M." surname="Honda" fullname="Michio Honda">
            <organization/>
          </author>
          <author initials="F." surname="Duchene" fullname="Fabien Duchene">
            <organization/>
          </author>
          <author initials="O." surname="Bonaventure" fullname="Olivier Bonaventure">
            <organization/>
          </author>
          <author initials="M." surname="Handley" fullname="Mark Handley">
            <organization/>
          </author>
          <date year="2012" month="April"/>
        </front>
      </reference>
      <reference anchor="HTTP">
        <front>
          <title>HTTP Semantics</title>
          <author fullname="Roy T. Fielding">
            <organization>Adobe</organization>
          </author>
          <author fullname="Mark Nottingham">
            <organization>Fastly</organization>
          </author>
          <author fullname="Julian Reschke">
            <organization>greenbytes GmbH</organization>
          </author>
          <date day="12" month="September" year="2021"/>
          <abstract>
            <t>   The Hypertext Transfer Protocol (HTTP) is a stateless application-
   level protocol for distributed, collaborative, hypertext information
   systems.  This document describes the overall architecture of HTTP,
   establishes common terminology, and defines aspects of the protocol
   that are shared by all versions.  In this definition are core
   protocol elements, extensibility mechanisms, and the "http" and
   "https" Uniform Resource Identifier (URI) schemes.

   This document updates RFC 3864 and obsoletes RFC 2818, RFC 7231, RFC
   7232, RFC 7233, RFC 7235, RFC 7538, RFC 7615, RFC 7694, and portions
   of RFC 7230.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-semantics-19"/>
      </reference>
      <reference anchor="HTTP11">
        <front>
          <title>HTTP/1.1</title>
          <author fullname="Roy T. Fielding">
            <organization>Adobe</organization>
          </author>
          <author fullname="Mark Nottingham">
            <organization>Fastly</organization>
          </author>
          <author fullname="Julian Reschke">
            <organization>greenbytes GmbH</organization>
          </author>
          <date day="12" month="September" year="2021"/>
          <abstract>
            <t>   The Hypertext Transfer Protocol (HTTP) is a stateless application-
   level protocol for distributed, collaborative, hypertext information
   systems.  This document specifies the HTTP/1.1 message syntax,
   message parsing, connection management, and related security
   concerns.

   This document obsoletes portions of RFC 7230.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-messaging-19"/>
      </reference>
      <reference anchor="RFC5704">
        <front>
          <title>Uncoordinated Protocol Development Considered Harmful</title>
          <author fullname="S. Bryant" initials="S." role="editor" surname="Bryant">
            <organization/>
          </author>
          <author fullname="M. Morrow" initials="M." role="editor" surname="Morrow">
            <organization/>
          </author>
          <author>
            <organization>IAB</organization>
          </author>
          <date month="November" year="2009"/>
          <abstract>
            <t>This document identifies problems that may result from the absence of formal coordination and joint development on protocols of mutual interest between standards development organizations (SDOs).  Some of these problems may cause significant harm to the Internet.  The document suggests that a robust procedure is required prevent this from occurring in the future.  The IAB has selected a number of case studies, such as Transport MPLS (T-MPLS), as recent examples to describe the hazard to the Internet architecture that results from uncoordinated adaptation of a protocol.</t>
            <t>This experience has resulted in a considerable improvement in the relationship between the IETF and the ITU-T.  In particular, this was achieved via the establishment of the "Joint working team on MPLS-TP".  In addition, the leadership of the two organizations agreed to improve inter-organizational working practices so as to avoid conflict in the future between ITU-T Recommendations and IETF RFCs.</t>
            <t>Whilst we use ITU-T - IETF interactions in these case studies, the scope of the document extends to all SDOs that have an overlapping protocol interest with the IETF.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5704"/>
        <seriesInfo name="DOI" value="10.17487/RFC5704"/>
      </reference>
      <reference anchor="SUCCESS">
        <front>
          <title>What Makes for a Successful Protocol?</title>
          <author fullname="D. Thaler" initials="D." surname="Thaler">
            <organization/>
          </author>
          <author fullname="B. Aboba" initials="B." surname="Aboba">
            <organization/>
          </author>
          <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="TRANSITIONS">
        <front>
          <title>Planning for Protocol Adoption and Subsequent Transitions</title>
          <author fullname="D. Thaler" initials="D." role="editor" surname="Thaler">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="B. Aboba" initials="B." role="editor" surname="Aboba">
            <organization/>
          </author>
          <author fullname="S. Cheshire" initials="S." surname="Cheshire">
            <organization/>
          </author>
          <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="RFC2464">
        <front>
          <title>Transmission of IPv6 Packets over Ethernet Networks</title>
          <author fullname="M. Crawford" initials="M." surname="Crawford">
            <organization/>
          </author>
          <date month="December" year="1998"/>
          <abstract>
            <t>This document specifies the frame format for transmission of IPv6 packets and the method of forming IPv6 link-local addresses and statelessly autoconfigured addresses on Ethernet networks.  It also specifies the content of the Source/Target Link-layer Address option used in Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement and Redirect messages when those messages are transmitted on an Ethernet.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2464"/>
        <seriesInfo name="DOI" value="10.17487/RFC2464"/>
      </reference>
      <reference anchor="ALPN">
        <front>
          <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
          <author fullname="S. Friedl" initials="S." surname="Friedl">
            <organization/>
          </author>
          <author fullname="A. Popov" initials="A." surname="Popov">
            <organization/>
          </author>
          <author fullname="A. Langley" initials="A." surname="Langley">
            <organization/>
          </author>
          <author fullname="E. Stephan" initials="E." surname="Stephan">
            <organization/>
          </author>
          <date month="July" year="2014"/>
          <abstract>
            <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7301"/>
        <seriesInfo name="DOI" value="10.17487/RFC7301"/>
      </reference>
      <reference anchor="NEW-PROTOCOLS">
        <front>
          <title>On the usability of transport protocols other than TCP: A home gateway and internet path traversal study</title>
          <author fullname="Runa Barik" initials="R." surname="Barik">
            <organization/>
          </author>
          <author fullname="Michael Welzl" initials="M." surname="Welzl">
            <organization/>
          </author>
          <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
            <organization/>
          </author>
          <author fullname="Ahmed Elmokashfi" initials="A." surname="Elmokashfi">
            <organization/>
          </author>
          <author fullname="Thomas Dreibholz" initials="T." surname="Dreibholz">
            <organization/>
          </author>
          <author fullname="Stein Gjessing" initials="S." surname="Gjessing">
            <organization/>
          </author>
          <date month="May" year="2020"/>
        </front>
        <seriesInfo name="Computer Networks" value="Vol. 173, pp. 107211"/>
        <seriesInfo name="DOI" value="10.1016/j.comnet.2020.107211"/>
      </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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <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="SMTP">
        <front>
          <title>Simple Mail Transfer Protocol</title>
          <author fullname="J. Klensin" initials="J." surname="Klensin">
            <organization/>
          </author>
          <date month="October" year="2008"/>
          <abstract>
            <t>This document is a specification of the basic protocol for Internet electronic mail transport.  It consolidates, updates, and clarifies several previous documents, making all or parts of most of them obsolete.  It covers the SMTP extension mechanisms and best practices for the contemporary Internet, but does not provide details about particular extensions.  Although SMTP was designed as a mail transport and delivery protocol, this specification also contains information that is important to its use as a "mail submission" protocol for "split-UA" (User Agent) mail reading systems and mobile environments.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5321"/>
        <seriesInfo name="DOI" value="10.17487/RFC5321"/>
      </reference>
      <reference anchor="SIP">
        <front>
          <title>SIP: Session Initiation Protocol</title>
          <author fullname="J. Rosenberg" initials="J." surname="Rosenberg">
            <organization/>
          </author>
          <author fullname="H. Schulzrinne" initials="H." surname="Schulzrinne">
            <organization/>
          </author>
          <author fullname="G. Camarillo" initials="G." surname="Camarillo">
            <organization/>
          </author>
          <author fullname="A. Johnston" initials="A." surname="Johnston">
            <organization/>
          </author>
          <author fullname="J. Peterson" initials="J." surname="Peterson">
            <organization/>
          </author>
          <author fullname="R. Sparks" initials="R." surname="Sparks">
            <organization/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization/>
          </author>
          <author fullname="E. Schooler" initials="E." surname="Schooler">
            <organization/>
          </author>
          <date month="June" 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="DIAMETER">
        <front>
          <title>Diameter Base Protocol</title>
          <author fullname="V. Fajardo" initials="V." role="editor" surname="Fajardo">
            <organization/>
          </author>
          <author fullname="J. Arkko" initials="J." surname="Arkko">
            <organization/>
          </author>
          <author fullname="J. Loughney" initials="J." surname="Loughney">
            <organization/>
          </author>
          <author fullname="G. Zorn" initials="G." role="editor" surname="Zorn">
            <organization/>
          </author>
          <date month="October" year="2012"/>
          <abstract>
            <t>The Diameter base protocol is intended to provide an Authentication, Authorization, and Accounting (AAA) framework for applications such as network access or IP mobility in both local and roaming situations.  This document specifies the message format, transport, error reporting, accounting, and security services used by all Diameter applications.  The Diameter base protocol as defined in this document obsoletes RFC 3588 and RFC 5719, and it must be supported by all new Diameter implementations.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6733"/>
        <seriesInfo name="DOI" value="10.17487/RFC6733"/>
      </reference>
      <reference anchor="HTTP-HEADERS">
        <front>
          <title>Structured Field Values for HTTP</title>
          <author fullname="M. Nottingham" initials="M." surname="Nottingham">
            <organization/>
          </author>
          <author fullname="P-H. Kamp" initials="P-H." surname="Kamp">
            <organization/>
          </author>
          <date month="February" year="2021"/>
          <abstract>
            <t>This document describes a set of data types and associated algorithms that are intended to make it easier and safer to define and handle HTTP header and trailer fields, known as "Structured Fields", "Structured Headers", or "Structured Trailers". It is intended for use by specifications of new HTTP fields that wish to use a common syntax that is more restrictive than traditional HTTP field values.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8941"/>
        <seriesInfo name="DOI" value="10.17487/RFC8941"/>
      </reference>
      <reference anchor="EDNS">
        <front>
          <title>Extension Mechanisms for DNS (EDNS(0))</title>
          <author fullname="J. Damas" initials="J." surname="Damas">
            <organization/>
          </author>
          <author fullname="M. Graff" initials="M." surname="Graff">
            <organization/>
          </author>
          <author fullname="P. Vixie" initials="P." surname="Vixie">
            <organization/>
          </author>
          <date month="April" year="2013"/>
          <abstract>
            <t>The Domain Name System's wire protocol includes a number of fixed fields whose range has been or soon will be exhausted and does not allow requestors to advertise their capabilities to responders.  This document describes backward-compatible mechanisms for allowing the protocol to grow.</t>
            <t>This document updates the Extension Mechanisms for DNS (EDNS(0)) specification (and obsoletes RFC 2671) based on feedback from deployment experience in several implementations.  It also obsoletes RFC 2673 ("Binary Labels in the Domain Name System") and adds considerations on the use of extended labels in the DNS.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="75"/>
        <seriesInfo name="RFC" value="6891"/>
        <seriesInfo name="DOI" value="10.17487/RFC6891"/>
      </reference>
      <reference anchor="QUIC-INVARIANTS">
        <front>
          <title>Version-Independent Properties of QUIC</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson">
            <organization/>
          </author>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the properties of the QUIC transport protocol that are common to all versions of the protocol.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8999"/>
        <seriesInfo name="DOI" value="10.17487/RFC8999"/>
      </reference>
      <reference anchor="PATH-SIGNALS">
        <front>
          <title>Transport Protocol Path Signals</title>
          <author fullname="T. Hardie" initials="T." role="editor" surname="Hardie">
            <organization/>
          </author>
          <date month="April" year="2019"/>
          <abstract>
            <t>This document discusses the nature of signals seen by on-path elements examining transport protocols, contrasting implicit and explicit signals.  For example, TCP's state machine uses a series of well-known messages that are exchanged in the clear.  Because these are visible to network elements on the path between the two nodes setting up the transport connection, they are often used as signals by those network elements.  In transports that do not exchange these messages in the clear, on-path network elements lack those signals. Often, the removal of those signals is intended by those moving the messages to confidential channels.  Where the endpoints desire that network elements along the path receive these signals, this document recommends explicit signals be used.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8558"/>
        <seriesInfo name="DOI" value="10.17487/RFC8558"/>
      </reference>
      <reference anchor="ALT-SVC">
        <front>
          <title>HTTP Alternative Services</title>
          <author fullname="M. Nottingham" initials="M." surname="Nottingham">
            <organization/>
          </author>
          <author fullname="P. McManus" initials="P." surname="McManus">
            <organization/>
          </author>
          <author fullname="J. Reschke" initials="J." surname="Reschke">
            <organization/>
          </author>
          <date month="April" year="2016"/>
          <abstract>
            <t>This document specifies "Alternative Services" for HTTP, which allow an origin's resources to be authoritatively available at a separate network location, possibly accessed with a different protocol configuration.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7838"/>
        <seriesInfo name="DOI" value="10.17487/RFC7838"/>
      </reference>
      <reference anchor="DMARC">
        <front>
          <title>Domain-based Message Authentication, Reporting, and Conformance (DMARC)</title>
          <author fullname="M. Kucherawy" initials="M." role="editor" surname="Kucherawy">
            <organization/>
          </author>
          <author fullname="E. Zwicky" initials="E." role="editor" surname="Zwicky">
            <organization/>
          </author>
          <date month="March" year="2015"/>
          <abstract>
            <t>Domain-based Message Authentication, Reporting, and Conformance (DMARC) is a scalable mechanism by which a mail-originating organization can express domain-level policies and preferences for message validation, disposition, and reporting, that a mail-receiving organization can use to improve mail handling.</t>
            <t>Originators of Internet Mail need to be able to associate reliable and authenticated domain identifiers with messages, communicate policies about messages that use those identifiers, and report about mail using those identifiers.  These abilities have several benefits: Receivers can provide feedback to Domain Owners about the use of their domains; this feedback can provide valuable insight about the management of internal operations and the presence of external domain name abuse.</t>
            <t>DMARC does not produce or encourage elevated delivery privilege of authenticated email.  DMARC is a mechanism for policy distribution that enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7489"/>
        <seriesInfo name="DOI" value="10.17487/RFC7489"/>
      </reference>
      <reference anchor="SMTP-TLS-Reporting">
        <front>
          <title>SMTP TLS Reporting</title>
          <author fullname="D. Margolis" initials="D." surname="Margolis">
            <organization/>
          </author>
          <author fullname="A. Brotman" initials="A." surname="Brotman">
            <organization/>
          </author>
          <author fullname="B. Ramakrishnan" initials="B." surname="Ramakrishnan">
            <organization/>
          </author>
          <author fullname="J. Jones" initials="J." surname="Jones">
            <organization/>
          </author>
          <author fullname="M. Risher" initials="M." surname="Risher">
            <organization/>
          </author>
          <date month="September" year="2018"/>
          <abstract>
            <t>A number of protocols exist for establishing encrypted channels between SMTP Mail Transfer Agents (MTAs), including STARTTLS, DNS- Based Authentication of Named Entities (DANE) TLSA, and MTA Strict Transport Security (MTA-STS).  These protocols can fail due to misconfiguration or active attack, leading to undelivered messages or delivery over unencrypted or unauthenticated channels.  This document describes a reporting mechanism and format by which sending systems can share statistics and specific information about potential failures with recipient domains.  Recipient domains can then use this information to both detect potential attacks and diagnose unintentional misconfigurations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8460"/>
        <seriesInfo name="DOI" value="10.17487/RFC8460"/>
      </reference>
      <reference anchor="AGILITY">
        <front>
          <title>Guidelines for Cryptographic Algorithm Agility and Selecting Mandatory-to-Implement Algorithms</title>
          <author fullname="R. Housley" initials="R." surname="Housley">
            <organization/>
          </author>
          <date month="November" year="2015"/>
          <abstract>
            <t>Many IETF protocols use cryptographic algorithms to provide confidentiality, integrity, authentication, or digital signature.  Communicating peers must support a common set of cryptographic algorithms for these mechanisms to work properly.  This memo provides guidelines to ensure that protocols have the ability to migrate from one mandatory-to-implement algorithm suite to another over time.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="201"/>
        <seriesInfo name="RFC" value="7696"/>
        <seriesInfo name="DOI" value="10.17487/RFC7696"/>
      </reference>
      <reference anchor="SPF">
        <front>
          <title>Sender Policy Framework (SPF) for Authorizing Use of Domains in Email, Version 1</title>
          <author fullname="S. Kitterman" initials="S." surname="Kitterman">
            <organization/>
          </author>
          <date month="April" year="2014"/>
          <abstract>
            <t>Email on the Internet can be forged in a number of ways.  In particular, existing protocols place no restriction on what a sending host can use as the "MAIL FROM" of a message or the domain given on the SMTP HELO/EHLO commands.  This document describes version 1 of the Sender Policy Framework (SPF) protocol, whereby ADministrative Management Domains (ADMDs) can explicitly authorize the hosts that are allowed to use their domain names, and a receiving host can check such authorization.</t>
            <t>This document obsoletes RFC 4408.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7208"/>
        <seriesInfo name="DOI" value="10.17487/RFC7208"/>
      </reference>
      <reference anchor="RRTYPE">
        <front>
          <title>Handling of Unknown DNS Resource Record (RR) Types</title>
          <author fullname="A. Gustafsson" initials="A." surname="Gustafsson">
            <organization/>
          </author>
          <date month="September" year="2003"/>
          <abstract>
            <t>Extending the Domain Name System (DNS) with new Resource Record (RR) types currently requires changes to name server software.  This document specifies the changes necessary to allow future DNS implementations to handle new RR types transparently.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3597"/>
        <seriesInfo name="DOI" value="10.17487/RFC3597"/>
      </reference>
      <reference anchor="RFC0988">
        <front>
          <title>Host extensions for IP multicasting</title>
          <author fullname="S.E. Deering" initials="S.E." surname="Deering">
            <organization/>
          </author>
          <date month="July" year="1986"/>
          <abstract>
            <t>This memo specifies the extensions required of a host implementation of    the Internet Protocol (IP) to support internetwork multicasting.  This    specification supersedes that given in RFC-966, and constitutes a    proposed protocol standard for IP multicasting in the ARPA-Internet.    The reader is directed to RFC-966 for a discussion of the motivation and    rationale behind the multicasting extension specified here.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="988"/>
        <seriesInfo name="DOI" value="10.17487/RFC0988"/>
      </reference>
      <reference anchor="RFC0791">
        <front>
          <title>Internet Protocol</title>
          <author fullname="J. Postel" initials="J." surname="Postel">
            <organization/>
          </author>
          <date month="September" year="1981"/>
        </front>
        <seriesInfo name="STD" value="5"/>
        <seriesInfo name="RFC" value="791"/>
        <seriesInfo name="DOI" value="10.17487/RFC0791"/>
      </reference>
      <reference anchor="RAv4">
        <front>
          <title>IP Router Alert Option</title>
          <author fullname="D. Katz" initials="D." surname="Katz">
            <organization/>
          </author>
          <date month="February" year="1997"/>
          <abstract>
            <t>This memo describes a new IP Option type that alerts transit routers to more closely examine the contents of an IP packet.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2113"/>
        <seriesInfo name="DOI" value="10.17487/RFC2113"/>
      </reference>
      <reference anchor="RAv6">
        <front>
          <title>IPv6 Router Alert Option</title>
          <author fullname="C. Partridge" initials="C." surname="Partridge">
            <organization/>
          </author>
          <author fullname="A. Jackson" initials="A." surname="Jackson">
            <organization/>
          </author>
          <date month="October" year="1999"/>
          <abstract>
            <t>This memo describes a new IPv6 Hop-by-Hop Option type that alerts transit routers to more closely examine the contents of an IP datagram. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2711"/>
        <seriesInfo name="DOI" value="10.17487/RFC2711"/>
      </reference>
      <reference anchor="SNMPv1">
        <front>
          <title>Simple Network Management Protocol (SNMP)</title>
          <author fullname="J.D. Case" initials="J.D." surname="Case">
            <organization/>
          </author>
          <author fullname="M. Fedor" initials="M." surname="Fedor">
            <organization/>
          </author>
          <author fullname="M.L. Schoffstall" initials="M.L." surname="Schoffstall">
            <organization/>
          </author>
          <author fullname="J. Davin" initials="J." surname="Davin">
            <organization/>
          </author>
          <date month="May" year="1990"/>
          <abstract>
            <t>This RFC is a re-release of RFC 1098, with a changed "Status of this Memo" section plus a few minor typographical corrections.  This memo defines a simple protocol by which management information for a network element may be inspected or altered by logically remote users. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="1157"/>
        <seriesInfo name="DOI" value="10.17487/RFC1157"/>
      </reference>
      <reference anchor="TCP">
        <front>
          <title>Transmission Control Protocol</title>
          <author fullname="J. Postel" initials="J." surname="Postel">
            <organization/>
          </author>
          <date month="September" year="1981"/>
        </front>
        <seriesInfo name="STD" value="7"/>
        <seriesInfo name="RFC" value="793"/>
        <seriesInfo name="DOI" value="10.17487/RFC0793"/>
      </reference>
      <reference anchor="EXT-TCP">
        <front>
          <title>Is it still possible to extend TCP?</title>
          <author fullname="Michio Honda" initials="M." surname="Honda">
            <organization/>
          </author>
          <author fullname="Yoshifumi Nishida" initials="Y." surname="Nishida">
            <organization/>
          </author>
          <author fullname="Costin Raiciu" initials="C." surname="Raiciu">
            <organization/>
          </author>
          <author fullname="Adam Greenhalgh" initials="A." surname="Greenhalgh">
            <organization/>
          </author>
          <author fullname="Mark Handley" initials="M." surname="Handley">
            <organization/>
          </author>
          <author fullname="Hideyuki Tokuda" initials="H." surname="Tokuda">
            <organization/>
          </author>
          <date year="2011"/>
        </front>
        <seriesInfo name="Proceedings of the 2011 ACM SIGCOMM conference on Internet measurement conference - IMC" value="'11"/>
        <seriesInfo name="DOI" value="10.1145/2068816.2068834"/>
      </reference>
      <reference anchor="MPTCP">
        <front>
          <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
          <author fullname="A. Ford" initials="A." surname="Ford">
            <organization/>
          </author>
          <author fullname="C. Raiciu" initials="C." surname="Raiciu">
            <organization/>
          </author>
          <author fullname="M. Handley" initials="M." surname="Handley">
            <organization/>
          </author>
          <author fullname="O. Bonaventure" initials="O." surname="Bonaventure">
            <organization/>
          </author>
          <date month="January" year="2013"/>
          <abstract>
            <t>TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers.  The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and, thus, improve user experience through higher throughput and improved resilience to network failure.</t>
            <t>Multipath TCP provides the ability to simultaneously use multiple paths between peers.  This document presents a set of extensions to traditional TCP to support multipath operation.  The protocol offers the same type of service to applications as TCP (i.e., reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.  This  document defines an Experimental Protocol for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6824"/>
        <seriesInfo name="DOI" value="10.17487/RFC6824"/>
      </reference>
      <reference anchor="TFO">
        <front>
          <title>TCP Fast Open</title>
          <author fullname="Y. Cheng" initials="Y." surname="Cheng">
            <organization/>
          </author>
          <author fullname="J. Chu" initials="J." surname="Chu">
            <organization/>
          </author>
          <author fullname="S. Radhakrishnan" initials="S." surname="Radhakrishnan">
            <organization/>
          </author>
          <author fullname="A. Jain" initials="A." surname="Jain">
            <organization/>
          </author>
          <date month="December" year="2014"/>
          <abstract>
            <t>This document describes an experimental TCP mechanism called TCP Fast Open (TFO).  TFO allows data to be carried in the SYN and SYN-ACK packets and consumed by the receiving end during the initial connection handshake, and saves up to one full round-trip time (RTT) compared to the standard TCP, which requires a three-way handshake (3WHS) to complete before data can be exchanged.  However, TFO deviates from the standard TCP semantics, since the data in the SYN could be replayed to an application in some rare circumstances.  Applications should not use TFO unless they can tolerate this issue, as detailed in the Applicability section.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7413"/>
        <seriesInfo name="DOI" value="10.17487/RFC7413"/>
      </reference>
      <reference anchor="TLS12">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
          <author fullname="T. Dierks" initials="T." surname="Dierks">
            <organization/>
          </author>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <date month="August" year="2008"/>
          <abstract>
            <t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5246"/>
        <seriesInfo name="DOI" value="10.17487/RFC5246"/>
      </reference>
      <reference anchor="TLS13">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla">
            <organization/>
          </author>
          <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="TLS-EXT">
        <front>
          <title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
          <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd">
            <organization/>
          </author>
          <date month="January" year="2011"/>
          <abstract>
            <t>This document provides specifications for existing TLS extensions.  It is a companion document for RFC 5246, "The Transport Layer Security (TLS) Protocol Version 1.2".  The extensions specified are server_name, max_fragment_length, client_certificate_url, trusted_ca_keys, truncated_hmac, and status_request.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6066"/>
        <seriesInfo name="DOI" value="10.17487/RFC6066"/>
      </reference>
    </references>
    <section anchor="examples" numbered="true" toc="default">
      <name>Examples</name>
      <t>This appendix contains a brief study of problems in a range of Internet
protocols at different layers of the stack.</t>
      <section anchor="dns" numbered="true" toc="default">
        <name>DNS</name>
        <t>Ossified DNS code bases and systems resulted in new Resource Record Codes
(RRCodes) being unusable. A new codepoint would take years of coordination
between implementations and deployments before it could be relied upon.
Consequently, overloading use of the TXT record was used to avoid effort and
delays involved, a method used in the Sender Policy Framework <xref target="SPF" format="default"/>
and other protocols.</t>
        <t>It was not until after the standard mechanism for dealing with new RRCodes
<xref target="RRTYPE" format="default"/> was considered widely deployed that new RRCodes can be
safely created and used.</t>
      </section>
      <section anchor="http" numbered="true" toc="default">
        <name>HTTP</name>
        <t>HTTP has a number of very effective extension points in addition to the
aforementioned header fields.  It also has some examples of extension points
that are so rarely used that it is possible that they are not at all usable.</t>
        <t>Extension points in HTTP that might be unwise to use include the extension point
on each chunk in the chunked transfer coding <xref section="7.1" sectionFormat="of" target="HTTP11" format="default"/>, the
ability to use transfer codings other than the chunked coding, and the range
unit in a range request <xref section="14" sectionFormat="of" target="HTTP" format="default"/>.</t>
      </section>
      <section anchor="ip" numbered="true" toc="default">
        <name>IP</name>
        <t>The version field in IP was rendered useless when encapsulated over Ethernet,
requring a new ethertype with IPv6 <xref target="RFC2464" format="default"/>, due in part to layer 2 devices
making version-independent assumptions about the structure of the IPv4 header.</t>
        <t>Protocol identifiers or codepoints that are reserved for future use can be
especially problematic.  Reserving values without attributing semantics to their
use can result in diverse or conflicting semantics being attributed without any
hope of interoperability.  An example of this is the 224/3 "class E" address
space in IPv4 <xref target="RFC0988" format="default"/>. This space was originally reserved in <xref target="RFC0791" format="default"/>
without assigning any semantics and has since been partially reclaimed for use
in multicast (224/4), but otherwise has not been successfully reclaimed for any purpose (240/4)
<xref target="RFC0988" format="default"/>.</t>
        <t>For protocols that can use negotiation to attribute semantics to values, it is
possible that unused codepoints can be reclaimed for active use, though this
requires that the negotiation include all protocol participants.  For something
as fundamental as addressing, negotiation is difficult or even impossible, as
all nodes on the network path plus potential alternative paths would need to be
involved.</t>
        <t>IP Router Alerts <xref target="RAv4" format="default"/><xref target="RAv6" format="default"/> use IP options or extension
headers to indicate that data is intended for consumption by the next hop router
rather than the addressed destination.  In part, the deployment of router alerts
was unsuccessful due to the realities of processing IP packets at line rates,
combined with bad assumptions in the protocol design about these performance
constraints.  However, this was not exclusively down to design problems or bugs
as the capability was also deliberately blocked at some routers.</t>
      </section>
      <section anchor="snmp" numbered="true" toc="default">
        <name>SNMP</name>
        <t>As a counter example, the first version of the Simple Network Management
Protocol (SNMP) <xref target="SNMPv1" format="default"/> defines that unparseable or unauthenticated
messages are simply discarded without response:</t>
        <ul empty="true">
          <li>
            <t>It then verifies the version number of the SNMP message. If there is a
  mismatch, it discards the datagram and performs no further actions.</t>
          </li>
        </ul>
        <t>When SNMP versions 2, 2c and 3 came along, older agents did exactly what the
protocol specifies.  Deployment of new versions was likely successful because
the handling of newer versions was both clear and simple.</t>
      </section>
      <section anchor="tcp" numbered="true" toc="default">
        <name>TCP</name>
        <t>Extension points in TCP <xref target="TCP" format="default"/> have been rendered difficult to use,
largely due to middlebox interactions; see
<xref target="EXT-TCP" format="default"/>.</t>
        <t>For instance, multipath TCP <xref target="MPTCP" format="default"/> can only be deployed
opportunistically; see <xref target="MPTCP-HOW-HARD" format="default"/>.  As
multipath TCP enables progressive enhancement of the protocol, this largely only
causes the feature to not be available if the path is intolerant of the
extension.</t>
        <t>In comparison, the deployment of Fast Open <xref target="TFO" format="default"/> critically depends
on extension capability being widely available.  Though very few network paths
were intolerant of the extension in absolute terms, TCP Fast Open could not be
deployed as a result.</t>
      </section>
      <section anchor="tls" numbered="true" toc="default">
        <name>TLS</name>
        <t>Transport Layer Security (TLS) <xref target="TLS12" format="default"/> provides examples of where a
design that is objectively sound fails when incorrectly implemented.  TLS
provides examples of failures in protocol version negotiation and extensibility.</t>
        <t>Version negotiation in TLS 1.2 and earlier uses the "Highest mutually supported
version (HMSV)" scheme exactly as it is described in <xref target="EXTENSIBILITY" format="default"/>.
However, clients are unable to advertise a new version without causing a
non-trivial proportion of sessions to fail due to bugs in server and middlebox
implementations.</t>
        <t>Intolerance to new TLS versions is so severe <xref target="INTOLERANCE" format="default"/> that TLS 1.3
<xref target="TLS13" format="default"/> abandoned HMSV version negotiation for a new mechanism.</t>
        <t>The server name indication (SNI) <xref target="TLS-EXT" format="default"/> in TLS is another
excellent example of the failure of a well-designed extensibility point.  SNI
uses the same technique for extension that is used successfully in other parts
of the TLS protocol.  The original design of SNI anticipated the ability to
include multiple names of different types.</t>
        <t>SNI was originally defined with just one type of name: a domain name.  No other
type has ever been standardized, though several have been proposed.  Despite an
otherwise exemplary design, SNI is so inconsistently implemented that any hope
for using the extension point it defines has been abandoned <xref target="SNI" format="default"/>.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments" toc="default">
      <name>Acknowledgments</name>
      <t>Toerless Eckert, Wes Hardaker, Mirja Kuehlewind, Eliot Lear, Mark Nottingham, and
Brian Trammell made significant contributions to this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAHMsV2EAA519W3PbSJLue/0KhPph7Q2SutgtXzZmZ2VbbmvWljWSuntn
JyYmikBRxBgEOAAomaPw+WXn7fyxk19m1gUg3bOxEz3dkgjUJSsvX96K0+nU
9GVfudfZwcemvpv2rl1lv5R2XlZlv82aRXbVNn2TN1V2/rV3dVc2dfbJ5Utb
l92qOzB2Pm/d/evs585lF332uc0+NvyjKZq8tisauWjtop/SmNNN56ZlP23a
adXIj0fPTG57d9e029dZWS8aU67b11nfbrr+5Ojo1dGJMV1v6+KvtmpqGmzr
OrMuX2d/pkVNsq5p+9YtOvppu5IfaNqVXa/L+u4vxthNv2za1ybLpvT/jGbo
XmefZtntsll1Tc1/k0V+sm1f1oMPmvaO/t78o6wqy39wK1tWr7NV/x9V8+Dq
vm3W21nt+uHwt7Psym6qbTL4bbNabZO/8shn63Xl0nH7NR74D4u/z/JmZUzd
tCvbl/futTEG1Am/ZtmHs5sPr/l1f4Dv3LpqtrTxzGaX7iH7YLtldlYRbct+
uTrgZyNB8L+p/ldXfjPL3riqau7LOnwgG7jp3b2rQbnRA6MRzmfZtevyplWK
xRHO2zLH+4OPCzr61xmd86lsxLZ3rqedLPt+3b0+PHx4eJjlHdGi2qzmpZ25
YnP4f7rV/HBt167tDmv3MF3SLmfrYiH761xbug6komGIdXPnCqJIB06+fHdz
k/3L0emBoUdvLi+G1DvLc7fuQb1+afus6ZeuxVO8/qzfrl2XPRArZDWRos0e
mvbL/4CkZ7Pso63vKrcd0eOssKvBR54Wx6ckFJCLvRQBp9g2XxITzErXL2bE
Sof4w+Gquzvsq+7wuH/x6u4flxf9fxcvjt89PDT27/kf//jX53/6mvPGLy5v
P388vz67fHs+JMA1/evPtx9v/gIh2NwteyJanf1CdIbMX9R9U7nW1rn7H2z7
wyz7T9uWzWjTHzZz1/bJR+mmX0xPjv63m55//sPJH/6YP/vwt7MP79//+ra8
vL2YH/1h8+m/ZdPvLm/efzz76d3Zn0Yic3mTva/sXfbObrGMVwfDZb2aHv04
WJNfUlF3C3qvsKwADvHoISb6dHX79mr64fOv0w9n1++Gk31oIJNtkb21NXTl
G/f77B0x613NMlsX2cWKRH9FmkWEWATaziuXfdpUfbm2/TKj8Q++Ly2kYevy
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
dJn4Unzuyjm3b6/2o0n6gL/o4y2XS5N1Q0Y23loYENTgcnwobeNbqFRoQ+ZC
7LUSlSsA9D6uKSbxDaTHz388PDk6ffny+HTG/332PJimGG9cpV8XhXXy91JJ
id0Jmoj55rVa7nr1ToVpuNyMEGWnfRu+DmH4rVbs4J91ZjiJ3OrFmdm7Vm9w
0S8b8cc2zIyyToj9ZNXWaM0xS6TWnvZNaKEP6R69ApFnFnWc9LKBg2IZDrcI
cZVVW3ZoHthVre8BHT4TuOTjfP9ZYpOcYI8NLL7/jf2APXdYDUoHB/Vi2oQh
F6CgXD2xe6TJ9Q7A4QaG9YsW39gDJIErHgg7gNhx0f5uS/2yG3UP2bkLl3gz
I3+8IcwPV4NLCqUvO8RUn+CmcSbAx5vjE/kKpOenRAKtvRxeeykZCmvS28VR
9jr/W+ij6riEEKF6dR7CHVbpdRxSSU8r2ztNkiTYvV54dPXpqAPJmF/2PCd9
ONnx7CQkidBeGJju4AO+fARXFm96aZvVCkzcr6njPUHv0dODrMuXTnxa3pLt
1En13+rioe/oPr2ZCTYx9CNwG4APvfketnBHpc4bmlatXDhgDcoPCGTe734B
gf9GCS6ARBuEqhr/VRZSa8g0CNpnXDPBohMvGNOvxAH5gu4s+cZV/moZKInk
iwWRvgVTCLWfGWWsZxLTZ8ayc/RhAnaAoHuPVe52xLQhjhLuXOcN8DczKkbj
s7m5vPBcPCXCs747Oj3l61t5MWUo6De4Zwo3ZPZDj8h5tpNqIL7cW/jcjZhM
jMGMv0rSBB7iUrB4E8Ggcz1ICgP9gSvi77qSMhJfx4wlD67ccMHJSroF8CWV
7GJwzYMEB2KMwYSiRV+GKKWlzSIJPXJlIhEXQ33nXgFGh6GNnH17mFP+5jxL
OI57Q/Arvtmskd0YfgwOmDaNwwPT4BhC8MGD8d9PFA2oXgZQSCUlF9Lb2kSv
zn11dGjICfpoOdZe6iXAsXBsqG7UySdPD06yETdytzNZv2GrDyguNNBFtn18
pAl96PksXM/N4U7z+FowmCt+d7AgtOoOED5uXMvRlHOCqsD5v9LI+EJI+wX6
4FPZ/s1m//n//u+ycg/E1ZPsvCpJr390CNjzlxNeNj0CAUu7kmsX36AEJyOt
vlrhgjuOmKeNAVynyZEH1QaDRNjM/H+4K2Wp/3cAAA==

-->

</rfc>
