<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.39 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc docmapping="yes"?>

<rfc ipr="trust200902" docName="draft-thomson-protocol-freedom-00" category="std">

  <front>
    <title abbrev="Protocol Freedom">Factors Influencing the Freedom to Change Protocols</title>

    <author initials="M." surname="Thomson" fullname="Martin Thomson">
      <organization>Mozilla</organization>
      <address>
        <email>martin.thomson@gmail.com</email>
      </address>
    </author>

    <date year="2017" month="March" day="13"/>

    
    
    

    <abstract>


<t>The ability to change protocols depends on exercising that ability.  Protocols
that don’t change can find that the mechanisms that support change become
unusable.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>A successful protocol <xref target="RFC5218"/> will change in ways that allow it to continue
to fulfill the 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.  Protocols can
react to these shifts in one of three ways: adjust usage patterns within the
constraints of the protocol, extend the protocol, and replace the protocol.
These reactions are progressively more disruptive, but are also dictated by the
nature of the change in requirements over longer periods.</t>

<t>Experience with Internet scale protocol deployment shows that changing protocols
is not uniformly successful.  <xref target="I-D.iab-protocol-transitions"/> examines the
problem more broadly.</t>

<t>This document examines the specific conditions that determine whether protocol
maintainers have the ability - the freedom - to design and deploy new or
modified protocols.</t>

</section>
<section anchor="implementations-of-protocols-are-imperfect" title="Implementations of Protocols are Imperfect">

<t>A change to a protocol can be made extremely difficult to deploy if there are
bugs in implementations with which the new deployment needs to interoperate.
Bugs in the handling of new codepoints or extensions can mean that instead of
handling the mechanism as designed, endpoints react poorly.  This can manifest
as abrupt termination of sessions, errors, crashes, or disappearances of
endpoints and timeouts.</t>

<t>Interoperability with other implementations is usually highly valued, so
deploying mechanisms that trigger adverse reactions like these can be untenable.
Where interoperability is a competitive advantage, this is true even if the
negative reactions happen infrequently or only under relatively rare conditions.</t>

<t>Deploying a change to a protocol could require fixing 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, coordinating a bug fix and release plan, contacting the operator
of affected services, and waiting for the fix to be deployed to those services.</t>

<t>Given the effort involved in fixing these problems, the existence of these sorts
of bugs can outright prevent the deployment of some types of protocol changes.
It could even be necessary to come up with a new protocol design that uses a
different method to achieve the same result.</t>

<section anchor="good-protocol-design-is-not-sufficient" title="Good Protocol Design is Not Sufficient">

<t>It is often argued that the 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="RFC6709"/> contains a great deal of well-considered advice on
designing for extension.  It includes the following advice:</t>

<t><list style='empty'>
  <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>
</list></t>

<t>This has proven to be insufficient in practice.  Many protocols have evidence of
imperfect implementation of these critical 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>

<t><list style='empty'>
  <t>The nature of protocol version-negotiation mechanisms is that, by definition,
  they don’t get widespread real-world testing until <spanx style="emph">after</spanx> the base protocol
  has been deployed for a while, and its deficiencies have become evident.</t>
</list></t>

<t>Transport Layer Security (TLS) <xref target="RFC5246"/> 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)” exactly as described in <xref target="RFC6709"/>.  However, clients are
unable to advertise a new version without causing a non-trivial proportions of
sessions to fail due to bugs in server (or middlebox) implementations.</t>

<t><list style="hanging">
  <t hangText='Note:'>
  It is possible that some middleboxes prevent negotiation of protocol versions
and features they do not understand.  It is hard to imagine what those
middleboxes hope to gain from doing so for a protocol like TLS.</t>
</list></t>

<t>Intolerance to new TLS versions is so severe <xref target="INTOLERANCE"/> that TLS 1.3
<xref target="I-D.ietf-tls-tls13"/> has abandoned HMSV version negotiation for a different
mechanism.</t>

<t>The server name indication (SNI) <xref target="RFC6066"/> 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 with considerable success in other
parts of the TLS protocol.  The original design of SNI includes the ability to
include multiple names of different types.</t>

<t>What is telling in this case is that SNI was defined with just one type of name:
a domain name.  No other type has ever been defined, 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"/>.</t>

</section>
<section anchor="multi-party-interactions-and-middleboxes" title="Multi-Party Interactions and Middleboxes">

<t>Even the most superficially simple protocols can often involve more actors than
is immediately apparent.  A two-party protocol still has two ends, and even at
the endpoints of an interaction, protocol elements can be passed on to other
entities in ways that can affect protcol operation.</t>

<t>One of the key challenges in deploying new features in a protocol is ensuring
compatibility with all actors that could influence the outcome.</t>

<t>Protocols that deploy without active measures against intermediation can accrue
middleboxes that depend on certain aspects of the protocol.  In particular, one
of the consequences of an unencrypted protocol is that any element on path can
interact with the protocol.  For example, HTTP recognizes the role of a
transparent proxy <xref target="RFC7230"/>.  Because HTTP was specifically designed with
intermediation in mind, transparent proxies are not only possible, but sometimes
advantageous.  Consequently, transparent proxies for HTTP are commonplace.</t>

<t>Middleboxes are also protocol participants, to the degree that they are able to
observe and act in ways that affect the protocol.  The degree to which a
middlebox participates varies from the basic functions that a router performs to
full participation.  For example, a SIP back-to-back user agent (B2BUA)
<xref target="RFC7092"/> can be very deeply involved in the SIP protocol.</t>

<t>By increasing the number of different actors involved in any single protocol
exchange, the number of potential implementation bugs that a deployment needs to
contend with also increases.  In particular, incompatible changes to a protocol
that might be negotiated between endpoints in ignorance of the presence of a
middlebox can result in a middlebox acting badly.</t>

<t>Thus, middleboxes can increase the difficulty of deploying changes to a protocol
considerably.</t>

</section>
</section>
<section anchor="protocol-freedom" title="Protocol Freedom">

<t>If design is insufficient, what then would give protocol designers the freedom
to later change a deployed protocol?</t>

<t>Michel Foucault defines freedom as a practice rather than a state that is
bestowed or attained:</t>

<t><list style='empty'>
  <t>Freedom is practice; […] the freedom of men is never assured by the laws
  and the institutions that are intended to guarantee them.  […] I think it
  can never be inherent in the structure of things to guarantee the exercise of
  freedom.  The guarantee of freedom is freedom. –<xref target="FOUCAULT1"/></t>
</list></t>

<t>In the same way, the design of a protocol for extensibility and eventual
replacement <xref target="RFC6709"/> does not guarantee the ability to exercise those
options.</t>

<section anchor="use-of-protocol-freedom" title="Use of Protocol Freedom">

<t>Though planning and specifying these options is a necessarily precondition for
their availability, whether they are available depends on more than what is
written in a specification.  The nature a protocol deployment has a significant
effect on whether that protocol can be changed.</t>

<t><list style='empty'>
  <t>This is why I emphasize practices of freedom over processes of liberation;
  again, the latter indeed have their place, but they do not seem to me, to be
  capable by themselves of defining all the practical forms of freedom.
  –<xref target="FOUCAULT2"/></t>
</list></t>

<t>The fact that freedom depends on practice is evident in protocols that are known
to have viable version negotiation or extension points.  The definition of
mechanisms alone is insufficient, it’s the active use of those mechanisms that
determines the existence of freedom.</t>

<t>For example, header fields in email <xref target="RFC5322"/>, HTTP <xref target="RFC7230"/> and SIP
<xref target="RFC3261"/> all derive from the same basic design.  There is no evidence of any
barriers to deploying header fields with new names and semantics.</t>

<t>In another example, the attribute-value pairs (AVPs) in Diameter <xref target="RFC6733"/>
are fundamental to the design of the protocol.  The definition of new uses of
Diameter regularly exercise the ability to add new AVPs and do so with no fear
that the definition might be unsuccessful.</t>

<t>These examples show extension points that are heavily used also being relatively
unaffected by deployment issues.  These examples also confirm the case that good
design is not a prerequisite 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="I-D.ietf-httpbis-header-structure"/>.</t>

<t>Only using a protocol capability is able to ensure availability of that
capability.  Protocols that fail to use a mechanism, or a protocol that only
rarely uses a mechanism, suffer an inability to rely on that mechanism.</t>

</section>
<section anchor="reliance-on-protocol-freedom" title="Reliance on Protocol Freedom">

<t>The best way to guarantee that a protocol mechanism is used is to make it
critical to an endpoint participating in that protocol.  This means that
implementations rely on both the existence of a mechanism and it being used.</t>

<t>For example, the message format in SMTP relies on header fields for most of its
functions, including the most basic 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 it does not 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 critical to the functioning of a protocol deployment.
Should an implementation fail to correctly implement the mechanism, that failure
would become immediately apparent.</t>

</section>
<section anchor="unused-extension-points-become-unusable" title="Unused Extension Points Become Unusable">

<t>In contrast, 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>HTTP has a number of very effective extension points in addition to the
aforementioned header fields.  It also has some examples of extension point that
are so rarely used that it is possible that they are not at all usable.
Extension points in HTTP that might be unwise to use include the extension point
on each chunk in the chunked transfer coding <xref target="RFC7230"/>, the ability to use
transfer codings other than the chunked coding, and the range unit in a range
request <xref target="RFC7233"/>.</t>

</section>
</section>
<section anchor="defensive-design-principles-for-protocol-freedom" title="Defensive Design Principles for Protocol Freedom">

<t>There are several potential approaches that can provide some measure of
protection against a protocol deployment becoming resistant to change.</t>

<section anchor="grease" title="Grease">

<t>“Grease” <xref target="I-D.ietf-tls-grease"/> identifies lack of use as an issue (protocol
mechanisms “rusting” shut) and proposes a system of use that exercises extension
points by using dummy values.</t>

<t>The grease design aims at the style of negotiation most used in TLS, where the
client offers a set of options and the server chooses the one that it most
prefers from those that it supports.  In that design, the client randomly offers
options (usually just one) from a set of reserved values.  These values are
guaranteed to never be assigned real meaning, so the server will never have
cause to genuinely select one of these values.</t>

<t>The principle that grease operates on is that an implementation that is
regularly exposed to unknown values is not likely to become intolerant of new
values when they appear.  This depends somewhat on the fact that the difficulty
of implementing the protocol mechanism correctly is not significantly more
effort than implementing code to specifically filter out the randomized “grease”
values.  To that end, the values that are reserved are not taken from a single
contiguous block of code points, but are distributed across the entire space of
code points.</t>

<t>The hope with grease is that errors in implementing the mechanisms it safeguards
are quickly detected.  If many implementations send these “grease” values as
part of regular operation, then any failure to properly handle these apparently
new values will be detected.</t>

<t>This form of defensive design has some limitations.  It does not necessarily
create the need for an implementation to rely on the mechanism it safeguards;
that is determined by the underlying protocol itself.  More critically, it does
not easily translate to other forms of extension point.  Other techniques might
be necessary for protocols that don’t rely on the particular style of exchange
that is predominant in TLS.</t>

</section>
<section anchor="cryptography" title="Cryptography">

<t>A method of defensive design is that of using cryptography (such as TLS) to
forcibly reduce the number of entities that can participate in the protocol.</t>

<t>Data that is exchanged under encryption cannot be seen by middleboxes, excluding
them from participating in that part of the protocol.  Similarly, data that is
exchanged with integrity protection cannot be modified by middleboxes.</t>

<t>The QUIC protocol <xref target="I-D.ietf-quic-transport"/>, adopts both encryption to
carefully control what information is exposed to middleboxes.  QUIC also uses
integrity protection over all the data it exchanges to prevent modification.</t>

</section>
<section anchor="visibility" title="Visibility">

<t>Modern software engineering practice includes a strong emphasis on measuring the
effects of changes and correcting based on that feedback.  Runtime monitoring of
system health is an important part of that, which relies on systems of logging
and synthetic health indicators, such as aggregate transaction failure rates.</t>

<t>Feedback is critical to the success of the grease technique (see <xref target="grease"/>).
The system only works if an implementer creates a way to ensure that errors are
detected and analyzed.  This process can be automated, but when operating at
scale it might be difficult or impossible to collect details of specific errors.</t>

<t>Treating errors in protocol implementation as fatal can greatly improve
visibility.  Disabling automatic recovery from protocol errors can be disruptive
to users when those errors occur, but it also ensures that errors are made
visible.  Where users are part of the feedback system, visibility of error
conditions is especially important.</t>

<t>New protocol designs are encouraged to define conditions that result in fatal
errors.  Competitive pressures often force implementations to favor strategies
that mask or hide errors.  Standardizing on error handling that ensures
visibility of flaws avoids handling that hides problems.</t>

<t>Feedback on errors can be more important during the development and early
deployment of a change.  Disabling automatic error recovery methods during
development can improve visibility of errors.</t>

<t>Automated feedback systems are important for automated systems, or where error
recovery is also automated.  For instance, failures to connect to HTTP
alternative services <xref target="RFC7838"/> are not permitted to affect the outcome of
transactions.  A feedback system for capturing failures in alternative services
is therefore crucial to ensuring the mechanism remains viable.</t>

</section>
</section>
<section anchor="security-considerations" title="Security Considerations">

<t>The ability to design, implement, and deploy new protocol mechanisms can be
critical to security.  In particular, the need to be able to replace
cryptographic algorithms over time has been well established <xref target="RFC7696"/>.</t>

</section>
<section anchor="iana-considerations" title="IANA Considerations">

<t>This document makes no request of IANA.</t>

</section>


  </middle>

  <back>


    <references title='Informative References'>

<reference anchor="FOUCAULT1" >
  <front>
    <title>The Foucault Reader</title>
    <author initials="M." surname="Foucault" fullname="Michel Foucault">
      <organization></organization>
    </author>
    <author initials="P." surname="Rabinow" fullname="Paul Rabinow" role="editor">
      <organization></organization>
    </author>
    <date year="1984" month="November" day="12"/>
  </front>
  <seriesInfo name="ISBN" value="0394713400"/>
</reference>
<reference anchor="FOUCAULT2" >
  <front>
    <title>Ethics: Subjectivity and Truth</title>
    <author initials="M." surname="Foucault" fullname="Michel Foucault">
      <organization></organization>
    </author>
    <author initials="P." surname="Rabinow" fullname="Paul Rabinow" role="editor">
      <organization></organization>
    </author>
    <date year="1998" month="May" day="15"/>
  </front>
  <seriesInfo name="ISBN" value="1565844343"/>
</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></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></organization>
    </author>
    <date year="2016" month="July" day="20"/>
  </front>
</reference>




<reference  anchor="RFC5218" target='http://www.rfc-editor.org/info/rfc5218'>
<front>
<title>What Makes For a Successful Protocol?</title>
<author initials='D.' surname='Thaler' fullname='D. Thaler'><organization /></author>
<author initials='B.' surname='Aboba' fullname='B. Aboba'><organization /></author>
<date year='2008' month='July' />
<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="I-D.iab-protocol-transitions">
<front>
<title>Planning for Protocol Adoption and Subsequent Transitions</title>

<author initials='D' surname='Thaler' fullname='Dave Thaler'>
    <organization />
</author>

<date month='March' day='8' 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, and 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 also summarizes what makes for a good transition plan.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-iab-protocol-transitions-08' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-iab-protocol-transitions-08.txt' />
</reference>



<reference  anchor="RFC6709" target='http://www.rfc-editor.org/info/rfc6709'>
<front>
<title>Design Considerations for Protocol Extensions</title>
<author initials='B.' surname='Carpenter' fullname='B. Carpenter'><organization /></author>
<author initials='B.' surname='Aboba' fullname='B. Aboba' role='editor'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<date year='2012' month='September' />
<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="RFC5246" target='http://www.rfc-editor.org/info/rfc5246'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
<author initials='T.' surname='Dierks' fullname='T. Dierks'><organization /></author>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2008' month='August' />
<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="I-D.ietf-tls-tls13">
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>

<author initials='E' surname='Rescorla' fullname='Eric Rescorla'>
    <organization />
</author>

<date month='March' day='10' year='2017' />

<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></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-tls-tls13-19' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-tls13-19.txt' />
</reference>



<reference  anchor="RFC6066" target='http://www.rfc-editor.org/info/rfc6066'>
<front>
<title>Transport Layer Security (TLS) Extensions: Extension Definitions</title>
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
<date year='2011' month='January' />
<abstract><t>This document provides specifications for existing TLS extensions.  It is a companion document for RFC 5246, &quot;The Transport Layer Security (TLS) Protocol Version 1.2&quot;.  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>



<reference  anchor="RFC7230" target='http://www.rfc-editor.org/info/rfc7230'>
<front>
<title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
<author initials='R.' surname='Fielding' fullname='R. Fielding' role='editor'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke' role='editor'><organization /></author>
<date year='2014' month='June' />
<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems.  This document provides an overview of HTTP architecture and its associated terminology, defines the &quot;http&quot; and &quot;https&quot; Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t></abstract>
</front>
<seriesInfo name='RFC' value='7230'/>
<seriesInfo name='DOI' value='10.17487/RFC7230'/>
</reference>



<reference  anchor="RFC7092" target='http://www.rfc-editor.org/info/rfc7092'>
<front>
<title>A Taxonomy of Session Initiation Protocol (SIP) Back-to-Back User Agents</title>
<author initials='H.' surname='Kaplan' fullname='H. Kaplan'><organization /></author>
<author initials='V.' surname='Pascual' fullname='V. Pascual'><organization /></author>
<date year='2013' month='December' />
<abstract><t>In many SIP deployments, SIP entities exist in the SIP signaling path between the originating and final terminating endpoints, which go beyond the definition of a SIP proxy, performing functions not defined in Standards Track RFCs.  The only term for such devices provided in RFC 3261 is for a Back-to-Back User Agent (B2BUA), which is defined as the logical concatenation of a SIP User Agent Server (UAS) and User Agent Client (UAC).</t><t>There are numerous types of SIP B2BUAs performing different roles in different ways; for example, IP Private Branch Exchanges (IPBXs), Session Border Controllers (SBCs), and Application Servers (ASs). This document identifies several common B2BUA roles in order to provide taxonomy other documents can use and reference.</t></abstract>
</front>
<seriesInfo name='RFC' value='7092'/>
<seriesInfo name='DOI' value='10.17487/RFC7092'/>
</reference>



<reference  anchor="RFC5322" target='http://www.rfc-editor.org/info/rfc5322'>
<front>
<title>Internet Message Format</title>
<author initials='P.' surname='Resnick' fullname='P. Resnick' role='editor'><organization /></author>
<date year='2008' month='October' />
<abstract><t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of &quot;electronic mail&quot; messages.  This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, &quot;Standard for the Format of ARPA Internet Text Messages&quot;, updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5322'/>
<seriesInfo name='DOI' value='10.17487/RFC5322'/>
</reference>



<reference  anchor="RFC3261" target='http://www.rfc-editor.org/info/rfc3261'>
<front>
<title>SIP: Session Initiation Protocol</title>
<author initials='J.' surname='Rosenberg' fullname='J. Rosenberg'><organization /></author>
<author initials='H.' surname='Schulzrinne' fullname='H. Schulzrinne'><organization /></author>
<author initials='G.' surname='Camarillo' fullname='G. Camarillo'><organization /></author>
<author initials='A.' surname='Johnston' fullname='A. Johnston'><organization /></author>
<author initials='J.' surname='Peterson' fullname='J. Peterson'><organization /></author>
<author initials='R.' surname='Sparks' fullname='R. Sparks'><organization /></author>
<author initials='M.' surname='Handley' fullname='M. Handley'><organization /></author>
<author initials='E.' surname='Schooler' fullname='E. Schooler'><organization /></author>
<date year='2002' month='June' />
<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="RFC6733" target='http://www.rfc-editor.org/info/rfc6733'>
<front>
<title>Diameter Base Protocol</title>
<author initials='V.' surname='Fajardo' fullname='V. Fajardo' role='editor'><organization /></author>
<author initials='J.' surname='Arkko' fullname='J. Arkko'><organization /></author>
<author initials='J.' surname='Loughney' fullname='J. Loughney'><organization /></author>
<author initials='G.' surname='Zorn' fullname='G. Zorn' role='editor'><organization /></author>
<date year='2012' month='October' />
<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="I-D.ietf-httpbis-header-structure">
<front>
<title>HTTP Header Common Structure</title>

<author initials='P' surname='Kamp' fullname='Poul-Henning Kamp'>
    <organization />
</author>

<date month='December' day='12' year='2016' />

<abstract><t>An abstract data model for HTTP headers, "Common Structure", and a HTTP/1 serialization of it, generalized from current HTTP headers.  Note to Readers  Discussion of this draft takes place on the HTTP working group mailing list (ietf-http-wg@w3.org), which is archived at https://lists.w3.org/Archives/Public/ietf-http-wg/ .  Working Group information can be found at http://httpwg.github.io/ ; source code and issues list for this draft can be found at https://github.com/httpwg/http-extensions/labels/header-structure .</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-httpbis-header-structure-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-httpbis-header-structure-00.txt' />
</reference>



<reference  anchor="RFC7233" target='http://www.rfc-editor.org/info/rfc7233'>
<front>
<title>Hypertext Transfer Protocol (HTTP/1.1): Range Requests</title>
<author initials='R.' surname='Fielding' fullname='R. Fielding' role='editor'><organization /></author>
<author initials='Y.' surname='Lafon' fullname='Y. Lafon' role='editor'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke' role='editor'><organization /></author>
<date year='2014' month='June' />
<abstract><t>The Hypertext Transfer Protocol (HTTP) is a stateless application- level protocol for distributed, collaborative, hypertext information systems.  This document defines range requests and the rules for constructing and combining responses to those requests.</t></abstract>
</front>
<seriesInfo name='RFC' value='7233'/>
<seriesInfo name='DOI' value='10.17487/RFC7233'/>
</reference>



<reference anchor="I-D.ietf-tls-grease">
<front>
<title>Applying GREASE to TLS Extensibility</title>

<author initials='D' surname='Benjamin' fullname='David Benjamin'>
    <organization />
</author>

<date month='January' day='18' year='2017' />

<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 by clients to ensure servers correctly handle unknown values.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-tls-grease-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-tls-grease-00.txt' />
</reference>



<reference anchor="I-D.ietf-quic-transport">
<front>
<title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>

<author initials='J' surname='Iyengar' fullname='Janardhan Iyengar'>
    <organization />
</author>

<author initials='M' surname='Thomson' fullname='Martin Thomson'>
    <organization />
</author>

<date month='January' day='14' year='2017' />

<abstract><t>QUIC is a multiplexed and secure transport protocol that runs on top of UDP.  QUIC builds on past transport experience, and implements mechanisms that make it useful as a modern general-purpose transport protocol.  Using UDP as the basis of QUIC is intended to address compatibility issues with legacy clients and middleboxes.  QUIC authenticates all of its headers, preventing third parties from changing them.  QUIC encrypts most of its headers, thereby limiting protocol evolution to QUIC endpoints only.  Therefore, middleboxes, in large part, are not required to be updated as new protocol versions are deployed.  This document describes the core QUIC protocol, including the conceptual design, wire format, and mechanisms of the QUIC protocol for connection establishment, stream multiplexing, stream and connection-level flow control, and data reliability.  Accompanying documents describe QUIC's loss recovery and congestion control, and the use of TLS 1.3 for key negotiation.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-quic-transport-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-quic-transport-01.txt' />
</reference>



<reference  anchor="RFC7838" target='http://www.rfc-editor.org/info/rfc7838'>
<front>
<title>HTTP Alternative Services</title>
<author initials='M.' surname='Nottingham' fullname='M. Nottingham'><organization /></author>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></author>
<author initials='J.' surname='Reschke' fullname='J. Reschke'><organization /></author>
<date year='2016' month='April' />
<abstract><t>This document specifies &quot;Alternative Services&quot; 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="RFC7696" target='http://www.rfc-editor.org/info/rfc7696'>
<front>
<title>Guidelines for Cryptographic Algorithm Agility and Selecting Mandatory-to-Implement Algorithms</title>
<author initials='R.' surname='Housley' fullname='R. Housley'><organization /></author>
<date year='2015' month='November' />
<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>




    </references>



  </back>

<!-- ##markdown-source:
H4sIAP+OxlgAA9VcbZPbxpH+Pr8CpXyIlFqu90WWrU3V5VZv0fokWdZKTl1y
qdSQGJKwQIDBAEvRLv/3e57umcGAS6dS9+1SUXaXBAY9Pd1PP/2CzGYz01d9
7a6KB6/som87X9w0y3pwzaJqVkW/dsWrzrmy3RR9Wzxf22blivdd27eLtvYP
jJ3PO3d3lT6KV5uyXTR2g3XLzi77Wb9uN75tZttw3Wyp181q2zvfmwV+rNpu
f1X4vjTVtrsq+m7w/cXZ2dOzC2N8b5vyH7ZuGyy5d95sq6vib1jqpPBt13du
6fHbfqO/4OEbu91iB383xg54eHdlimKGf0VRNf6qeHtafFSR5DMV9a3t+qqZ
fNF2K3ze/lzVtZUP3MZW9VWxkUtPw7b+c8VPTxfYt2nabmP76s5dGWOqZjn+
WRSvvv/0/PrTm4/nV7JW1PxHarkdFnao++KDs6XrHsgFo+j8zyz8HLcQb0pf
hH1Ui7WrD789uP39afHBzqum3R3c/R733PuqaympKyuYiHxY4sCuivOn3z6e
nZ/Pzi/kQ++6ynluOsp8c/vs3VVxdvn08Tfnl4/PzkymhYupFl7262oBwW6H
+U9uAZVV/b7AqRcfO6jh/41Cnn47O/t6dv71v1TI+ddPvv728ePLx5dUyO27
m6kqrhcLt+3VAW1ftHDDjleJQEW/3zpf7GCSRePu8M2u7T7/G/q5Pi3ewH9r
tz/Y4HVpN5OvdC8XZ+dPZmeX+K8KZ7uV6yHduu+3/uqrr2jztlusYdynleuX
p3CWr/jBVxu/+qqv/Vfn/TdPVz+/u+n/Wn5z/mK3a+0/Fz/88I/H//1l8YAb
v3n38fs3Lz9cv3v+cqqAD/ifv318c/t3OuOwWve+aJviR9f5Cj9vmh7a72yz
cP/Gtl+fFv9lu6o92PTrYe66Pvsq3/Q3s4uz/+um599/d/HdD4vL1z9dv371
6i/Pq3cfb+Zn3w1v/8pNm9lsVti57zvArTF0fVhWTVsHwC4UYCNK+qJ0W9eU
snv3xXWLyierCLedFiMeG/mibJvf93GphW2KZQUvkq+I5xvHryq/8fqZH7Zb
QGi8Ye4AY84MzeDtvHanQeRNVZa1M+Z31H7XlgM8FBhprnE/rNX7JZwkyl38
8sufPrx6/vXF+be//qqWGlYHvO7sPjzZ1nW7K6pedt42MPjBGfyOpZa8h9I2
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
yZT3CL2buJrsPRJtP1qKCaY2j9yqHDabMLroQydUJU0zsBVztT5UZvZadJ+M
ZrQyVa11z49vbk/CtAJ9T3vwYXyJQjoJtbEeEU0m9F4X67aNkwHS9AtexSfg
sJwsEhKtPIiEmYFQ9AwBUjt1YqgqRMd22iYNU8UCS/EwjnHGZuMjfUaSlmXN
jnXdoKVI8/VPmS9I5KzUJneobFkfWgucPxEmJZ7i23zX2esoArvaqyDjc80A
DsBmnau18pHN502ObBtdJiQXeoJhrFe409iMuR/otVyTJ2jSDxUgaKQEEPca
oi37+/VeKYGGr9jl70P+Z8INMomiICgzuJFVxmoEXXKn9FpjcapbTKu97D3d
4wRHGHAWhFXULG8JQ/cmjEYKkE3W5IQzNzVpDy2rmoSq1YpOsKLqZ6jngar5
gRntog2OJx2jdTKRlGQmU4ohoQdHb5K9ScNAyvrVamgHuGndKkKIaOq745sC
JbBIE3y2b7rWhyoIbic2bq1Ok2X3BnORjrRQ0GAp0Tp0AnYyTn5vftuLy9ml
o9GD71ES5KyLz9JL6yU/piculXkcJg0+vEaBp0YFJk/yMqWgPifGOHZrT7QQ
zxXjUEUvvS9cwBFs0u84Ph0JFBI2GfEJpkg/kwHaIGMY3GO6EcpuIQ4F5EuM
oK42VRzaEcKQeHRWSzXsUvQamMmYdeDkvrflSWE+FT9R6h/TiFeqcKWKvPDq
ep+/k8H8x9VLTgCSYkeCyw5j4NiG0rKNRbdlYK9F1jg3keqKB5SChQeN+nEK
xSsxMZPZXW71gEHqGF6+1bEZNcaR2BJL2wXK070aqyVJnSFifH3O7nIrM4l7
vkIRRn6PnVs0ZgmF4tfZvcVDP7Bl6QsZvWOrsUWQ5GQpHj2EnvxIONNcwcgm
xg5n5FhZx/CF7W2E1LS9MgzRhyZ5aNPzSDj1SpqNs836XnzdKKSeTGM2ChC/
ka8Hjzmoyt3CZgXNT/h6XhLJjCKJ/7Nzs5KMNCNDo2zpdZepfAFGfvh083zy
5loiPMQDfeuHgZkE05aIt17zxkwN7GLCV9nu3Wv2gpW0gRBfANbglcWkXJBC
hRAGz6qMObohqezHarqoo+rT4XgFEp2t0w0v4oAILe/HKqadxrwFlHYNUGHZ
74h7ju9GOdepM8aqehyZYq+ua1kS08aD9kmEfwZUDT0Ncb0ojb6IJ2FMm6Nx
1EWSRyALe93Y+AdOsJLQInPt206zVxNoILKcmsfrAwThFGyTG4uV/ibrD2N9
Re/Vzke74ltfRkrN+waiYmtpVR2Pk3clojfZFcB8JaDCY9cRngTVQkNY8wni
H0vDY0Ez2HKITOP420M4Cows8uhHpzq2F2gvq4V8m9fzLZccdskrBZl5HqGW
FuqFecgji4uRQechGlvvf9Z52TDXLOKFLpMd+pbD+aWGY+E5IVixXtQbfbuu
yhK58e2UVl4nSokiawe1MDxIIAO8fJUivuamAsoUsdPVxyg9BoBplMGBLC2L
95RWXgnQsoRUY++SQXPirWI2KjLrjvBENgUl0VbYSVNY+tiggPHVRaMJY5fY
XpvepSnaxWLoVEVVSLRDIetQ+/Lim8pWc6ZP33jSdeXtyQznoheE0z8pxi0J
ZnNRk70eSPwQfQqjS+7ACdz775jo46SU1sV3A7Qad++Nw3GqQbRtwlFxymd8
JYtjEbpjHa9jvHH3aJFMEt+x5N/TWVZVLPVtrP9Mg1kzg00PuGVdDUyh+ln8
vtFvxnf2Ag3VkuFUO0u29AupcPqDG9YyeB5fDcr9NT4hHb+0e0dgKROkQVd3
rm63kjjHoe+9OXyPOCTPxw1QN5PMUGO9Dw8x+QMW6uq062NGwD1cR089NBs9
6HEPQtjSxeEaqXNpQqtmlaSqQn8n3XKvvZLG6fUt7cbpu8rSYbHMKhp9Dy++
wBWLI99e8uXvmCJsyf/6Xg0xG8oKc4ME/QxytbJ9sFPZ2sJuez2lfMz/mBxG
GFQs/y66gY6TcPP+C50dW6iwYe0Pa1UnveLwPM7giHT33tuPiXryh5PDt27v
Z3nRCCedDR8eeH/yKTHyaQk7jGqYjB3C9Gy9Qizt1xs/vnY+vgnCEW5ASU+L
9WsZzZUTe/L0SSxn3Vy/uz6y6fx1ZjZmpBcci2IwV94W/x8DeHLmfwEI0sJ0
YUYAAA==

-->

</rfc>

