<?xml version="1.0" encoding="us-ascii"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

<!ENTITY RFC2119 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC9293 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9293.xml">
<!ENTITY RFC5382 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5382.xml">
<!ENTITY RFC6691 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6691.xml">
<!ENTITY RFC7323 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7323.xml">
<!ENTITY RFC7413 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7413.xml">
]>


<rfc ipr="trust200902" docName="draft-cmcc-tcp-sro-00" category="exp" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="TCP SRO">The Session Recovery Option (SRO) for TCP</title>

    <author initials="Z." surname="Luo" fullname="Zhaoyu Luo" role="editor">
      <organization>CMCC</organization>
      <address>
        <postal>
          <street>No. 58 Kunlunshan Road</street>
          <city>Suzhou</city>
          <code>215000</code>
          <country>China</country>
        </postal>
        <email>lluozy@yeah.net</email>
      </address>
    </author>

    <date year="2026" month="August" day="11"/>

    <area>Internet</area>
    <workgroup>Network Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 63?>

<t>This document defines the Session Recovery Option (SRO) for TCP. SRO improves the reliability of SNAT and LB services and simplifies the implementation of elastically scaling SNAT/LB clusters. SRO enables a client and a server to exchange their identifiers during connection establishment. When a session needs to be recovered, an endpoint conveys the identifier of the peer to the network node, which uses it to locate the endpoint holding the session backup and recover the session. SRO is optional: endpoints that do not support it behave as if the option did not exist.</t>



    </abstract>



  </front>

  <middle>


<?line 67?>

<section anchor="introduction"><name>Introduction</name>

<t>SNAT and LB are stateful services: session state resides on the serving node, and a single node cannot recover its sessions after a failure. To provide reliable service, operators deploy high-availability (HA) pairs or clusters. Existing elastically scaling SNAT/LB cluster designs are complex to implement, and the most complex part is session recovery and session migration. Moreover, these services are unfriendly to long-lived connections: an idle connection is typically cleaned up by the serving node after a timeout <xref target="RFC5382"/>, breaking the connection.</t>

<t>A novel approach to reliable service is to back up the session state to the client or server side, so that even a single serving node can recover a session after a failure. This approach is embodied in the Available Session Recovery Protocol (ASRP) <xref target="draft-cmcc-asrp"/>, to which readers may refer for the details of session backup and recovery. A key challenge of this approach is locating the endpoint that holds the session backup. Other mechanisms exist, but the Session Recovery Option (SRO) defined in this document addresses this challenge in the most direct way: it locates the backup endpoint in a single step. Moreover, SRO is not limited to session recovery: any mechanism that needs to locate a client or a server can use it.</t>

<t>SRO is a TCP option <xref target="RFC9293"/>. During the TCP handshake, the client and the server exchange their identifiers; when a session must be recovered, an endpoint carries the identifier of the peer, and the network node uses it to locate the endpoint holding the session backup. SRO is lightweight: it is carried only in the SYN, the SYN-ACK, and segments sent on timeout retransmission, adding no overhead to normal data segments. Despite this small cost, SRO is important for the reliability of SNAT and LB services: it simplifies session recovery and session migration in elastically scaling SNAT/LB clusters, and makes them friendly to long-lived connections. With SRO, a session that has been cleaned up after an idle timeout is recovered as soon as a segment carrying the identifier arrives.</t>

</section>
<section anchor="terminology"><name>Terminology</name>

<t>The key words &quot;MUST&quot;, &quot;MUST NOT&quot;, &quot;REQUIRED&quot;, &quot;SHALL&quot;, &quot;SHALL NOT&quot;,
   &quot;SHOULD&quot;, &quot;SHOULD NOT&quot;, &quot;RECOMMENDED&quot;, &quot;NOT RECOMMENDED&quot;, &quot;MAY&quot;, and
   &quot;OPTIONAL&quot; 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>

<t>&quot;SRO&quot; refers to the Session Recovery Option defined in this document. &quot;Client&quot; refers to TCP&#39;s active open side, and &quot;server&quot; refers to TCP&#39;s passive open side. &quot;Network node&quot; refers to a device (e.g., a load balancer or a NAT gateway) that forwards packets and participates in session backup and recovery. &quot;Client identifier&quot; refers to a value, carried in the SRO-Client-Identifier option, that identifies a client within a cluster. Its length is configurable and defaults to 4 octets. &quot;Server identifier&quot; refers to a value, carried in the SRO-Server-Identifier option, that identifies a server within a cluster. Its length is configurable and defaults to 4 octets. &quot;Session backup&quot; refers to session state information stored on an endpoint for the purpose of session recovery.</t>

</section>
<section anchor="the-sro-option"><name>The SRO Option</name>

<t>SRO is negotiated during the TCP handshake, similar to other TCP options, e.g., the Window Scale option <xref target="RFC7323"/> and TCP Fast Open <xref target="RFC7413"/>. During the handshake, each endpoint carries its own identifier: a client includes the SRO-Client-Identifier option in the SYN segment, and a server that supports SRO includes the SRO-Server-Identifier option in the SYN-ACK segment. SRO is only in effect if both options are present. After the handshake, an endpoint carries the identifier of the peer, which it stored during the handshake: a client carries the server identifier, and a server carries the client identifier.</t>

<section anchor="option-formats"><name>Option Formats</name>

<section anchor="sro-client-identifier"><name>SRO-Client-Identifier</name>

<t>The SRO-Client-Identifier option carries the identifier of the client. The identifier length is configurable, from 2 to 8 octets, with a default of 4 octets. The option is 2 + N octets long: 1 octet for the Kind, 1 octet for the Length (Length = N + 2), and N octets for the identifier.</t>

<figure title="SRO-Client-Identifier Option" anchor="SRO-CID"><artwork><![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
                                +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                                |      Kind     |    Length     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                    Client Identifier (N octets)               ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

</section>
<section anchor="sro-server-identifier"><name>SRO-Server-Identifier</name>

<t>The SRO-Server-Identifier option has the same format as the SRO-Client-Identifier option, except that it carries the identifier of the server.</t>

</section>
</section>
<section anchor="option-semantics"><name>Option Semantics</name>

<t>A client MAY include the SRO-Client-Identifier option in a SYN segment; the client decides whether to use SRO.</t>

<t>A server that supports SRO and receives a SYN segment with the SRO-Client-Identifier option MUST include the SRO-Server-Identifier option in the SYN-ACK segment.</t>

<t>A server that does not support SRO MUST NOT include the SRO-Server-Identifier option in the SYN-ACK segment.</t>

<t>The length of an identifier is configurable, from 2 to 8 octets, with a default of 4 octets; each endpoint determines the length of its own identifier. The Length field MUST equal the identifier length plus 2.</t>

<t>A client that receives the SRO-Server-Identifier option SHOULD store the server identifier for the lifetime of the connection.</t>

<t>A server that receives the SRO-Client-Identifier option SHOULD store the client identifier for the lifetime of the connection.</t>

</section>
</section>
<section anchor="sro-operation"><name>SRO Operation</name>

<section anchor="connection-establishment"><name>Connection Establishment</name>

<t>During the TCP handshake, the client and the server exchange the SRO options according to the rules in Section 3.2. After the handshake, each endpoint has stored the identifier of the peer and conveys it for session recovery as described in Section 4.2.</t>

</section>
<section anchor="session-recovery"><name>Session Recovery</name>

<t>By default, an endpoint conveys the identifier on timeout retransmission.</t>

<t>In a load-balancing cluster, where the session state is backed up to the server, a client conveys the server identifier on timeout retransmission. The network node uses the identifier to locate the server holding the backup and recover the session.</t>

<figure title="Session recovery in a load-balancing cluster" anchor="SRO-REC"><artwork><![CDATA[
                          load-balancing
client                     network node                    server
|                               |                               |
| ------ SYN + Client-ID -----> | ----- SYN + Client-ID ------> |
| <---- SYN-ACK + Server-ID --- | <--- SYN-ACK + Server-ID ---- |
|                               |                               |
| <---------- data -----------> | <---------- data -----------> |
|                               |                               |
|   - - - (session lost) - - - x|x - - - (session lost) - - -   |
|                               |                               |
|                               |                               |
|        retransmission         |                               |
| ------------ + -------------> |                               |
|           Server-ID           |                               |
|                               |                               |
|                               | ------ recovery query ------> |
|                               | <----- session state -------- |
|                               |     (session recovered)       |
|                               |                               |
| <---------- data -----------> | <---------- data -----------> |
]]></artwork></figure>

<t><xref target="SRO-REC"/> shows the recovery flow in a load-balancing cluster, where the client conveys the server identifier. The flow in a SNAT cluster is symmetric: the server conveys the client identifier, and the network node locates the client holding the backup. The detailed recovery procedures are described in the Available Session Recovery Protocol (ASRP) <xref target="draft-cmcc-asrp"/>.</t>

<t>In a SNAT cluster, where the session state is backed up to the client, a server conveys the client identifier on timeout retransmission. The network node uses the identifier to locate the client holding the backup and recover the session.</t>

<t>How the network node recovers a session is out of the scope of this document. It is suggested that the node use the Available Session Recovery Protocol (ASRP) <xref target="draft-cmcc-asrp"/> to recover the session; however, SRO does not depend on ASRP.</t>

<t>The endpoint includes the identifier of the peer stored during the handshake:</t>

<t><list style="symbols">
  <t>in the retransmitted segment, if the resulting segment length does not exceed the MTU, taking the TCP option length into account as described in <xref target="RFC6691"/>; or</t>
  <t>in a separate ACK segment, otherwise.</t>
</list></t>

<t>The ACK segment is used only to convey the identifier and MAY be discarded by the network node after the identifier is extracted.</t>

</section>
<section anchor="per-segment-mode"><name>Per-Segment Mode</name>

<t>In the per-segment mode, an endpoint MAY be configured to include the identifier of the peer in every segment of a connection, instead of only on timeout retransmission. The network node can then recover the session at any time, without depending on retransmission timing. This mode is intended only for services with extremely high requirements on both reliability and recovery speed; for most deployments, the default mode is sufficient and the per-segment mode is not needed. It is disabled by default, as it adds 2 + N octets to every segment.</t>

</section>
</section>
<section anchor="compatibility"><name>Compatibility</name>

<t>Clients that do not support SRO do not include the SRO-Client-Identifier option in the SYN segment, and servers that do not support SRO do not include the SRO-Server-Identifier option in the SYN-ACK segment. Such connections behave exactly as connections without SRO, and session recovery falls back to the mechanisms implemented by the network node. Similarly, if the SRO options are removed by an intermediate device, the endpoints operate without identifiers. SRO is designed for the common deployment where a single tier of SNAT or LB nodes sits between the client and the server; in multi-tier deployments, only the tier closest to the client or the server can use SRO.</t>

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

<t>A forged identifier cannot recover a non-existent session, because recovery succeeds only if the session backup actually exists on the identified endpoint. A segment carrying an identifier triggers at most one recovery query, which is no more than the number of queries triggered by other recovery mechanisms.</t>

<t>How a network node maps an identifier to an endpoint address is an implementation matter. A node SHOULD ignore an identifier that it cannot map to a known endpoint, and SHOULD rate-limit recovery queries (e.g., per session or per source) to mitigate flooding.</t>

<t>An identifier SHOULD be randomly assigned or derived with a secret key, rather than being derived directly from the endpoint IP address, so that internal addressing information is not exposed to third parties.</t>

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

<t>IANA is requested to allocate two TCP option Kind numbers from the TCP option kind registry for the Session Recovery Option:</t>

<texttable>
      <ttcol align='left'>Kind</ttcol>
      <ttcol align='left'>Length</ttcol>
      <ttcol align='left'>Meaning</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>TBD-A</c>
      <c>variable</c>
      <c>SRO-Client-Identifier</c>
      <c>This document</c>
      <c>TBD-B</c>
      <c>variable</c>
      <c>SRO-Server-Identifier</c>
      <c>This document</c>
</texttable>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">

&RFC2119;
&RFC8174;
&RFC9293;


    </references>

    <references title='Informative References' anchor="sec-informative-references">

&RFC5382;
&RFC6691;
&RFC7323;
&RFC7413;
<reference anchor="draft-cmcc-asrp" target="https://datatracker.ietf.org/doc/html/draft-cmcc-asrp">
  <front>
    <title>Available Session Recovery Protocol</title>
    <author initials="Z." surname="Luo" fullname="Zhaoyu Luo">
      <organization>CMCC</organization>
    </author>
    <author initials="H." surname="Yan" fullname="Haishuang Yan">
      <organization>CMCC</organization>
    </author>
    <date year="2026"/>
  </front>
  <seriesInfo name="Internet-Draft" value="draft-cmcc-asrp"/>
</reference>


    </references>

</references>


<?line 200?>

<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>The authors would like to thank all individuals who have provided valuable feedback and contributions during the development of this document.</t>

</section>


  </back>

<!-- ##markdown-source:
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

-->

</rfc>

