<?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.8 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-opsawg-tsvwg-udp-ipfix-08" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="IPFIX IE for UDP Options">Export of UDP Options Information in IP Flow Information Export (IPFIX)</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-tsvwg-udp-ipfix-08"/>
    <author fullname="Mohamed Boucadair">
      <organization>Orange</organization>
      <address>
        <postal>
          <city>Rennes</city>
          <code>35000</code>
          <country>France</country>
        </postal>
        <email>mohamed.boucadair@orange.com</email>
      </address>
    </author>
    <author fullname="Tirumaleswar Reddy.K">
      <organization>Nokia</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <date year="2024" month="April" day="26"/>
    <area>Operations and Management</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>surplus area</keyword>
    <keyword>UDP options</keyword>
    <abstract>
      <?line 40?>

<t>This document specifies new IP Flow Information Export (IPFIX) Information Elements for UDP options.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    Operations and Management Area Working Group Working Group mailing list (opsawg@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/opsawg/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/boucadair/udp-ipfix"/>.</t>
    </note>
  </front>
  <middle>
    <?line 44?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>IP Flow Information Export (IPFIX) <xref target="RFC7011"/> is a protocol that is widely deployed in operators networks for traffic management purposes (<xref section="2" sectionFormat="of" target="RFC6632"/>). The protocol specifies the encoding of a set of basic data types and how the various Information Elements (IEs) are transmitted. In order to support the export of new flow-related measurement data, new IEs can be defined and registered in a dedicated IANA registry <xref target="IANA-IPFIX"/> for interoperability.</t>
      <t>This document specifies new IPFIX Information Elements for UDP options (<xref target="sec-IE"/>). A brief overview of UDP options is provided in <xref target="uo"/>.</t>
      <t>The IE specified in <xref target="udpOptions"/> uses the new abstract data type defined in <xref target="I-D.ietf-opsawg-ipfix-tcpo-v6eh"/>.</t>
      <t>Examples to illustrate the use of the new IPFIX Information Elements are provided in <xref target="sec-ex"/>.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>This document uses the IPFIX-specific terminology (e.g., Flow) defined in <xref section="2" sectionFormat="of" target="RFC7011"/>.
As in <xref target="RFC7011"/>, these IPFIX-specific terms have the first letter of a word capitalized.</t>
      <t>The document adheres to the naming conventions for Information Elements per <xref section="2.3" sectionFormat="of" target="RFC7012"/>.</t>
      <t>Also, this document uses the terms defined in <xref section="3" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>, especially "datagram" and "surplus area".</t>
    </section>
    <section anchor="uo">
      <name>UDP Options at a Glance</name>
      <t>UDP <xref target="RFC0768"/> does not support an extension mechanism similar to the options supported by other transport protocols, such as TCP <xref target="RFC9293"/>, SCTP <xref target="RFC9260"/>, or DCCP <xref target="RFC4340"/>. Such a mechanism can be useful for various applications, e.g., discover a path MTU or share timestamps. To fill that void, <xref target="I-D.ietf-tsvwg-udp-options"/> extends UDP with a mechanism to insert extensions in datagrams. To do so, and unlike the conventional approach that relies upon transport headers, <xref target="I-D.ietf-tsvwg-udp-options"/> uses trailers. Concretely, UDP options are placed in the surplus area (that is, the area of an IP payload that follows a UDP packet). See <xref target="spa"/>. An example of the use of UDP options is described in <xref target="I-D.ietf-tsvwg-udp-options-dplpmtud"/>.</t>
      <figure anchor="spa">
        <name>Surplus Area</name>
        <artwork align="center"><![CDATA[
                       IP transport payload
          <------------------------------------------------->
+--------+---------+----------------------+------------------+
| IP Hdr | UDP Hdr |     UDP user data    |   surplus area   |
+--------+---------+----------------------+------------------+
          <------------------------------>
                     UDP Length
]]></artwork>
      </figure>
      <t><xref target="udpOptions"/> introduces a new IE to export the observed UDP options.</t>
      <t>Options indicated by Kind values in the range 0-191 are called SAFE options. Such options can be silently ignored by legacy receivers because they do not alter the UDP user data (<xref section="11" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>).</t>
      <t>Options indicated by Kind values in the range 192-255 are called UNSAFE options. Such options are not safe for legacy receivers to ignore because they alter the UDP user data (<xref section="12" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>).</t>
      <t>UDP options occur per-packet within a Flow and can be inserted at any time in the Flow.</t>
      <t><xref target="I-D.ietf-tsvwg-udp-options"/> reserves two options for experiments: the Experimental option (EXP, Kind=127) for SAFE options and the UNSAFE Experimental option (UEXP, Kind=254). For both options, Experimental ID (ExIDs) are used to differentiate concurrent use of these options. Known ExIDs are expected to be registered within IANA. <xref target="udpExID"/> specifies a new IPFIX IE to export observed ExIDs in the EXP options. Also, <xref target="udpUExID"/> specifies a new IPFIX IE to export observed ExIDs in the UEXP options. Only 16-bit ExIDs are supported in <xref target="I-D.ietf-tsvwg-udp-options"/>.</t>
      <t>This document does not intend to elaborate operational guidance/implications of UDP options. The document focuses exclusively on exporting observed UDP options in datagrams.</t>
    </section>
    <section anchor="sec-IE">
      <name>New UDP IPFIX Information Elements</name>
      <ul empty="true">
        <li>
          <t>Note: "URL_IANA_UDP_OPTIONS" is the URL of the "UDP Option Kind Numbers" registry group while "URL_IANA_UDP_ExIDs" is the URL of the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry that will be created by IANA as per <xref section="25" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/>.</t>
        </li>
      </ul>
      <section anchor="udpOptions">
        <name>udpOptions</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpOptions</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD1</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed UDP options in a Flow. The information is encoded in a set of bit fields.</t>
          </dd>
          <dt/>
          <dd>
            <t>Options are mapped to bits according to their option numbers. UDP
option Kind 0 corresponds to the least-significant bit in the
udpOptions IE while Kind 255 corresponds to the most-significant bit of the IE. A bit is set to 1 if the corresponding UDP option is observed in the Flow. The bit is set to 0 if the option is not observed in the Flow.</t>
          </dd>
          <dt/>
          <dd>
            <t>To cover the 0-255 Kind range, up to 256 flags can be set in the value field. The reduced-size encoding specified in <xref section="6.2" sectionFormat="of" target="RFC7011"/> is followed whenever fewer octets are needed to report observed UDP options. For example, if only option Kinds &lt;= 32 are observed, then the value can be encoded as unsigned32, or if only option Kinds &lt;= 63 are observed, then the value can be encoded as unsigned64.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>unsigned256</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>flags</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assigned UDP options in the "UDP Option Kind Numbers" registry at [URL_IANA_UDP_OPTIONS].</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about UDP options.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpExID">
        <name>udpSafeExperimentalOptionExID</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpSafeExperimentalOptionExID</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD2</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed Experiments ID (ExIDs) in the Experimental option (EXP, Kind=127).</t>
          </dd>
          <dt/>
          <dd>
            <t>The information is encoded in a set of 16-bit fields. Each 16-bit field carries the observed ExID in an EXP option.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>octetArray</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs].</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about ExIDs.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
      <section anchor="udpUExID">
        <name>udpUnsafeExperimentalOptionExID</name>
        <dl>
          <dt>Name:</dt>
          <dd>
            <t>udpUnsafeExperimentalOptionExID</t>
          </dd>
          <dt>ElementID:</dt>
          <dd>
            <t>TBD3</t>
          </dd>
          <dt>Description:</dt>
          <dd>
            <t>Observed Experiments ID (ExIDs) in the UNSAFE Experimental option (UEXP, Kind=254).</t>
          </dd>
          <dt/>
          <dd>
            <t>The information is encoded in a set of 16-bit fields. Each 16-bit field carries the observed ExID in an UEXP option.</t>
          </dd>
          <dt>Abstract Data Type:</dt>
          <dd>
            <t>octetArray</t>
          </dd>
          <dt>Data Type Semantics:</dt>
          <dd>
            <t>identifier</t>
          </dd>
          <dt>Additional Information:</dt>
          <dd>
            <t>See the assignments in the "UDP Experimental Option Experiment Identifiers (UDP ExIDs)" registry at [URL_IANA_UDP_ExIDs].</t>
          </dd>
          <dt/>
          <dd>
            <t>See <xref target="I-D.ietf-tsvwg-udp-options"/> for more details about ExIDs.</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This-Document</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="sec-ex">
      <name>Examples</name>
      <t>Given UDP Kind allocation in <xref section="10" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/> and the option mapping defined in <xref target="udpOptions"/> of this document, fewer octets are likely to be used for Flows with mandatory UDP options.</t>
      <t><xref target="ex-udp"/> shows an example of reported values in a udpOptions IE for a Flow in which End of Options List (EOL, Kind=0) and Alternate payload checksum (APC, Kind=2) options are observed. One octet is sufficient to report these observed options. Concretely, the reported udpOptions IE will be set to 0x05.</t>
      <figure anchor="ex-udp">
        <name>An Example of udpOptions with EOL and APC Options</name>
        <artwork align="center"><![CDATA[
MSB                                                     LSB
                     1                          25
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+-+
|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|0|   |0|0|0|0|0|1|0|1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>Let us now consider a UDP Flow in which both SAFE and UNSAFE Experimental options are observed. Let us also consider that the observed SAFE Experimental options have ExIDs set to 0x9858 and 0xE2D4, and UNSAFE Experimental options have ExIDs set to 0xC3D9 and 0x9858. If udpOptions IE is exported for this Flow, then that IE will have bits in positions 127 (EXP) and 254 (UEXP) set to 1 (<xref target="ex-udp-shared"/>). This example does not make any assumption about the presence of other UDP options.</t>
      <figure anchor="ex-udp-shared">
        <name>An Example of udpOptions with EXP and UEXPOptions</name>
        <artwork align="center"><![CDATA[
MSB                                                     LSB
                    12                          25
 0 1 2 3 ... 7 8 9 0 1 2 3 4 5 6 7 8 9 ... 8 9 0 1 2 3 4 5
+-+-+-+-+...+-+-+-+-+-+-+-+-+-+-+-+-+-+-+...+-+-+-+-+-+-+-+
|X|1|X|X|   |X|X|X|X|X|X|X|X|X|X|X|1|X|X|   |X|X|X|X|X|X|X|
+-+-+-+-+...+-+-+-+-+-+-+-+-++-++-+-+-+-+...+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
      <t>As shown in <xref target="ex-sho"/>, the following IEs are used to report observed ExIDs:</t>
      <ol spacing="normal" type="1"><li>
          <t>udpSafeExperimentalOptionExID IE set to 0x9858E2D4 to report observed ExIDs of SAFE Experimental options.</t>
        </li>
        <li>
          <t>udpUnsafeExperimentalOptionExID IE set to 0xC3D99658 to report the ExIDs of the observed UNSAFE Experimental options.</t>
        </li>
      </ol>
      <figure anchor="ex-sho">
        <name>Example of UDP Experimental option IEs</name>
        <artwork align="center"><![CDATA[
udpSafeExperimentalOptionExID IE:

MSB                                                          LSB
                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              0x9858           |             0xE2D4            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

udpUnsafeExperimentalOptionExID IE:

                     1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|              0xC3D9           |             0x9658            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
      </figure>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document does not introduce new security considerations other than those already discussed in <xref section="8" sectionFormat="of" target="RFC7012"/>.</t>
      <t>The reader may refer to <xref section="22" sectionFormat="of" target="I-D.ietf-tsvwg-udp-options"/> for the security considerations related to UDP options.</t>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <t>This document requests IANA to add the following new IEs to the IANA registry entitled "IP Flow Information Export (IPFIX) Entities" <xref target="IANA-IPFIX"/>:</t>
      <table>
        <name>New IPFIX Information Elements</name>
        <thead>
          <tr>
            <th align="left">Value</th>
            <th align="left">Name</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">udpOptions</td>
            <td align="left">
              <xref target="udpOptions"/> of This-Document</td>
          </tr>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">udpSafeExperimentalOptionExID</td>
            <td align="left">
              <xref target="udpExID"/> of This-Document</td>
          </tr>
          <tr>
            <td align="left">TBD3</td>
            <td align="left">udpUnsafeExperimentalOptionExID</td>
            <td align="left">
              <xref target="udpUExID"/> of This-Document</td>
          </tr>
        </tbody>
      </table>
      <ul empty="true">
        <li>
          <t><xref target="udpOptions"/> uses the abstract data type ("unsigned256") defined in <xref target="I-D.ietf-opsawg-ipfix-tcpo-v6eh"/>.</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7011">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <author fullname="P. Aitken" initials="P." surname="Aitken"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network. In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required. This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process. This document obsoletes RFC 5101.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="77"/>
          <seriesInfo name="RFC" value="7011"/>
          <seriesInfo name="DOI" value="10.17487/RFC7011"/>
        </reference>
        <reference anchor="RFC7012">
          <front>
            <title>Information Model for IP Flow Information Export (IPFIX)</title>
            <author fullname="B. Claise" initials="B." role="editor" surname="Claise"/>
            <author fullname="B. Trammell" initials="B." role="editor" surname="Trammell"/>
            <date month="September" year="2013"/>
            <abstract>
              <t>This document defines the data types and management policy for the information model for the IP Flow Information Export (IPFIX) protocol. This information model is maintained as the IANA "IPFIX Information Elements" registry, the initial contents of which were defined by RFC 5102. This information model is used by the IPFIX protocol for encoding measured traffic information and information related to the traffic Observation Point, the traffic Metering Process, and the Exporting Process. Although this model was developed for the IPFIX protocol, it is defined in an open way that allows it to be easily used in other protocols, interfaces, and applications. This document obsoletes RFC 5102.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7012"/>
          <seriesInfo name="DOI" value="10.17487/RFC7012"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-udp-options">
          <front>
            <title>Transport Options for UDP</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization>Independent Consultant</organization>
            </author>
            <date day="21" month="March" year="2024"/>
            <abstract>
              <t>   Transport protocols are extended through the use of transport header
   options. This document updates RFC 768 (UDP) by indicating the
   location, syntax, and semantics for UDP transport layer options
   within the surplus area after the end of the UDP user data but
   before the end of the IP length.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-udp-options-32"/>
        </reference>
        <reference anchor="RFC0768">
          <front>
            <title>User Datagram Protocol</title>
            <author fullname="J. Postel" initials="J." surname="Postel"/>
            <date month="August" year="1980"/>
          </front>
          <seriesInfo name="STD" value="6"/>
          <seriesInfo name="RFC" value="768"/>
          <seriesInfo name="DOI" value="10.17487/RFC0768"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="IANA-IPFIX" target="https://www.iana.org/assignments/ipfix/ipfix.xhtml">
          <front>
            <title>IP Flow Information Export (IPFIX) Entities</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="RFC6632">
          <front>
            <title>An Overview of the IETF Network Management Standards</title>
            <author fullname="M. Ersue" initials="M." role="editor" surname="Ersue"/>
            <author fullname="B. Claise" initials="B." surname="Claise"/>
            <date month="June" year="2012"/>
            <abstract>
              <t>This document gives an overview of the IETF network management standards and summarizes existing and ongoing development of IETF Standards Track network management protocols and data models. The document refers to other overview documents, where they exist and classifies the standards for easy orientation. The purpose of this document is, on the one hand, to help system developers and users to select appropriate standard management protocols and data models to address relevant management needs. On the other hand, the document can be used as an overview and guideline by other Standard Development Organizations or bodies planning to use IETF management technologies and data models. This document does not cover Operations, Administration, and Maintenance (OAM) technologies on the data-path, e.g., OAM of tunnels, MPLS Transport Profile (MPLS-TP) OAM, and pseudowire as well as the corresponding management models. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6632"/>
          <seriesInfo name="DOI" value="10.17487/RFC6632"/>
        </reference>
        <reference anchor="I-D.ietf-opsawg-ipfix-tcpo-v6eh">
          <front>
            <title>Extended TCP Options and IPv6 Extension Headers IPFIX Information Elements</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Benoît Claise" initials="B." surname="Claise">
              <organization>Huawei</organization>
            </author>
            <date day="15" month="April" year="2024"/>
            <abstract>
              <t>   This document specifies new IP Flow Information Export (IPFIX)
   Information Elements (IEs) to solve issues with existing
   ipv6ExtensionHeaders and tcpOptions IPFIX IEs, especially the ability
   to export any observed IPv6 extension headers or TCP options.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-opsawg-ipfix-tcpo-v6eh-11"/>
        </reference>
        <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="RFC9260">
          <front>
            <title>Stream Control Transmission Protocol</title>
            <author fullname="R. Stewart" initials="R." surname="Stewart"/>
            <author fullname="M. Tüxen" initials="M." surname="Tüxen"/>
            <author fullname="K. Nielsen" initials="K." surname="Nielsen"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>This document describes the Stream Control Transmission Protocol (SCTP) and obsoletes RFC 4960. It incorporates the specification of the chunk flags registry from RFC 6096 and the specification of the I bit of DATA chunks from RFC 7053. Therefore, RFCs 6096 and 7053 are also obsoleted by this document. In addition, RFCs 4460 and 8540, which describe errata for SCTP, are obsoleted by this document.</t>
              <t>SCTP was originally designed to transport Public Switched Telephone Network (PSTN) signaling messages over IP networks. It is also suited to be used for other applications, for example, WebRTC.</t>
              <t>SCTP is a reliable transport protocol operating on top of a connectionless packet network, such as IP. It offers the following services to its users:</t>
              <t>The design of SCTP includes appropriate congestion avoidance behavior and resistance to flooding and masquerade attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9260"/>
          <seriesInfo name="DOI" value="10.17487/RFC9260"/>
        </reference>
        <reference anchor="RFC4340">
          <front>
            <title>Datagram Congestion Control Protocol (DCCP)</title>
            <author fullname="E. Kohler" initials="E." surname="Kohler"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <date month="March" year="2006"/>
            <abstract>
              <t>The Datagram Congestion Control Protocol (DCCP) is a transport protocol that provides bidirectional unicast connections of congestion-controlled unreliable datagrams. DCCP is suitable for applications that transfer fairly large amounts of data and that can benefit from control over the tradeoff between timeliness and reliability. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4340"/>
          <seriesInfo name="DOI" value="10.17487/RFC4340"/>
        </reference>
        <reference anchor="I-D.ietf-tsvwg-udp-options-dplpmtud">
          <front>
            <title>Datagram PLPMTUD for UDP Options</title>
            <author fullname="Gorry Fairhurst" initials="G." surname="Fairhurst">
              <organization>University of Aberdeen</organization>
            </author>
            <author fullname="Tom Jones" initials="T." surname="Jones">
              <organization>University of Aberdeen</organization>
            </author>
            <date day="4" month="January" year="2024"/>
            <abstract>
              <t>   This document specifies how a UDP Options sender implements Datagram
   Packetization Layer Path Maximum Transmission Unit Discovery
   (DPLPMTUD) as a robust method for Path Maximum Transmission Unit
   discovery.  This method uses the UDP Options packetization layer.  It
   allows an application to discover the largest size of datagram that
   can be sent across the network path.  It also provides a way to allow
   the application to periodically verify the current maximum packet
   size supported by a path and to update this when required.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tsvwg-udp-options-dplpmtud-11"/>
        </reference>
      </references>
    </references>
    <?line 247?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Benoît Claise for the discussion on the ordering of IPFIX IEs. Thanks to Paul Aitken for the review and comments.</t>
      <t>Thanks to Tommy Pauly for the tsvart review and Joe Touch for the intdir review.</t>
      <t>Thanks to Thomas Graf for the Shepherd review.</t>
      <t>Thanks to Mahesh Jethanandani for the AD review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
GHrzWl24Vu+gMKeSWhw8991YKQRvaRIySvNQA+dUa6NKJBxxiNdY8yU38PQk
HnF9mEpNqDJXq76ZSEBUiwd8KXbDiWy+DU8hkgPo9mGLMNr1uoAzBTu6urDG
0donJfSwJpBgOuRqhMFEBPc6j9le7/rUWdJ+rfrgwI85mzAqoEgtx+s4ieAq
AxibxzpzKUKYapWTaiFul0tRqU0PXBT42Dpy5cOPN+/XVBA3fy5u3q8ulLXX
j+kceRCBtlmHHbLX7IgdszfsLTtZ2dZsNpefeS/9Hf9g8LM2b9Ha8Q/LjeWv
Nv27eW7zz4a5i5KhwairGvYSZ6IIssqZEdIBZgZd16fFOxPrS4sXAqseEM7P
sA6iZUg3A2gjdURTkYWYH2WvdwLLILXyeaRVOQElnzUmXy+ObrpMSaLA4cnb
o7e0jtZjv3P2+mDrmlYJOT08O7FCUF6TDUZL+Edf9Wgtg+68kYRQLUXUDdtw
dkJTUA4JOpsqbW4PGcRiFJoZiwevaLzkfpmn7TkK8ukOJrS35DS5OeSikhLz
e0HVO3A7eWzo0xB7RrfqYO14xwWgMFdQdar7jxhuu7Ob4aJhfqPZrjKNzWbr
LT6D8X2GPzTKzyv/1j3fPO9mk102WHuiO9otBDCEY/iy3W57mvyVdb8wHfyy
d8Y210Wfiq8oVAufy4ktmUTX89rNLfkO3vpXrQ/Nbq1A3N1aW2x6nebWKLc6
HdrpyTEYfM2vlTPV7zvWk4CzgG0bBXV8q5FstJSVLm6V9Rzu7u7WtO3u8tb9
eYv6miznlp/F0mMCRPX577AGbztM4LD+B3VNrmm9rskafmddV5kLqMRRVoWv
nqU1Nn4HjtnAU5BOQG6QpzKbY9hJ/p+vfLGmel9grjfpQkO70UFttHvJYsLR
DysIc3mUCh7O6QWHXOvlquDbZ++qmMIivicAjhWv8EbmpbBK2Xv7jZwNDMTa
dbp3yEBw3R2/MLX2ulIg5cLWL8vKScXfIf3AhBzHgCwehktc715JswXj+stm
mG5meLvZ+Iq3JBtL76iBsS3+jHnQgmHlAWFZJJILb4EF/EXFrS2ep3G1VNMM
6Sw2u55F9RpttYjDxTaHsqjdmT2XAsC3gL/c+B5Zg66B1r3ytuJ1t71GpbTa
2P+G199832dDHtwjYHrBPQTqcIxjWg0s29xKiPBdYwQhtmgQcHhyTzB4LxL1
r39m7DTiUosCqdZAcF/KlCzofUj74qW7QKQrNyfpmucR68nsHqJeJyYV9Oog
3TGrmBbUrM5+C41zGjkvxoABAVNUh/6sBPTEK3bXB8w/lKntU5c4UTHX7EPK
R0Xvm4mYAhGEq/p/5JD/TtjPAlkC8/9EFuN6Z8WIfwMkoVsyyC4AAA==

-->

</rfc>
