<?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 RFC2663 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2663.xml">
<!ENTITY RFC5382 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5382.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-01" 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="13"/>

    <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 Source Network Address Translation (SNAT) and load balancing (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 <xref target="RFC2663"/> 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 needs to 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 option in a SYN segment, 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 option in a SYN-ACK segment, 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 in the SRO option: a client includes the SRO option in the SYN segment, and a server that supports SRO includes it in the SYN-ACK segment. SRO is only in effect if both segments carry the option. After the handshake, an endpoint carries the identifier of the peer in the SRO option, 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>

<t>The SRO option carries an identifier. During the handshake, it carries the identifier of its sender: the client identifier in a SYN segment, and the server identifier in a SYN-ACK segment; on session recovery, it carries the identifier of the peer. 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 Option" anchor="SRO-OPT"><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     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~                         Identifier (N octets)                 ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork></figure>

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

<t>A client MAY include the SRO 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 option SHOULD include the SRO option in the SYN-ACK segment.</t>

<t>A server that does not support SRO MUST NOT include the SRO 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 option in a SYN-ACK segment SHOULD store the server identifier for the lifetime of the connection.</t>

<t>A server that receives the SRO option in a SYN segment 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 option 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 in the retransmitted segment.</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 option in the SYN segment, and servers that do not support SRO do not include it 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 option is 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 one TCP option Kind number 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</c>
      <c>variable</c>
      <c>SRO</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">

&RFC2663;
&RFC5382;
&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 187?>

<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, especially Mike Heard and Michael Tuexen for their detailed review comments.</t>

</section>
<section anchor="changes-since-draft-cmcc-tcp-sro-00"><name>Changes since draft-cmcc-tcp-sro-00</name>

<t><list style="symbols">
  <t>Expanded SNAT and LB on first use and added an informative reference to RFC 2663.</t>
  <t>Consolidated the two option kinds into a single kind.</t>
  <t>Removed the MTU consideration in Section 4.2.</t>
</list></t>

</section>


  </back>

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

-->

</rfc>

