<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.23 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-boucadair-tcpm-rst-diagnostic-payload-11" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.27.0 -->
  <front>
    <title abbrev="RST Diagnostic Payload">TCP RST Diagnostic Payload</title>
    <seriesInfo name="Internet-Draft" value="draft-boucadair-tcpm-rst-diagnostic-payload-11"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author fullname="Jason Xing">
      <organization>Tencent</organization>
      <address>
        <email>kerneljasonxing@gmail.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="01"/>
    <area/>
    <workgroup>TCP Maintenance and Minor Extensions</workgroup>
    <keyword>Service diagnostic</keyword>
    <abstract>
      <?line 51?>

<t>This document specifies a diagnostic payload format returned in TCP
   RST segments.  Such payloads are used to share with an endpoint the
   reasons for which a TCP connection has been reset.  Sharing this
   information is meant to ease diagnostic and troubleshooting.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    TCP Maintenance and Minor Extensions  mailing list (tcpm@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/tcpm/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/draft-boucadair-tcpm-rst-diagnostic-payload"/>.</t>
    </note>
  </front>
  <middle>
    <?line 58?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>A TCP connection <xref target="RFC9293"/> can be reset by a peer for various
   reasons, e.g., received data does not correspond to an active
   connection.  Also, a TCP connection can be reset by an on-path
   service function (e.g., Carrier Grade NAT (CGN) <xref target="RFC6888"/>, NAT64
   <xref target="RFC6146"/>, or firewall) for several reasons.  Typically, a Network
   Address Translator (NAT) function can generate an RST segment to
   notify an endpoint upon the expiry of the lifetime of the
   corresponding mapping entry or because an RST segment was received
   from a peer (<xref section="2.2" sectionFormat="of" target="RFC7857"/>).</t>
      <t>A TCP connection can also be
   closed by a user or an application at any time.  However, the peer
   that receives an RST segment does not have any hint about the reason
   that led to terminating the connection.  Likewise, the application
   that relies upon such a TCP connection may not easily identify the
   reason for the connection closure.  Troubleshooting such events at
   the remote side of the connection that receives the RST segment may
   not be trivial.</t>
      <t>This document fills this void by specifying a format of the
   diagnostic payload that is returned in an RST segment.  Returning
   such data is consistent with the provision in <xref section="3.5.3" sectionFormat="of" target="RFC9293"/> for RST segments, especially:</t>
      <blockquote>
        <t>"TCP implementations <bcp14>SHOULD</bcp14> allow a received RST segment to
 include data (SHLD-2)."</t>
      </blockquote>
      <t>This document does not change the conditions under which an RST
   segment is generated (<xref section="3.5.2" sectionFormat="of" target="RFC9293"/>).</t>
      <t>The generic procedure for processing an RST segment is specified in
   <xref section="3.5.3" sectionFormat="of" target="RFC9293"/>.  Only the deviations from that procedure
   to insert and validate a diagnostic payload is provided in <xref target="payload"/>.
   <xref target="examples"/> provides a set of examples to illustrate the use of TCP RST
   diagnostic payloads.</t>
      <t>This document specifies the format and the overall approach to ease
   maintaining the list of codes while allowing for adding new codes as
   needed in the future and accommodating any existing vendor-specific
   codes.  An initial version of error codes is available in Table 2.
   However, the authoritative source to retrieve the full list of error
   codes is the IANA-maintained registry (<xref target="causes"/>).</t>
      <t>Preliminary investigation based on some major CGN vendors revealed
   that RSTs with data are not discarded and are translated according to
   any matching mapping entry.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

<t>This document makes use of the terms defined in <xref section="4" sectionFormat="of" target="RFC9293"/>.</t>
    </section>
    <section anchor="payload">
      <name>RST Diagnostic Payload</name>
      <t>The RST diagnostic payload <bcp14>MUST</bcp14> be encoded using Concise Binary
   Object Representation (CBOR) Sequence <xref target="RFC8742"/>.  The Concise Data
   Definition Language (CDDL) <xref target="RFC8610"/> for the diagnostic payload is
   shown in <xref target="cddl"/>.</t>
      <figure anchor="cddl">
        <name>Structure of the RST Diagnostic Payload</name>
        <sourcecode type="CDDL"><![CDATA[
; This defines an array, the elements of which are to be used
; in a CBOR Sequence. There is exactly one occurrence.
diagnostic-payload = [magic-cookie, reason]
; Magic cookie to identify a payload that follows this specification
magic-cookie = 12345
; Reset reason details:
reason= {
  ? reason-code: uint,
  ? pen:uint,
  ? reason-description: tstr,
}
; Map Keys
reason-code = 1
pen = 2
reason-description = 3
]]></sourcecode>
      </figure>
      <t>The RST diagnostic payload comprises a magic cookie that is used to
   unambiguously identify an RST payload that follows this
   specification.  It <bcp14>MUST</bcp14> be set to the RFC number to be assigned to
   this document.</t>
      <ul empty="true">
        <li>
          <t>Note to the RFC Editor: Please replace "12345" with the RFC number
assigned to this document.</t>
        </li>
      </ul>
      <t>All parameters in the reason component of an RST diagnostic payload
   are mapped to their CBOR key values as specified in <xref target="cbor"/>.  The
   description of these parameters is as follows:</t>
      <dl>
        <dt>reason-code:</dt>
        <dd>
          <t>This parameter takes a value from an available registry
such as the "TCP Failure Causes" registry (<xref target="causes"/>).</t>
        </dd>
        <dt>pen:</dt>
        <dd>
          <t>Includes a Private Enterprise Number
<xref target="Private-Enterprise-Numbers"/>.  This parameter <bcp14>MAY</bcp14> be included when
the reason code is not taken from the IANA-maintained registry
(<xref target="causes"/>), but from a vendor-specific registry.</t>
        </dd>
        <dt>reason-description:</dt>
        <dd>
          <t>Includes a brief description of the reset reason
encoded as UTF-8 <xref target="RFC3629"/>.  This parameter <bcp14>MUST NOT</bcp14> be included
if a reason code is supplied.  This parameter is useful only for
reset reasons that are not yet registered or for application-
specific reset reasons.</t>
        </dd>
      </dl>
      <t>At least one of "reason-code" and "reason-description" parameters
   <bcp14>MUST</bcp14> be included in an RST diagnostic payload.  The "pen" parameter
   <bcp14>MUST</bcp14> be omitted if a reason code from the IANA-maintained registry
   (<xref target="causes"/>) fits the reset case.</t>
      <t>Malformed RST diagnostic payload messages that include the magic
   cookie <bcp14>MUST</bcp14> be silently ignored by the receiver.</t>
      <t>A peer that receives a valid diagnostic payload may pass the reset
   reason information to the local application in addition to the
   information (<bcp14>MUST</bcp14>-12) described in <xref section="3.6" sectionFormat="of" target="RFC9293"/>.  That
   information may also be logged locally, unless a local policy
   specifies otherwise.  How the information is passed to an application
   and how it is stored locally is implementation-specific.</t>
      <t>Per <xref section="3.6" sectionFormat="of" target="RFC9293"/>, one or more RST segments can be sent
   to reset a connection.  Whether a TCP endpoint elects to send more
   than one RST with only a subset of them that include the diagnostic
   payload is implementation-specific.</t>
    </section>
    <section anchor="examples">
      <name>Some Examples</name>
      <t>To ease readability, the CBOR diagnostic notation (<xref section="8" sectionFormat="of" target="RFC8949"/>)
   with the parameter names rather than their CBOR key values
   in <xref target="cbor"/> is used in Figures 3, 4, 5, and 6.</t>
      <t><xref target="fig-2"/> depicts an example of an RST diagnostic payload that is
   generated to inform the peer that the TCP connection is reset because
   an ACK was received from that peer while the connection is still in
   the LISTEN state (<xref section="3.10.7.2" sectionFormat="of" target="RFC9293"/>).</t>
      <figure anchor="fig-2">
        <name>Example of an RST Diagnostic Payload with Reason Code (CBOR Encoding)</name>
        <sourcecode type="CDDL"><![CDATA[
   19 3039 # unsigned(12345)
   A1    # map(1)
      01 # unsigned(1)
      02 # unsigned(2)
]]></sourcecode>
      </figure>
      <t><xref target="fig-3"/> depicts the same RST diagnostic payload as the one shown in
   <xref target="fig-2"/> but following the CBOR diagnostic notation.</t>
      <figure anchor="fig-3">
        <name>Example of an RST Diagnostic Payload with Reason Code (Diagnostic Notation)</name>
        <sourcecode type="CBOR"><![CDATA[
   [
     12345,
     {
       1: 2
     }
   ]
]]></sourcecode>
      </figure>
      <t><xref target="fig-4"/> shows an example of an RST diagnostic payload that includes
   a free description to report a case that is not covered by an
   appropriate code from the IANA-maintained registry (<xref target="causes"/>).</t>
      <figure anchor="fig-4">
        <name>Example of an RST Diagnostic Payload with Reason Description (Diagnostic Notation)</name>
        <sourcecode type="CBOR"><![CDATA[
   [
     12345,
     {
       3: "brief human-readable description"
     }
   ]
]]></sourcecode>
      </figure>
      <t>An RST diagnostic payload may also be sent by an on-path service
   function.  For example, the following diagnostic payload is returned
   by a NAT function upon expiry of the mapping entry to which the TCP
   connection is bound (<xref target="fig-5"/>).</t>
      <figure anchor="fig-5">
        <name>Example of an RST Diagnostic Payload to Report Connection Timeout (Diagnostic Notation)</name>
        <sourcecode type="CBOR"><![CDATA[
   [
     12345,
     {
       1: 8
     }
   ]
]]></sourcecode>
      </figure>
      <t><xref target="fig-6"/> illustrates an RST diagnostic payload that is returned by a
   peer that resets a TCP connection for a reason code 1234 defined by a
   vendor with the private enterprise number 32473.</t>
      <figure anchor="fig-6">
        <name>Example of an RST Diagnostic Payload to Report Vendor-Specific Reason Code (Diagnostic Notation)</name>
        <sourcecode type="CBOR"><![CDATA[
   [
     12345,
     {
       1: 1234,
       2: 32473
     }
   ]
]]></sourcecode>
      </figure>
      <t><xref target="fig-6"/> uses the Enterprise Number 32473 defined for documentation
   use <xref target="RFC5612"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="cbor">
        <name>RST Diagnostic Payload CBOR Key Values</name>
        <t>IANA is requested to create a new registry titled "RST Diagnostic
   Payload CBOR Key Values" under the "Transmission Control Protocol
   (TCP) Parameters" registry group <xref target="IANA-TCP"/>.</t>
        <t>The key value <bcp14>MUST</bcp14> be an integer in the 1-255 range.</t>
        <t>The assignment policy for this registry is "IETF Review" (<xref section="4.8" sectionFormat="of" target="RFC8126"/>).</t>
        <t>The structure of this subregistry and the initial values are provided
   in <xref target="sub"/>.</t>
        <table anchor="sub">
          <name>Initial CBOR Keys</name>
          <thead>
            <tr>
              <th align="center">Parameter Name</th>
              <th align="center">CBOR  Key</th>
              <th align="center">CBOR Major Type &amp; Information</th>
              <th align="center">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">reason-code</td>
              <td align="center">1</td>
              <td align="center">0 unsigned</td>
              <td align="center">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">pen</td>
              <td align="center">2</td>
              <td align="center">0 unsigned</td>
              <td align="center">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">reason-description</td>
              <td align="center">3</td>
              <td align="center">3 text string</td>
              <td align="center">[ThisDocument]</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="causes">
        <name>New Registry for TCP Failure Causes</name>
        <t>This document requests IANA to create a new registry entitled "TCP
   Failure Causes" under the "Transmission Control Protocol (TCP)
   Parameters" registry group <xref target="IANA-TCP"/>.</t>
        <t>Values are taken from the 1-65535 range.</t>
        <t>The assignment policy for this registry is "Expert Review"
   (<xref section="4.5" sectionFormat="of" target="RFC8126"/>).</t>
        <t>The designated experts may approve registration once they checked
   that the new requested code is not covered by an existing code and if
   the provided reasoning to register the new code is acceptable.  A
   registration request may supply a pointer to a specification where
   that code is defined.  However, a registration may be accepted even
   if no permanent and readily available public specification is
   available.</t>
        <t>The registry is initially populated with the values listed in
   <xref target="initial"/>.</t>
        <table anchor="initial">
          <name>Initial TCP Failure Causes</name>
          <thead>
            <tr>
              <th align="center">Value</th>
              <th align="left">Description</th>
              <th align="left">Specification (if available)</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="center">1</td>
              <td align="left">Illegal Option</td>
              <td align="left">
                <xref section="3.1" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">2</td>
              <td align="left">Desynchronized state</td>
              <td align="left">
                <xref section="3.5.1" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">3</td>
              <td align="left">New data is received after CLOSE is called</td>
              <td align="left">Sections 3.6.1 and  3.10.7.1 of <xref target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">4</td>
              <td align="left">ABORT Process</td>
              <td align="left">
                <xref section="3.10.5" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">5</td>
              <td align="left">Unexpected ACK received by non-synchronized state connection</td>
              <td align="left">
                <xref section="3.10.7" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">6</td>
              <td align="left">Unexpected SYN in the window</td>
              <td align="left">
                <xref section="3.10.7" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">7</td>
              <td align="left">Unexpected security compartment</td>
              <td align="left">
                <xref section="A.1" sectionFormat="of" target="RFC9293"/></td>
            </tr>
            <tr>
              <td align="center">8</td>
              <td align="left">Malformed Message</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">9</td>
              <td align="left">Not Authorized</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">10</td>
              <td align="left">Resource Exceeded</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">11</td>
              <td align="left">Network Failure</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">12</td>
              <td align="left">Reset received from he peer</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">13</td>
              <td align="left">Destination Unreachable</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">14</td>
              <td align="left">Connection Timeout</td>
              <td align="left">[ThisDocument]</td>
            </tr>
            <tr>
              <td align="center">15</td>
              <td align="left">Too much outstanding data</td>
              <td align="left">
                <xref section="3.6" sectionFormat="of" target="RFC8684"/></td>
            </tr>
            <tr>
              <td align="center">16</td>
              <td align="left">Unacceptable performance</td>
              <td align="left">
                <xref section="3.6" sectionFormat="of" target="RFC8684"/></td>
            </tr>
            <tr>
              <td align="center">17</td>
              <td align="left">Middlebox interference</td>
              <td align="left">
                <xref section="3.6" sectionFormat="of" target="RFC8684"/></td>
            </tr>
          </tbody>
        </table>
        <t>Note that codes in the 8-14 range can be used by service functions (Carrier Grade NAT (CGN), firewall, proxy, etc.).</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t><xref target="RFC9293"/> discusses TCP-related security considerations. In
   particular, RST-specific attacks and their mitigations are discussed
   in <xref section="3.10.7.3" sectionFormat="of" target="RFC9293"/>.</t>
      <t>In addition to these considerations, it is <bcp14>RECOMMENDED</bcp14> to control the
   size of acceptable diagnostic payload and keep it as brief as
   possible.  The <bcp14>RECOMMENDED</bcp14> acceptable maximum size of the RST
   diagnostic payload is 255 octets.</t>
      <t>Also, it is <bcp14>RECOMMENDED</bcp14> to avoid leaking privacy-related information
   as part of the diagnostic payload (e.g., including a description such
   as "user X resets explicitly the connection" is not recommended).
   The "reason-description" string, when present, <bcp14>MUST NOT</bcp14> include any
   private information that an observer would not otherwise have access
   to.</t>
      <t>The presence of vendor-specific reason codes (Section 3) may be used
   to fingerprint hosts.  Such a concern does not apply if the reason
   codes are taken from the IANA-maintained registry.  Implementers are,
   thus, encouraged to register new codes within IANA instead of
   maintaining specific registries.</t>
      <t>The reason description, when present, <bcp14>MUST NOT</bcp14> be displayed
   to end users but is intended to be consumed by applications. Such a description
   may carry a malicious message to mislead the end-user.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP). TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet. Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion. This document collects and brings those changes together with the protocol specification from RFC 793. This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793. It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements. It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state. The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="RFC8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq". A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation. This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="RFC8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC3629">
          <front>
            <title>UTF-8, a transformation format of ISO 10646</title>
            <author fullname="F. Yergeau" initials="F." surname="Yergeau"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>ISO/IEC 10646-1 defines a large character set called the Universal Character Set (UCS) which encompasses most of the world's writing systems. The originally proposed encodings of the UCS, however, were not compatible with many current applications and protocols, and this has led to the development of UTF-8, the object of this memo. UTF-8 has the characteristic of preserving the full US-ASCII range, providing compatibility with file systems, parsers and other software that rely on US-ASCII values but are transparent to other values. This memo obsoletes and replaces RFC 2279.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="63"/>
          <seriesInfo name="RFC" value="3629"/>
          <seriesInfo name="DOI" value="10.17487/RFC3629"/>
        </reference>
        <reference anchor="RFC8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049. It does not create a new version of the format.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="94"/>
          <seriesInfo name="RFC" value="8949"/>
          <seriesInfo name="DOI" value="10.17487/RFC8949"/>
        </reference>
        <reference anchor="RFC8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <author fullname="T. Narten" initials="T." surname="Narten"/>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters. To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper. For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed. This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="RFC8684">
          <front>
            <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
            <author fullname="A. Ford" initials="A." surname="Ford"/>
            <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <author fullname="C. Paasch" initials="C." surname="Paasch"/>
            <date month="March" year="2020"/>
            <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., a reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.</t>
              <t>This document specifies v1 of Multipath TCP, obsoleting v0 as specified in RFC 6824, through clarifications and modifications primarily driven by deployment experience.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8684"/>
          <seriesInfo name="DOI" value="10.17487/RFC8684"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA-TCP" target="https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#">
          <front>
            <title>Transmission Control Protocol (TCP) Parameters</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="Private-Enterprise-Numbers" target="https://www.iana.org/assignments/enterprise-numbers">
          <front>
            <title>Private Enterprise Numbers</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="May"/>
          </front>
        </reference>
        <reference anchor="RFC6888">
          <front>
            <title>Common Requirements for Carrier-Grade NATs (CGNs)</title>
            <author fullname="S. Perreault" initials="S." role="editor" surname="Perreault"/>
            <author fullname="I. Yamagata" initials="I." surname="Yamagata"/>
            <author fullname="S. Miyakawa" initials="S." surname="Miyakawa"/>
            <author fullname="A. Nakagawa" initials="A." surname="Nakagawa"/>
            <author fullname="H. Ashida" initials="H." surname="Ashida"/>
            <date month="April" year="2013"/>
            <abstract>
              <t>This document defines common requirements for Carrier-Grade NATs (CGNs). It updates RFC 4787.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="127"/>
          <seriesInfo name="RFC" value="6888"/>
          <seriesInfo name="DOI" value="10.17487/RFC6888"/>
        </reference>
        <reference anchor="RFC6146">
          <front>
            <title>Stateful NAT64: Network Address and Protocol Translation from IPv6 Clients to IPv4 Servers</title>
            <author fullname="M. Bagnulo" initials="M." surname="Bagnulo"/>
            <author fullname="P. Matthews" initials="P." surname="Matthews"/>
            <author fullname="I. van Beijnum" initials="I." surname="van Beijnum"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>This document describes stateful NAT64 translation, which allows IPv6-only clients to contact IPv4 servers using unicast UDP, TCP, or ICMP. One or more public IPv4 addresses assigned to a NAT64 translator are shared among several IPv6-only clients. When stateful NAT64 is used in conjunction with DNS64, no changes are usually required in the IPv6 client or the IPv4 server.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6146"/>
          <seriesInfo name="DOI" value="10.17487/RFC6146"/>
        </reference>
        <reference anchor="RFC7857">
          <front>
            <title>Updates to Network Address Translation (NAT) Behavioral Requirements</title>
            <author fullname="R. Penno" initials="R." surname="Penno"/>
            <author fullname="S. Perreault" initials="S." surname="Perreault"/>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="S. Sivakumar" initials="S." surname="Sivakumar"/>
            <author fullname="K. Naito" initials="K." surname="Naito"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This document clarifies and updates several requirements of RFCs 4787, 5382, and 5508 based on operational and development experience. The focus of this document is Network Address Translation from IPv4 to IPv4 (NAT44).</t>
              <t>This document updates RFCs 4787, 5382, and 5508.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="127"/>
          <seriesInfo name="RFC" value="7857"/>
          <seriesInfo name="DOI" value="10.17487/RFC7857"/>
        </reference>
        <reference anchor="RFC5612">
          <front>
            <title>Enterprise Number for Documentation Use</title>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="D. Harrington" initials="D." surname="Harrington"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document describes an Enterprise Number (also known as SMI Network Management Private Enterprise Code) for use in documentation. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5612"/>
          <seriesInfo name="DOI" value="10.17487/RFC5612"/>
        </reference>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
      </references>
    </references>
    <?line 383?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The "diagnostic payload" name is inspired by <xref section="5.5.2" sectionFormat="of" target="RFC7252"/>
  that was cited by Carsten Bormann in the tcpm mailing list.</t>
      <t>Thanks to Jon Shallow for the comments.  Thanks also to Li Jinghui
   for the discussion.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
zcqQJ0rVpVd21Tzi/F+xzsHECz0AAA==

-->

</rfc>
