<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<?rfc tocompact="yes"?>
<?rfc tocindent="yes"?>
<?rfc compact="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bonica-tcpm-extended-options-05" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="TCP-U">An Upgraded TCP Session Type</title>
    <seriesInfo name="Internet-Draft" value="draft-bonica-tcpm-extended-options-05"/>
    <author initials="R." surname="Bonica" fullname="Ron Bonica">
      <organization>HPE</organization>
      <address>
        <postal>
          <city>Herndon</city>
          <region>Virginia</region>
          <country>USA</country>
        </postal>
        <email>ronald.bonica@hpe.com</email>
      </address>
    </author>
    <author initials="T." surname="Li" fullname="Tony Li">
      <organization>HPE</organization>
      <address>
        <postal>
          <city>Sunnyvale</city>
          <region>California</region>
          <country>USA</country>
        </postal>
        <email>tony.li@tony.li</email>
      </address>
    </author>
    <author initials="P." surname="Chen" fullname="Ping Chen">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <email>ping.chen@hpe.com</email>
      </address>
    </author>
    <author initials="P." surname="Kumar" fullname="Prashant Kumar">
      <organization>HPE</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>prashant.kumar5@hpe.com</email>
      </address>
    </author>
    <author initials="R." surname="Thomas" fullname="Reji Thomas">
      <organization>Arista Networks</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>reji.thomas@arista.com</email>
      </address>
    </author>
    <author initials="A." surname="Sujeet Nayak" fullname="Sujeet Nayak Ammunje">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <country>India</country>
        </postal>
        <email>sua@cisco.com</email>
      </address>
    </author>
    <author initials="A." surname="Banerjee" fullname="Ayan Banerjee">
      <organization>Cisco Systems</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>ayabaner@cisco.com</email>
      </address>
    </author>
    <date year="2026" month="August" day="28"/>
    <area>Transport</area>
    <workgroup>TCPM Working Group</workgroup>
    <keyword>TCP</keyword>
    <abstract>
      <?line 90?>

<t>Currently, TCP maintains ordinary sessions (SES-O) in which ordinary segments (SEG-O) are exchanged. Each SEG-O can accommodate up to 40 octets of options.</t>
      <t>In the future, applications may require more than 40 octets of options. For example, an application may use a 36-byte TCP Authentication Option (TCP-AO), leaving insufficient space for other required options.</t>
      <t>Therefore, this document describes an experiment in which upgraded sessions (SES-U) and upgraded segments (SEG-U) are introduced. Each SEG-U can accommodate up to 1,016 octets of Individual Options.</t>
    </abstract>
  </front>
  <middle>
    <?line 98?>

<section anchor="intro">
      <name>Introduction</name>
      <t><xref target="RFC9293"/> defines TCP sessions and segments. In this document, those sessions and segments are called ordinary sessions (SES-O) and ordinary segments (SEG-O). <xref target="tcpseg"/> depicts an SEG-O.</t>
      <figure anchor="tcpseg">
        <name>Ordinary TCP Segment (SEG-O)</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="384" width="568" viewBox="0 0 568 384" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,304" fill="none" stroke="black"/>
              <path d="M 72,160 L 72,224" fill="none" stroke="black"/>
              <path d="M 136,160 L 136,224" fill="none" stroke="black"/>
              <path d="M 152,160 L 152,224" fill="none" stroke="black"/>
              <path d="M 168,160 L 168,224" fill="none" stroke="black"/>
              <path d="M 184,160 L 184,224" fill="none" stroke="black"/>
              <path d="M 200,160 L 200,224" fill="none" stroke="black"/>
              <path d="M 216,160 L 216,224" fill="none" stroke="black"/>
              <path d="M 232,160 L 232,224" fill="none" stroke="black"/>
              <path d="M 248,160 L 248,224" fill="none" stroke="black"/>
              <path d="M 264,64 L 264,96" fill="none" stroke="black"/>
              <path d="M 264,160 L 264,256" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,288" fill="none" stroke="black"/>
              <path d="M 520,336 L 520,352" fill="none" stroke="black"/>
              <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
              <path d="M 8,128 L 520,128" fill="none" stroke="black"/>
              <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
              <path d="M 8,224 L 520,224" fill="none" stroke="black"/>
              <path d="M 8,256 L 520,256" fill="none" stroke="black"/>
              <path d="M 8,288 L 520,288" fill="none" stroke="black"/>
              <path d="M 8,352 L 520,352" fill="none" stroke="black"/>
              <g class="text">
                <text x="8" y="36">0</text>
                <text x="168" y="36">1</text>
                <text x="328" y="36">2</text>
                <text x="488" y="36">3</text>
                <text x="8" y="52">0</text>
                <text x="24" y="52">1</text>
                <text x="40" y="52">2</text>
                <text x="56" y="52">3</text>
                <text x="72" y="52">4</text>
                <text x="88" y="52">5</text>
                <text x="104" y="52">6</text>
                <text x="120" y="52">7</text>
                <text x="136" y="52">8</text>
                <text x="152" y="52">9</text>
                <text x="168" y="52">0</text>
                <text x="184" y="52">1</text>
                <text x="200" y="52">2</text>
                <text x="216" y="52">3</text>
                <text x="232" y="52">4</text>
                <text x="248" y="52">5</text>
                <text x="264" y="52">6</text>
                <text x="280" y="52">7</text>
                <text x="296" y="52">8</text>
                <text x="312" y="52">9</text>
                <text x="328" y="52">0</text>
                <text x="344" y="52">1</text>
                <text x="360" y="52">2</text>
                <text x="376" y="52">3</text>
                <text x="392" y="52">4</text>
                <text x="408" y="52">5</text>
                <text x="424" y="52">6</text>
                <text x="440" y="52">7</text>
                <text x="456" y="52">8</text>
                <text x="472" y="52">9</text>
                <text x="488" y="52">0</text>
                <text x="504" y="52">1</text>
                <text x="544" y="68">=</text>
                <text x="116" y="84">Source</text>
                <text x="164" y="84">Port</text>
                <text x="368" y="84">Destination</text>
                <text x="436" y="84">Port</text>
                <text x="236" y="116">Sequence</text>
                <text x="300" y="116">Number</text>
                <text x="544" y="116">T</text>
                <text x="544" y="132">C</text>
                <text x="228" y="148">Acknowledgment</text>
                <text x="316" y="148">Number</text>
                <text x="544" y="148">P</text>
                <text x="44" y="180">Data</text>
                <text x="144" y="180">C</text>
                <text x="160" y="180">E</text>
                <text x="176" y="180">U</text>
                <text x="192" y="180">A</text>
                <text x="208" y="180">P</text>
                <text x="224" y="180">R</text>
                <text x="240" y="180">S</text>
                <text x="256" y="180">F</text>
                <text x="544" y="180">H</text>
                <text x="44" y="196">Offset</text>
                <text x="104" y="196">Rsrvd</text>
                <text x="144" y="196">W</text>
                <text x="160" y="196">C</text>
                <text x="176" y="196">R</text>
                <text x="192" y="196">C</text>
                <text x="208" y="196">S</text>
                <text x="224" y="196">S</text>
                <text x="240" y="196">Y</text>
                <text x="256" y="196">I</text>
                <text x="388" y="196">Window</text>
                <text x="544" y="196">E</text>
                <text x="144" y="212">R</text>
                <text x="160" y="212">E</text>
                <text x="176" y="212">G</text>
                <text x="192" y="212">K</text>
                <text x="208" y="212">H</text>
                <text x="224" y="212">T</text>
                <text x="240" y="212">N</text>
                <text x="256" y="212">N</text>
                <text x="544" y="212">A</text>
                <text x="544" y="228">D</text>
                <text x="132" y="244">Checksum</text>
                <text x="364" y="244">Urgent</text>
                <text x="424" y="244">Pointer</text>
                <text x="544" y="244">E</text>
                <text x="544" y="260">R</text>
                <text x="264" y="276">[Options]</text>
                <text x="544" y="292">=</text>
                <text x="520" y="308">:</text>
                <text x="8" y="324">:</text>
                <text x="260" y="324">Data</text>
                <text x="520" y="324">:</text>
                <text x="8" y="340">:</text>
                <text x="544" y="356">=</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  =
    |          Source Port          |       Destination Port        |   
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    |                        Sequence Number                        |  T
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  C
    |                    Acknowledgment Number                      |  P
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  
    |  Data |       |C|E|U|A|P|R|S|F|                               |  H  
    | Offset| Rsrvd |W|C|R|C|S|S|Y|I|            Window             |  E 
    |       |       |R|E|G|K|H|T|N|N|                               |  A 
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  D 
    |           Checksum            |         Urgent Pointer        |  E
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  R
    |                           [Options]                           |   
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  =
    |                                                               :  
    :                             Data                              :   
    :                                                               |  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+  = 
]]></artwork>
        </artset>
      </figure>
      <t>Every SEG-O contains a header. Some SEG-O's also contain data.</t>
      <t>Each field in the header, except for the last, has a fixed length.
These initial fixed-length fields occupy 20 octets, collectively.  One of these fields is called the Data Offset field.</t>
      <t>The last field in the header contains options <xref target="TCPOPTS"/>. Its length varies from 0 to 40 octets.</t>
      <t>The Data Offset field identifies the boundary between the segment header and the segment data. It is measured in 4-octet units. The Data Offset field also determines the length of the Options field. This is because the Options field consumes all of the space between the initial fixed-length fields and the data.</t>
      <t>The Data Offset field contains 4 bits. So, its nominal value ranges from 0 to 15.
However, values 0 to 4 are invalid. This is because data must follow the fixed-length header fields, and those fields occupy 20 octets.</t>
      <t>Because the value of the Data Offset field cannot exceed 15, the data offset cannot exceed 60 and the length of the Options field cannot exceed 40
(i.e., 60 minus 20).</t>
      <t>In the future, applications may require more than 40 octets of options. For example, an application may use a 36-byte TCP Authentication Option (TCP-AO) <xref target="RFC5925"/> <xref target="I-D.bonica-tcpm-tcp-ao-long-algs"/>, leaving insufficient space for other required options.</t>
      <t>Therefore, this document describes an experiment in which upgraded sessions (SES-U) exchange upgraded segments (SEG-U). Each SEG-U can accommodate up to 1,016 octets of Individual Options.</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 BCP14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="seg-o-versus-seg-u">
      <name>SEG-O Versus SEG-U</name>
      <t>SEG-O and SEG-U are semantically identical, except that SEG-O can accommodate only 40 octets of options while SEG-U can accommodate 1,016 octets of Individual Options.</t>
      <t>SEG-O and SEG-U share the format depicted in <xref target="tcpseg"/>. However:</t>
      <ul spacing="normal">
        <li>
          <t>In SEG-O, the Data Offset value ranges from 5 to 15, inclusive. Values 0 to 4 are invalid.</t>
        </li>
        <li>
          <t>In SEG-U, the Data Offset value <bcp14>MUST</bcp14> be equal to 0. All other values are invalid.</t>
        </li>
      </ul>
      <t>The Data Offset value is the only attribute by which a SEG-O can be distinguished from a SEG-U. In a SEG-U, the Options field <bcp14>MUST</bcp14> be as depicted in <xref target="extopt"/>.</t>
      <figure anchor="extopt">
        <name>SEG-U TCP Options</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="192" width="560" viewBox="0 0 560 192" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
              <path d="M 8,64 L 8,112" fill="none" stroke="black"/>
              <path d="M 136,64 L 136,96" fill="none" stroke="black"/>
              <path d="M 520,64 L 520,96" fill="none" stroke="black"/>
              <path d="M 8,64 L 520,64" fill="none" stroke="black"/>
              <path d="M 8,96 L 520,96" fill="none" stroke="black"/>
              <path d="M 8,160 L 520,160" fill="none" stroke="black"/>
              <g class="text">
                <text x="8" y="36">0</text>
                <text x="168" y="36">1</text>
                <text x="328" y="36">2</text>
                <text x="488" y="36">3</text>
                <text x="8" y="52">0</text>
                <text x="24" y="52">1</text>
                <text x="40" y="52">2</text>
                <text x="56" y="52">3</text>
                <text x="72" y="52">4</text>
                <text x="88" y="52">5</text>
                <text x="104" y="52">6</text>
                <text x="120" y="52">7</text>
                <text x="136" y="52">8</text>
                <text x="152" y="52">9</text>
                <text x="168" y="52">0</text>
                <text x="184" y="52">1</text>
                <text x="200" y="52">2</text>
                <text x="216" y="52">3</text>
                <text x="232" y="52">4</text>
                <text x="248" y="52">5</text>
                <text x="264" y="52">6</text>
                <text x="280" y="52">7</text>
                <text x="296" y="52">8</text>
                <text x="312" y="52">9</text>
                <text x="328" y="52">0</text>
                <text x="344" y="52">1</text>
                <text x="360" y="52">2</text>
                <text x="376" y="52">3</text>
                <text x="392" y="52">4</text>
                <text x="408" y="52">5</text>
                <text x="424" y="52">6</text>
                <text x="440" y="52">7</text>
                <text x="456" y="52">8</text>
                <text x="472" y="52">9</text>
                <text x="488" y="52">0</text>
                <text x="504" y="52">1</text>
                <text x="76" y="84">Length</text>
                <text x="316" y="84">Reserved</text>
                <text x="520" y="116">:</text>
                <text x="8" y="132">:</text>
                <text x="228" y="132">Individual</text>
                <text x="304" y="132">Options</text>
                <text x="520" y="132">:</text>
                <text x="8" y="148">:</text>
                <text x="520" y="148">:</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
    0                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 
    |     Length    |                  Reserved                     |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |                                                               :
    :                      Individual Options                       :   
    :                                                               :  
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+    
]]></artwork>
        </artset>
      </figure>
      <ul spacing="normal">
        <li>
          <t>Length: 8-bit unsigned integer. Represents the length of TCP Options, including the Length and Reserved fields. Measured in 4-octet units. Value <bcp14>MUST</bcp14> be 1 or greater. A value of 1 indicates that only the Length and Reserved fields are present, with no Individual Options (i.e., the options region is empty).</t>
        </li>
        <li>
          <t>Reserved: <bcp14>MUST</bcp14> be set to 0 by the sender and <bcp14>MUST</bcp14> be ignored by the receiver.</t>
        </li>
        <li>
          <t>Individual Options: Defined in <xref target="TCPOPTS"/>.</t>
        </li>
      </ul>
      <t>In a SEG-U, the receiver <bcp14>MUST</bcp14> use the Length field to determine the
boundary between the Options field and segment data. Segment data begins at
byte offset 20 + (Length x 4) from the start of the TCP header, where
20 is the length of the fixed-length header fields. This replaces the role
of the Data Offset field, which <bcp14>MUST NOT</bcp14> be used as an offset in a SEG-U.</t>
      <t>Before accessing the Options field or segment data, the receiver <bcp14>MUST</bcp14> verify
that the received TCP segment is at least 20 + (Length x 4) octets long. If
the received TCP segment is shorter than the length indicated by the Length
field, the receiver <bcp14>MUST</bcp14> discard the SEG-U as malformed.</t>
      <t>The TCP checksum for a SEG-U <bcp14>MUST</bcp14> be calculated and validated as specified
in <xref target="RFC5925"/>. It covers the IP pseudo-header, the entire TCP header
(including the fixed-length fields, the Data Offset field, and the complete
Options field), and the segment data. When the MKT TCP option flag excludes TCP options from the MAC, the four-byte Length/Reserved prefix and TCP-AO (with its MAC field zeroed) are still included in the MAC input.</t>
      <t>The receiver <bcp14>MUST</bcp14> validate the checksum before processing Individual Options or delivering segment data.</t>
      <t>A SEG-U can include up to 1,016 octets of Individual Options. However, options consume space within the path MTU, leaving less space for segment data and increasing the risk that a segment will exceed the path MTU. Therefore, although larger options fields may be required in the distant future, TCP options are <bcp14>RECOMMENDED</bcp14> not to exceed 256 octets.</t>
    </section>
    <section anchor="ses-o-versus-ses-u">
      <name>SES-O Versus SES-U</name>
      <t>TCP clients initiate a SES-O by sending a SEG-O with the SYN bit set. The TCP server <bcp14>MAY</bcp14> respond with a SEG-O with the SYN and ACK bits set. However, the TCP server  <bcp14>MUST NOT</bcp14> respond with a SEG-U.</t>
      <t>Within the context of a SES-O, SEG-O's can be sent, received and processed. However, SEG-U's <bcp14>MUST NOT</bcp14> be sent. If they are received, they <bcp14>MUST</bcp14> be silently discarded.</t>
      <t>Likewise, TCP clients initiate a SES-U by sending a SEG-U with the SYN bit set. The TCP server <bcp14>MAY</bcp14> respond with a SEG-U with the SYN and ACK bits set. However, the TCP server  <bcp14>MUST NOT</bcp14> respond with a SEG-O.</t>
      <t>Within the context of a SES-U, SEG-U's can be sent, received and processed. However, SEG-O's <bcp14>MUST NOT</bcp14> be sent. If they are received, they <bcp14>MUST</bcp14> be silently discarded.</t>
      <t>In all other respects, a SES-U conforms to the specifications of <xref target="RFC9293"/>.</t>
    </section>
    <section anchor="tcp-ao-considerations">
      <name>TCP-AO Considerations</name>
      <t>This document is compliant with TCP-AO <xref target="RFC5925"/>. According to <xref target="RFC5925"/>, the Master Key Tuple (MKT) has a TCP option flag.  This flag indicates whether TCP options other than TCP-AO are included in the MAC calculation.  When options are included, the content of all options, in the order present, is included in the MAC, with TCP-AO's MAC field zeroed out.  When the
options are not included, all options other than TCP-AO are excluded from all MAC calculations (skipped over, not zeroed).</t>
      <t>In order to remain compliant with <xref target="RFC5925"/>, the first 4 octets of the Options field <bcp14>MUST</bcp14> be included in the MAC calculation, regardless of whether the TCP option flag is set.</t>
    </section>
    <section anchor="backward">
      <name>Backwards Compatibility</name>
      <t>Legacy TCP implementations support SES-O only. TCP implementations participating in this experiment support both SES-O and SES-U. Therefore:</t>
      <ul spacing="normal">
        <li>
          <t>A legacy TCP client can establish an SES-O with TCP server participating in this experiment.</t>
        </li>
        <li>
          <t>A TCP client participating in this experiment can establish an SES-O with a legacy server.</t>
        </li>
        <li>
          <t>A TCP client participating in this experiment can establish an SES-U with a TCP server participating in this experiment.</t>
        </li>
      </ul>
      <t>However, a TCP client participating in this experiment cannot establish an SES-U with a legacy server. The legacy server will silently discard the SEG-U SYN and the three-way handshake will time out.</t>
    </section>
    <section anchor="mid">
      <name>Middleboxes and Accelerators</name>
      <t>Legacy middleboxes and hardware accelerators may discard, reject, or mishandle packets with Data Offset equal to 0. So, when a TCP client sends a SEG-U with the SYN bit set and receives no response, it cannot tell whether the packet was discarded or mishandled by a middlebox or accelerator, or discarded by the server.</t>
      <t>Regardless of where the packet was ignored, the client observes the behavior described in <xref target="backward"/> and behaves as if the packet were ignored by a legacy server.</t>
    </section>
    <section anchor="applicability-and-disclaimer">
      <name>Applicability and Disclaimer</name>
      <t>Given the limitations mentioned in <xref target="backward"/> and <xref target="mid"/>, TCP clients participating in this experiment <bcp14>SHOULD</bcp14> initiate a SES-U only under the following conditions:</t>
      <ul spacing="normal">
        <li>
          <t>When the TCP peer is known to be participating in the experiment and capable of supporting SES-U</t>
        </li>
        <li>
          <t>When the application requires more than 40 octets of  options and the TCP session should not be established unless 1,016 octets of Individual Options can be supported.</t>
        </li>
      </ul>
      <t>Furthermore, TCP clients participating in this experiment <bcp14>SHOULD NOT</bcp14> initiate a SES-U in the presence of legacy middleboxes.</t>
    </section>
    <section anchor="application-layer-considerations">
      <name>Application Layer Considerations</name>
      <t>In order to acheive backwards compatibility at the application layer, an application may initiate two separate TCP sessions with a peer, with one session being a SES-U and the other being a SES-O. Depending upon which session or sessions initiate successfully, the application uses one session and terminates the other. This approach is similar to that described in Happy Eyeballs <xref target="RFC6555"/>.</t>
      <t>Because this is orchestrated at the application layer, it is beyond the scope of this document.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document inherits security considerations from <xref target="RFC9293"/>.</t>
      <t>Setting the Data Offset field to 0 intentionally violates <xref target="RFC9293"/> Section 3.1, which mandates that the Data Offset field <bcp14>MUST</bcp14> be 5 or greater. This approach is acceptable because:</t>
      <ul spacing="normal">
        <li>
          <t><xref target="RFC9293"/> compliant implementations will reject or discard segments with invalid Data Offset values (less than 5) before processing options. This ensures that legacy TCP implementations cannot be exploited by SEG-U segments, as the segments will be discarded at the validation stage rather than processed.</t>
        </li>
        <li>
          <t>Upgraded TCP implementations <bcp14>MUST</bcp14> validate that the Data Offset field is either within the range [5, 15] (indicating a SEG-O) or exactly 0 (indicating a SEG-U). Any other value is malformed and <bcp14>MUST</bcp14> be discarded. Implementations <bcp14>MUST NOT</bcp14> attempt to infer meaning from intermediate values.</t>
        </li>
        <li>
          <t>Legacy middleboxes that strictly validate TCP headers per <xref target="RFC9293"/> will discard or ignore SEG-U segments, which is the desired behavior for backward compatibility. Middleboxes that do not validate Data Offset values may forward SEG-U segments unchanged.</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no IANA requests.</t>
    </section>
    <section anchor="experimental-results">
      <name>Experimental Results</name>
      <t>Parties participating in this experiment should publish experimental results within one year of the publication of this document. Experimental results should address the following:</t>
      <ul spacing="normal">
        <li>
          <t>Effort required to deploy
          </t>
          <ul spacing="normal">
            <li>
              <t>Was deployment incremental or network-wide?</t>
            </li>
            <li>
              <t>Was there a need to synchronize configurations at each node or could nodes be configured independently?</t>
            </li>
            <li>
              <t>Did the deployment require hardware upgrade?</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Scale of deployment</t>
        </li>
        <li>
          <t>Interoperability
          </t>
          <ul spacing="normal">
            <li>
              <t>Did you deploy two interoperable implementations?</t>
            </li>
            <li>
              <t>Did you experience interoperability problems?</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Effectiveness and sufficiency of OAM mechanisms
          </t>
          <ul spacing="normal">
            <li>
              <t>Did Wireshark work?</t>
            </li>
            <li>
              <t>Did TCPDUMP work?</t>
            </li>
          </ul>
        </li>
      </ul>
      <section anchor="success-criteria">
        <name>Success Criteria</name>
        <t>Successful experimental deployment <bcp14>SHOULD</bcp14> demonstrate the following:</t>
        <ol spacing="normal" type="1"><li>
            <t>Implementation and testing by at least two independent developers or organizations</t>
          </li>
          <li>
            <t>Interoperability validation between implementations, demonstrating that SEG-U segments are correctly generated and processed</t>
          </li>
          <li>
            <t>At least one deployment in a testbed or production environment</t>
          </li>
          <li>
            <t>No critical security vulnerabilities discovered during the experiment</t>
          </li>
          <li>
            <t>Positive or neutral feedback regarding middlebox compatibility and packet handling</t>
          </li>
        </ol>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>The authors wish to acknowledge Keshawn Hamlin, Jordan Head, C. M. Heard, Rahul Khali, Amalesh Maity, Erin MacNeil, Bob Briscoe, Jainam Parikh, Joe Touch and Michael Tuexen for their review and helpful comments.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5925">
          <front>
            <title>The TCP Authentication Option</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="R. Bonica" initials="R." surname="Bonica"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>This document specifies the TCP Authentication Option (TCP-AO), which obsoletes the TCP MD5 Signature option of RFC 2385 (TCP MD5). TCP-AO specifies the use of stronger Message Authentication Codes (MACs), protects against replays even for long-lived TCP connections, and provides more details on the association of security with TCP connections than TCP MD5. TCP-AO is compatible with either a static Master Key Tuple (MKT) configuration or an external, out-of-band MKT management mechanism; in either case, TCP-AO also protects connections when using the same MKT across repeated instances of a connection, using traffic keys derived from the MKT, and coordinates MKT changes between endpoints. The result is intended to support current infrastructure uses of TCP MD5, such as to protect long-lived connections (as used, e.g., in BGP and LDP), and to support a larger set of MACs with minimal other system and operational changes. TCP-AO uses a different option identifier than TCP MD5, even though TCP-AO and TCP MD5 are never permitted to be used simultaneously. TCP-AO supports IPv6, and is fully compatible with the proposed requirements for the replacement of TCP MD5. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5925"/>
          <seriesInfo name="DOI" value="10.17487/RFC5925"/>
        </reference>
        <reference anchor="RFC6555">
          <front>
            <title>Happy Eyeballs: Success with Dual-Stack Hosts</title>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="A. Yourtchenko" initials="A." surname="Yourtchenko"/>
            <date month="April" year="2012"/>
            <abstract>
              <t>When a server's IPv4 path and protocol are working, but the server's IPv6 path and protocol are not working, a dual-stack client application experiences significant connection delay compared to an IPv4-only client. This is undesirable because it causes the dual- stack client to have a worse user experience. This document specifies requirements for algorithms that reduce this user-visible delay and provides an algorithm. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6555"/>
          <seriesInfo name="DOI" value="10.17487/RFC6555"/>
        </reference>
        <reference anchor="I-D.bonica-tcpm-tcp-ao-long-algs">
          <front>
            <title>Cryptographic Algorithms That Produce 256-bit MACs For Use With TCP-AO</title>
            <author fullname="Ron Bonica" initials="R. P." surname="Bonica">
              <organization>HPE</organization>
            </author>
            <author fullname="Tony Li" initials="T." surname="Li">
              <organization>HPE</organization>
            </author>
            <author fullname="Ping Chen" initials="P." surname="Chen">
              <organization>HPE</organization>
            </author>
            <author fullname="Reji Thomas" initials="R." surname="Thomas">
              <organization>Arista Networks</organization>
            </author>
            <author fullname="Sujeet Nayak Ammunje" initials="S. N." surname="Ammunje">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Ayan Banerjee" initials="A." surname="Banerjee">
              <organization>Cisco Systems</organization>
            </author>
            <date day="3" month="August" year="2026"/>
            <abstract>
              <t>   RFC5926 creates a list of cryptographic algorithms that can be used
   with TCP-AO.  This document expands that list, adding two Message
   Authentication Code (MAC) algorithms, HMAC-SHA256 and KMAC256.  For
   each MAC algorithm, a corresponding Key Derivation Function (KDF) is
   also added.

   The MAC algorithms described by this document produce 256-bit (i.e.,
   32-byte) MACs.  When 32-byte MACs are encoded in TCP-AO, the TCP-AO
   consumes 36 of the 40 bytes available for TCP options.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bonica-tcpm-tcp-ao-long-algs-05"/>
        </reference>
        <reference anchor="I-D.briscoe-tcpm-inner-space">
          <front>
            <title>Inner Space for TCP Options</title>
            <author fullname="Bob Briscoe" initials="B." surname="Briscoe">
              <organization>BT</organization>
            </author>
            <date day="27" month="October" year="2014"/>
            <abstract>
              <t>   This document describes an experimental method to extend the limited
   space for control options in every segment of a TCP connection.  It
   can use a dual handshake so that, from the very first SYN segment,
   extra option space can immediately start to be used optimistically.
   At the same time a dual handshake prevents a legacy server from
   getting confused and sending the control options to the application
   as user-data.  The dual handshake is only one strategy - a single
   handshake will usually suffice once deployment has got started.  The
   protocol is designed to traverse most known middleboxes including
   connection splitters, because it sits wholly within the TCP Data.  It
   also provides reliable ordered delivery for control options.
   Therefore, it should allow new TCP options to be introduced i) with
   minimal middlebox traversal problems; ii) with incremental deployment
   from legacy servers; iii) without an extra round of handshaking delay
   iv) without having to provide its own loss recovery and ordering
   mechanism and v) without arbitrary limits on available space.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-briscoe-tcpm-inner-space-01"/>
        </reference>
        <reference anchor="TCPOPTS">
          <front>
            <title>Transmission Control Protocol (TCP) Parameters -</title>
            <author>
              <organization>Internet Assigned Numbers Authority (IANA)</organization>
            </author>
            <date/>
          </front>
          <seriesInfo name="Web" value="&lt;https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-parameters-1&gt;"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
FvONVgvbe1BJTg5NF7b461JRFP0vw7aNcQ0+AAA=

-->

</rfc>
