<?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.6.17 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-nishida-tcpm-agg-syn-ext-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="Aggregated_SynOpt">Aggregated Option for SYN Option Space Extension</title>
    <seriesInfo name="Internet-Draft" value="draft-nishida-tcpm-agg-syn-ext-04"/>
    <author initials="Y." surname="Nishida" fullname="Yoshifumi Nishida">
      <organization abbrev="AWS">Amazon Web Services</organization>
      <address>
        <postal>
          <street>440 Terry Ave N</street>
          <city>Seattle</city>
          <region>WA</region>
          <code>98109</code>
          <country>USA</country>
        </postal>
        <email>nsd.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="July" day="05"/>
    <area>TSV</area>
    <workgroup>TCPM Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>TCP option space is scarce resource as its maximum length is limited to
   40 bytes.  This limitation becomes more significant in SYN segments
   as all options used in a connection should be exchanged during SYN
   negotiations.  This document proposes a new SYN option negotiation
   scheme that can aggregate multiple TCP options in SYN segments into
   a single option so that more options can be negotiate during 3-way
   handshake. With its simple design, the approach does not require
   fundamental changes in TCP.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>TCP option space is scarce resource as its maximum length is limited to
   40 bytes because the length of the Data Offset field in the TCP header
   is 4 bits <xref target="RFC9293"/>.</t>
      <t>This limitation is a critical issue especially for SYN segments. Because
   SYN segments need to contain all options expected to be used for the connection,
   although a TCP endpoint can send only one SYN segment to its peer in a connection.
   The only exception in the current standards is User Timeout Option <xref target="RFC5482"/>.
   However, this is because this option provides only advisory information
   and does not need to be exchanged reliably.</t>
      <t>As a result, the current SYN
   option space tends to be congested.  Many TCP connections use MSS
   <xref target="RFC9293"/>, Timestamp and Window Scale <xref target="RFC7323"/>, SACK Permitted
   options <xref target="RFC2018"/> which already consume 19 bytes (4 + 10 + 3 + 2).
   In addition to these options, if a connection wants to use Multipath TCP
   <xref target="RFC8684"/>, it requires additional 4-12 bytes for MP_CAPABLE or 12-16
   bytes for MP_JOIN option.  Similarly, TCP Fast Open <xref target="RFC7413"/> and TCP
   AO <xref target="RFC5925"/> require additional 6-18 bytes and 16 bytes respectively.
   Moreover, Experimental Option Format defined in <xref target="RFC6994"/> requires
   16 bits or 32 bits ExID, which means the length of any experimental
   options will be 4 bytes or 6 bytes.</t>
      <t>If an endpoint is willing to add some of extra options in addition
   to commonly used options, 40 bytes space may not be sufficient.
   If a SYN segment cannot accommodate all options that an endpoint wants
   to use, the endpoint needs to give up using some of them.
   This problem affects the extensibility of TCP.</t>
      <t>There have been various proposals in order to extend option space in
   SYN Segments such as <xref target="I-D.eddy-tcp-loo"/>, <xref target="I-D.yourtchenko-tcp-loic"/>,
   <xref target="I-D.touch-tcpm-tcp-syn-ext-opt"/>, <xref target="I-D.briscoe-tcpm-inner-space"/> and
   <xref target="I-D.allman-tcpx2-hack"/>. These proposals have adopted one or both of
   the following two types of approach.</t>
      <ul spacing="normal">
        <li>Extending TCP header in SYN segment: This approach tries to
accommodate more options in a SYN segment by using payload (e.g
override Data Offset field in TCP header).</li>
        <li>Using Multiple SYN or SYN-like segment: This approach uses
multiple SYN segments or additional segments that can be treated as
a SYN segment (e.g sending another SYN with wrong checksum or
from different source port).</li>
      </ul>
      <t>However, these kinds of approach induce some complexity as it needs to
   update fundamental TCP design and have potential risks for middlebox
   interventions because of it.
   Instead, we propose a simple alternate approach that can aggregate multiple
   TCP options into a single options. As this approach does not require
   drastic changes to TCP SYN negotiation scheme, the risk for middlebox
   interventions will be minimized.
   <xref target="I-D.boucadair-tcpm-capability-option"/> also proposes a scheme to
   aggregate multiple options as many of these options are basically about
   negotiating support with the peer before actual use of the option.
   However, our approach requires less option space as it can aggregate
   and condense some TCP options to create more option space for others.
   Note that <xref target="I-D.boucadair-tcpm-capability-option"/>
   specifically target controlled domains to nullify the implications of
   the presence of middleboxes.</t>
      <t>The proposed approach in the draft cannot aggregate all kinds of options.
   However, we believe it still will be useful especially for newly defined
   experimental options as it requires at least 4 bytes space in the option field.
   Also, the proposed approach can be combined with EDO <xref target="I-D.draft-ietf-tcpm-tcp-edo"/>
   extension or utilize 3rd segments and 4th segments like the feature negotiation scheme
   for MPTCP if needed.</t>
      <t>One example use case for the proposed approach is <xref target="I-D.gomez-tcpm-ack-rate-request"/>.
   In order to use the feature proposed in the document, endpoints need to
   exchange a 4-byte TCP option during 3-way handshake so that they can check
   if the peer is capable of the feature.
   However, whether an endpoint supports the feature or not is just 1-bit
   information. Using 4-byte field to carry 1-bit information looks
   redundant. On the other hand, Aggregated Option can accommodate up to 18
   new TCP options + 3 existing options like into a single TCP option.</t>
      <t>Also, even if more than 1-bit information needs to be carried in a TCP
   option for a certain feature, it is still possible to utilize aggregated
   options in some cases.
   In such cases, an endpoint can confirm that the peer supports the
   feature it wants to use by using the aggregated option. After that, it can
   continue to negotiate required parameters through 3rd segment and 4th segment.
   This type of approach is already used in MPTCP <xref target="RFC8684"/>. Hence, we believe
   this scheme can be applicable to many other TCP extensions.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <t>This document uses the following terms:</t>
      <ul spacing="normal">
        <li>Original Option format: refers to the option format as defined in <xref target="RFC9293"/></li>
        <li>Aggregated Option format: refers to indication of support of a TCP
option by setting the corresponding bit in the Aggregated TCP
Option.</li>
      </ul>
    </section>
    <section anchor="aggregated-option-design">
      <name>Aggregated Option Design</name>
      <section anchor="option-format">
        <name>Option Format</name>
        <t>The aggregated option can be used to indicate that an endpoint
   wants to enable the specified features during SYN segment exchanges.
   This option uses one bit in the option field for one TCP option.
   The receiver of the option also uses this option to indicate that
   it agrees to use the requested features or not.  The format of
   aggregated option format is shown in Figure 1.  The option
   contains 1-byte field named called "Aggregated Block". Aggregated
   Option can accommodate 1-3 Aggregated Blocks.</t>
        <figure anchor="fig1">
          <name>Aggregated Option format</name>
          <artwork type="ascii-art" align="center"><![CDATA[
                    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 = TBD  |  Length = 3-5 |   Block  #1   |   Block #2   |
+--------------+---------------+---------------+- - - - - - - -
|   Block #3   |
 - - - - - - - -
]]></artwork>
        </figure>
        <t>Figure 2 shows the format of Aggregated block.  Aggregated block has
   1 byte length which consists of 2 bits "Group ID" (GID) field and 6
   bits "Option Bits" field.  The options supported by Aggregated Option
   are split into 4 groups. The Group ID field is used to identify the
   group identifier of the option bits in the Aggregated Option and each
   single bit in Option Bits field represent a option in the group.</t>
        <t>If all options that an endpoint wants to aggregate belong to the same
   Group ID, the aggregated option needs to contain only one Aggregated
   Block.  Otherwise, it needs to contain multiple blocks as needed.</t>
        <figure anchor="fig2">
          <name>Aggregated Block format</name>
          <artwork type="ascii-art" align="center"><![CDATA[
0  1  2  3  4  5  6  7
+----------------------+
| GID |  Option Bits   |
+----------------------+
]]></artwork>
        </figure>
        <t>GID field in Aggregated Block indicate the group ID that option bits
   in the block belongs to.  Aggregated Blocks appear in SYN and
   SYN ACK segments, however, different mappings between GID value in
   the option and Group ID are used for these two segments.  This is
   because some implementations may copy back unknown options in SYN/ACK
   segments.  These mappings are used not to be confused by such
   cases.  Figure 3 shows the mapping between GID value in the
   option and Group ID.  For example, GID value 1 in SYN represents
   group 2, while GID value 1 in ACK segment for SYN ACK represents
   group 1.</t>
        <figure anchor="fig3">
          <name>Mapping between GID value and Group ID</name>
          <artwork type="ascii-art" align="center"><![CDATA[
+------------------+----------------------+----------------------+
| GID value in SYN | GID value in SYN ACK | Group ID Description |
+------------------+----------------------+----------------------+
|        0         |          1           |       group 1        |
|                  |                      |                      |
|        1         |          2           |       group 2        |
|                  |                      |                      |
|        2         |          3           |       group 3        |
|                  |                      |                      |
|        3         |          0           |       group 4        |
+------------------+----------------------+----------------------+
]]></artwork>
        </figure>
        <t>The allocation of the bit in Option Bits field in each group will be
   managed by the registry provided by IANA.  Since an aggregated block
   has 6-bits field to indicate options, one group can have 6 options at
   most. As a result, the possible maximum number of options with this format
   will be 4 * 6 = 24.  We believe this is sufficient number for the time being based on the current usage of
   option code points.</t>
        <t>The Aggregated Option <bcp14>MUST</bcp14> be only used in SYN segments. When an endpoint
   receives SYN segments with Aggregated Option, it checks Aggregated
   Blocks in the option.  Otherwise, the segment <bcp14>MUST</bcp14> be silently discarded.
   If it contains Aggregated Blocks, the options specified
   in the blocks <bcp14>MUST</bcp14> be processed as well as options in original
   formats.  When a responder sends back a SYN ACK to the initiator, it
   <bcp14>SHOULD</bcp14> send back its response with Aggregated Option.
   But, it <bcp14>MAY</bcp14> uses original format of the options for the response
   as long as there is enough option space.</t>
      </section>
      <section anchor="predefined-aggregated-options">
        <name>Predefined Aggregated Options</name>
        <t>In this proposal, group 1 is used to aggregate commonly used options as predefined aggregated options.
   Hence, when new aggregated options are registered, they will belong to the rest of groups.
   Figure 4 shows aggregated option format when group 1 is specified.</t>
        <figure anchor="fig4">
          <artwork type="ascii-art"><![CDATA[
0      1      2      3      4      5      6      7
+------------------------------------------------+
| GID (0 or 1)|        WScale      | SACK | MSS  |
+------------------------------------------------+
]]></artwork>
        </figure>
        <t>In order to specify group id, the GID field of this format is 0 in SYN and 1 in SYN/ACK.
 The first 4 bits of 6 bytes Option Bits are used for Window Scale Option.
 As the value of the shift.cnt in Window Scale Option is 0-14. The shift.cnt values can be
 stored in the 4 bits as the same format in the original option.
 When this value is 15 (all 4 bits are 1), it specifies the window scale option is not aggregated in the segment.</t>
        <t>The 5th bit in Option Bits field is used for SACK options. If the bit is set, it indicate the sending
 endpoint supports Selective Acknowledgement. If the bit is not set, it specifies SACK option is not
 aggregated in the segment.</t>
        <t>The 6th bit in Option Bits field is used for MSS options. If the bit is set, it indicates that the sending endpoint
 uses 1460 as send MSS which is the most common value used for MSS option.
 If the bit is not set, it specifies MSS option is not aggregated in the segment.</t>
      </section>
      <section anchor="option-bits-registration">
        <name>Option Bits Registration</name>
        <t>The allocation of the Option Bits in Aggregated Option is maintained by IANA.
   If a new option can be aggregatable, one can request
   Option Bit in addition to the current procedure, requesting TCP
   Option Kind Number in <xref target="TCPParameters"/> .  If an option already has
   assigned TCP Option Kind Number, one can request Option bit only
   which will represent the assigned option kind.</t>
      </section>
      <section anchor="utilizing-3rd-and-4th-segments-for-further-negotiations">
        <name>Utilizing 3rd and 4th Segments for Further Negotiations</name>
        <t>Aggregated Option is designed to exchange 1-bit information
   for each TCP extension that indicate the willingness to use
   the feature. Hence, if a TCP extension wants to carry more
   information in the TCP option for the extension, Aggregated
   Option is basically not applicable for it.</t>
        <t>However, it is still possible for these TCP extensions
   to utilize Aggregated Option in some situations.
   It is based on the fact that not all TCP extensions will
   be used right after SYN exchanges. For example, SACK options
   are only used when there are packet losses.
   If a TCP extension is not used right after SYN exchange,
   it is possible to exchange additional parameters by using
   utilizing 3rd segments and 4th segments.
   This approach is already used in MPTCP <xref target="RFC8684"/>. As
   we have a solid precedence, we believe it will not be difficult
   to implement similar negotiation schemes for other features.
   However, discussing negotiation schemes with 3rd and 4th
   segments is out of scope of the document.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>We believe Aggregated Option maintains the same level of security as
   other TCP options does.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document requests new TCP option codepoint.  In addition, this
   document requires new registry for the option.  They are described in
   the following subsections.</t>
      <section anchor="aggregated-option">
        <name>Aggregated Option</name>
        <t>This document requests to add new option: Aggregated Option to the
   TCP option space registry which points to this document as follows:</t>
        <figure anchor="fig5">
          <name>Aggregated Option Format</name>
          <artwork type="ascii-art" align="center"><![CDATA[
+------+--------+--------------------+----------------+
| Kind | Length |      Meaning       |   Reference    |
+------+--------+--------------------+----------------+
| TBD  |   N    | Aggregated Option  | This Document  |
+------+--------+--------------------+----------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="option-bits-registry-for-aggregated-option">
        <name>Option Bits Registry for Aggregated Option</name>
        <t>This document also requests to create a "Aggregated Option
   Identifiers" registry in IANA registries.  The registry maintains
   records which are mapped to the TCP Option Kind Number Records in
   <xref target="TCPParameters"/> These records are divided into 4 groups so that each
   group contains 6 records.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to appreciate Mohamed Boucadair
for his insightful comments on this document.</t>
    </section>
    <section numbered="false" anchor="contributors">
      <name>Contributors</name>
      <t>The contents in this document are the individual contributions from the authors and do not relate
to the authors' positions at their affiliations.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC9293">
          <front>
            <title>Transmission Control Protocol (TCP)</title>
            <author fullname="W. Eddy" initials="W." role="editor" surname="Eddy"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This document specifies the Transmission Control Protocol (TCP).  TCP is an important transport-layer protocol in the Internet protocol stack, and it has continuously evolved over decades of use and growth of the Internet.  Over this time, a number of changes have been made to TCP as it was specified in RFC 793, though these have only been documented in a piecemeal fashion.  This document collects and brings those changes together with the protocol specification from RFC 793.  This document obsoletes RFC 793, as well as RFCs 879, 2873, 6093, 6429, 6528, and 6691 that updated parts of RFC 793.  It updates RFCs 1011 and 1122, and it should be considered as a replacement for the portions of those documents dealing with TCP requirements.  It also updates RFC 5961 by adding a small clarification in reset handling while in the SYN-RECEIVED state.  The TCP header control bits from RFC 793 have also been updated based on RFC 3168.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="7"/>
          <seriesInfo name="RFC" value="9293"/>
          <seriesInfo name="DOI" value="10.17487/RFC9293"/>
        </reference>
        <reference anchor="RFC6994">
          <front>
            <title>Shared Use of Experimental TCP Options</title>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <date month="August" year="2013"/>
            <abstract>
              <t>This document describes how the experimental TCP option codepoints can concurrently support multiple TCP extensions, even within the same connection, using a new IANA TCP experiment identifier.  This approach is robust to experiments that are not registered and to those that do not use this sharing mechanism.  It is recommended for all new TCP options that use these codepoints.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6994"/>
          <seriesInfo name="DOI" value="10.17487/RFC6994"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized.  This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC2018">
          <front>
            <title>TCP Selective Acknowledgment Options</title>
            <author fullname="M. Mathis" initials="M." surname="Mathis"/>
            <author fullname="J. Mahdavi" initials="J." surname="Mahdavi"/>
            <author fullname="S. Floyd" initials="S." surname="Floyd"/>
            <author fullname="A. Romanow" initials="A." surname="Romanow"/>
            <date month="October" year="1996"/>
            <abstract>
              <t>This memo proposes an implementation of SACK and discusses its performance and related issues. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2018"/>
          <seriesInfo name="DOI" value="10.17487/RFC2018"/>
        </reference>
        <reference anchor="RFC7323">
          <front>
            <title>TCP Extensions for High Performance</title>
            <author fullname="D. Borman" initials="D." surname="Borman"/>
            <author fullname="B. Braden" initials="B." surname="Braden"/>
            <author fullname="V. Jacobson" initials="V." surname="Jacobson"/>
            <author fullname="R. Scheffenegger" initials="R." role="editor" surname="Scheffenegger"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>This document specifies a set of TCP extensions to improve performance over paths with a large bandwidth * delay product and to provide reliable operation over very high-speed paths. It defines the TCP Window Scale (WS) option and the TCP Timestamps (TS) option and their semantics. The Window Scale option is used to support larger receive windows, while the Timestamps option can be used for at least two distinct mechanisms, Protection Against Wrapped Sequences (PAWS) and Round-Trip Time Measurement (RTTM), that are also described herein.</t>
              <t>This document obsoletes RFC 1323 and describes changes from it.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7323"/>
          <seriesInfo name="DOI" value="10.17487/RFC7323"/>
        </reference>
        <reference anchor="RFC7413">
          <front>
            <title>TCP Fast Open</title>
            <author fullname="Y. Cheng" initials="Y." surname="Cheng"/>
            <author fullname="J. Chu" initials="J." surname="Chu"/>
            <author fullname="S. Radhakrishnan" initials="S." surname="Radhakrishnan"/>
            <author fullname="A. Jain" initials="A." surname="Jain"/>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document describes an experimental TCP mechanism called TCP Fast Open (TFO).  TFO allows data to be carried in the SYN and SYN-ACK packets and consumed by the receiving end during the initial connection handshake, and saves up to one full round-trip time (RTT) compared to the standard TCP, which requires a three-way handshake (3WHS) to complete before data can be exchanged.  However, TFO deviates from the standard TCP semantics, since the data in the SYN could be replayed to an application in some rare circumstances.  Applications should not use TFO unless they can tolerate this issue, as detailed in the Applicability section.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7413"/>
          <seriesInfo name="DOI" value="10.17487/RFC7413"/>
        </reference>
        <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="RFC5482">
          <front>
            <title>TCP User Timeout Option</title>
            <author fullname="L. Eggert" initials="L." surname="Eggert"/>
            <author fullname="F. Gont" initials="F." surname="Gont"/>
            <date month="March" year="2009"/>
            <abstract>
              <t>The TCP user timeout controls how long transmitted data may remain unacknowledged before a connection is forcefully closed.  It is a local, per-connection parameter.  This document specifies a new TCP option -- the TCP User Timeout Option -- that allows one end of a TCP connection to advertise its current user timeout value.  This information provides advice to the other end of the TCP connection to adapt its user timeout accordingly.  Increasing the user timeouts on both ends of a TCP connection allows it to survive extended periods without end-to-end connectivity.  Decreasing the user timeouts allows busy servers to explicitly notify their clients that they will maintain the connection state only for a short time without connectivity. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5482"/>
          <seriesInfo name="DOI" value="10.17487/RFC5482"/>
        </reference>
        <reference anchor="RFC8684">
          <front>
            <title>TCP Extensions for Multipath Operation with Multiple Addresses</title>
            <author fullname="A. Ford" initials="A." surname="Ford"/>
            <author fullname="C. Raiciu" initials="C." surname="Raiciu"/>
            <author fullname="M. Handley" initials="M." surname="Handley"/>
            <author fullname="O. Bonaventure" initials="O." surname="Bonaventure"/>
            <author fullname="C. Paasch" initials="C." surname="Paasch"/>
            <date month="March" year="2020"/>
            <abstract>
              <t>TCP/IP communication is currently restricted to a single path per connection, yet multiple paths often exist between peers. The simultaneous use of these multiple paths for a TCP/IP session would improve resource usage within the network and thus improve user experience through higher throughput and improved resilience to network failure.</t>
              <t>Multipath TCP provides the ability to simultaneously use multiple paths between peers. This document presents a set of extensions to traditional TCP to support multipath operation. The protocol offers the same type of service to applications as TCP (i.e., a reliable bytestream), and it provides the components necessary to establish and use multiple TCP flows across potentially disjoint paths.</t>
              <t>This document specifies v1 of Multipath TCP, obsoleting v0 as specified in RFC 6824, through clarifications and modifications primarily driven by deployment experience.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8684"/>
          <seriesInfo name="DOI" value="10.17487/RFC8684"/>
        </reference>
        <reference anchor="I-D.allman-tcpx2-hack">
          <front>
            <title>TCPx2: Don't Fence Me In</title>
            <author fullname="Mark Allman" initials="M." surname="Allman">
              <organization>ICSI</organization>
            </author>
            <date day="8" month="May" year="2006"/>
            <abstract>
              <t>    In this document we aim to solve several problems caused by TCP's
    lack of header space for certain values by increasing the size of
    header without changing the semantics of the protocol.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-allman-tcpx2-hack-00"/>
        </reference>
        <reference anchor="I-D.gomez-tcpm-ack-rate-request">
          <front>
            <title>TCP ACK Rate Request Option</title>
            <author fullname="Carles Gomez" initials="C." surname="Gomez">
              <organization>UPC</organization>
            </author>
            <author fullname="Jon Crowcroft" initials="J." surname="Crowcroft">
              <organization>University of Cambridge</organization>
            </author>
            <date day="12" month="October" year="2022"/>
            <abstract>
              <t>   TCP Delayed Acknowledgments (ACKs) is a widely deployed mechanism
   that allows reducing protocol overhead in many scenarios.  However,
   Delayed ACKs may also contribute to suboptimal performance.  When a
   relatively large congestion window (cwnd) can be used, less frequent
   ACKs may be desirable.  On the other hand, in relatively small cwnd
   scenarios, eliciting an immediate ACK may avoid unnecessary delays
   that may be incurred by the Delayed ACKs mechanism.  This document
   specifies the TCP ACK Rate Request (TARR) option.  This option allows
   a sender to request the ACK rate to be used by a receiver, and it
   also allows to request immediate ACKs from a receiver.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-gomez-tcpm-ack-rate-request-06"/>
        </reference>
        <reference anchor="I-D.eddy-tcp-loo">
          <front>
            <title>Extending the Space Available for TCP Options</title>
            <author fullname="Wesley Eddy" initials="W." surname="Eddy">
              <organization>NASA GRC/Verizon FNS</organization>
            </author>
            <author fullname="Adam Langley" initials="A." surname="Langley">
              <organization>Google Inc</organization>
            </author>
            <date day="1" month="July" year="2008"/>
            <abstract>
              <t>This document describes a method for increasing the space available
for TCP options.  Two new TCP options (LO and SLO) are detailed which
reduce the limitations imposed by the TCP header's Data Offset field.
The LO option provides this extension after connection establishment,
and the SLO option aids in transmission of lengthy connection
initialization and configuration options.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-eddy-tcp-loo-04"/>
        </reference>
        <reference anchor="I-D.yourtchenko-tcp-loic">
          <front>
            <title>Introducing TCP Long Options by Invalid Checksum</title>
            <author fullname="Andrew Yourtchenko" initials="A." surname="Yourtchenko">
              <organization>Cisco</organization>
            </author>
            <date day="11" month="April" year="2011"/>
            <abstract>
              <t>This document discusses a possible approach to TCP option space
expansion, which allows placing the long TCP options into the TCP SYN
segments.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-yourtchenko-tcp-loic-00"/>
        </reference>
        <reference anchor="I-D.touch-tcpm-tcp-syn-ext-opt">
          <front>
            <title>TCP SYN Extended Option Space Using an Out-of-Band Segment</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization>Independent Consultant</organization>
            </author>
            <author fullname="Ted Faber" initials="T." surname="Faber">
              <organization>The Aerospace Corporation</organization>
            </author>
            <date day="22" month="October" year="2022"/>
            <abstract>
              <t>   This document describes an experimental method to extend the option
   space for connection parameters within the initial TCP SYN segment,
   at the start of a TCP connection. This method effectively extends
   the option space of an initial SYN by using an additional coupled
   segment that is sent 'out-of-band'. It complements the proposed
   Extended Data Offset (EDO) option that is applicable only after the
   initial segment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-touch-tcpm-tcp-syn-ext-opt-12"/>
        </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="I-D.boucadair-tcpm-capability-option">
          <front>
            <title>TCP Capability Option</title>
            <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Christian Jacquenet" initials="C." surname="Jacquenet">
              <organization>Orange</organization>
            </author>
            <date day="8" month="December" year="2016"/>
            <abstract>
              <t>   This document defines an experimental TCP option that can be used to
   negotiate a set of options that are supported by two TCP endpoints.
   The main motivation for designing this option is the optimization of
   the option space for SYN segments.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-boucadair-tcpm-capability-option-01"/>
        </reference>
        <reference anchor="I-D.draft-ietf-tcpm-tcp-edo">
          <front>
            <title>TCP Extended Data Offset Option</title>
            <author fullname="Dr. Joseph D. Touch" initials="J. D." surname="Touch">
              <organization>Independent Consultant</organization>
            </author>
            <author fullname="Wesley Eddy" initials="W." surname="Eddy">
              <organization>MTI Systems</organization>
            </author>
            <date day="22" month="October" year="2022"/>
            <abstract>
              <t>   TCP segments include a Data Offset field to indicate space for TCP
   options but the size of the field can limit the space available for
   complex options such as SACK and Multipath TCP and can limit the
   combination of such options supported in a single connection. This
   document updates RFC 9293 with an optional TCP extension to that
   space to support the use of multiple large options. It also explains
   why the initial SYN of a connection cannot be extending a single
   segment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tcpm-tcp-edo-13"/>
        </reference>
        <reference anchor="TCPParameters" target="https://www.iana.org/assignments/tcp-parameters/tcp-parameters.xhtml#tcp-parameters-1">
          <front>
            <title>Transmission Control Protocol (TCP) Parameters</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAO0npWQAA7Vb/XIbOXL/n0+ByH/E3iNpUaJlSxWnQln2rnKW5Fh2XC6X
awucAUmchjO8wYxortdb9yBJVZ4lj3JPkv4CBkOObG+y0dWt5wPTaDT649eN
5mAw6FW2ysyJ2pvM56WZ68qk6mpV2SJXs6JU1+8v/e31SidGPf9UmdzB/V5P
T6eluW19+vP1Jofhe720SHK9BLppqWfVILduYVM9qJLVcqDn84Hb5APzqRrs
j3sJfDgvys2JclXa69lVeaKqsnbVwf7+8f5BT5dGn6g31//eWxflzbws6hXc
Pnt1od7Bvc3n6kd81rsxGxiQnqjzvDJlbqrBGc7d67lK5+nPOity4GdjXM8t
dVn9/Ne6qIw7UXnRW9kT9aEqkr5yRVmVZubgarPEi4+9nq6rRVGe9NSgp+DP
5vDR+6G65DXRM17r+wKezOqlbb0ryrnO7S8ahXiiJkv9CwjznZmqa1Pe2gT4
wVFemJN313TvgA1TnajxeF+9MWW5UZNboy7pXWIrkNa10RVsHT0B8RP1dxMe
UKTAzvGT0f6x3Nd5hRJ+e80DzFLbDJbu0qE11exf5ng/TIplr5cX5RJ4vTWw
YPX6xbPjg+NDuTw6Ph6f9Gw+2xpysD96IpePDw/86Mfjkb98dHzwyF+OnxzI
5ZOjJ2O8PB+cDXWWLXWO+vHpYLDQyY1/MS+W5hfRm+RmUIKyDErz19q4yg8x
abrBEYOsKPyzTVGXVbIw+U0hr2zi31VFnSyYJL7yqlisAsVpaV1SGB5j89yU
A4faH94DBZ1qW/KIRK/01GawK0gEN0LGsfKjhJvpTApMwnvQ4Fe6BL0BZXUn
tCtKeWN8U+rcLa1DQ1PPCti8IlOvygJ0FC7uw7cPVPP1nv9al3PUmUVVrdzJ
w4fr9Xpoda6HoIIPNRCb50uTV+4h8rEKn2/dDj8tqmV2r/1wMOoNBgPQUtBL
nVQ4ITCheLmKhKOsUy7RJVyVxoH84UI7ZSunlvqTXdZLlZl8Xi1wYGaXFl1N
VSAp0PHpBoxxCFQX/i0ZjJoa0EoDJIrSKFyBndlE5xWYITknZ+a0JiQDs4Ee
CVNO1Q4mgGEa9B/2MGFWF0WdpUBWmU/JQudzGJPWJboRIIdUcvBGlaXZA0Pg
zmqcRq3KYlU44EfDuDVxIDKIPkMqDpRvaVS10JUCfpX2PlIt66yyq8xEAnTb
q4F7loyGNedzGOwlXTBJEof/GOnDgjwHxi/ocLDWG6QC60zdQt+YoXpncQNg
BmeXyERqUKh9oAq7tYLl6WQBy4UV5kWl0NJsST5mVuepRuZ0plhwxDUsYkiq
sbRpCt6odw/9b1mkNcm79/+kKagXGjaY+JbBxYzuznSl1dVs5kylZtZkpAP4
AtlYGJ2aEikB6bGa4pwfxMt9HDK3WxpocbOT0lagdxncuRp0x61MYkHZNiFK
+q0bqlNmDWm19jQ3tAzUxkqjXka6aj4BQV4mbiWpLlJGvhvt7ZNKZBCO6vkC
uMIVmTxdFaAupAUO7lSRA1sQ7OLZkS6udWVMuW0TQ1614Q/BLAzvlYgtqcsS
KVAY1WXqUCJvHdB5Y5emqCsPED6Ie/9IBH8q1ubWlKhZlj5pdgxuRB1A324t
qCBPrdNbCwF4o0KIYVuCeRuV9FJsWXBpMqun2YZ3cII7BpoFhtZvLUEsvKWL
AGdgSUwQZAJqDdsAdn+h8w0JuBEUuRR1cU0ROmhNn+QA0lmuiNN3Nk8LcA2g
LYZGYUyEUdeTZ39Wr0wJigUzNHywAmIM/ajWCwvmpzOAPOkGZ3bgdtToWJT+
/lj9SY324T+H8P+DByToc9jNNLW0pArdg3HBNfSVnbX931qjKsI4Wgq5Ig22
Awv1i8KwDOzaYP0u0Af9Hw9GB8IN6ufFq5+fTV5NTl8+B5yjRgeD0RHSaQ34
16tz7yVBrtdgWZkus02fpPtCO1Qgw+qDmOEjSVEYmlyxWgGA+Oj5idk5Goye
yGz41ehIbkqyUMQoqBRA6AIcZkH6+BxMrbTiyUR1X5C6gTOc2ZyDxgfBO2FW
ijBIH80IFnZ4wJfPP52f9WXjlgbC9pZLQjUy0ZTxxq8tuADQu7FwDWRlAazI
5/h5Y+GWv0DXDhsIUoBwAOoBkwB+KXUcTLyIkAq5nOWSTIwcS1CO4E3ZFJZ6
QyYGHLl6BnHWAsdDz0jLnYCzwZE6IcopBp3YnVGMilkntRNmgAc2y/AWbZqU
cg4bpuoVDMFF+tXB2OUwuGbwGdPMLJWezWCHWdyGsxIGYfgJhSXxa6AxCw10
pwa07FaXtqidBHKdkbQgbQB3BvMTnXQrWOXek197T+5qtFKnPn/exp9fvvTl
aRcChbdIiwfcDUMbIncB0S9fUN0bWjvw+cuXIS4dbLxZKAlBpzAB6gDEB1C3
aUFaSjsDcpwVWVasScHW4Eo2K1TKWQAGLNIfFGeBKY5rguoWhjnh3QqYoiqt
cRLF0adHmtMCMxScYlWbbkQdVnqTFTpV981wLlTQoksIIN1Bv+HtQeD8LZG6
8BiMABwF8EFmb8xdzIPKOplyGX8aYjvQiLxSeBzgH5gUJHSUXWtPqb1MXBXF
b+RPg3GB4tKANSK2dQmhCXCXSW4gJMB0QmNWFkuVWjAFjtEMplaQxcqSozCM
2gD5ctraUpATQDXDtgZbAiv7hDZEeCwYJlKqV7RZMQ5EATOAJO9LCraCrDoH
GJop0N0bDgKMDafFJwJemJ7f4hjcbo8KgCUrviaHCKxT8KleeQ3BYIKrAH4g
tyd3ExTrbojdBp+MqrchNQC2iWNQ8lX8C7mcAwgYsC9QQtK4QxH0F9zP/g0F
8K31+xCwtDkExl8AejRW/a00E71ABhlBlJT4tIOTh92cw0tCI9TON+JdXfQC
THGqHWJdRGTAQtVKitAt1ytUMFZMXCeByqmZoRlDcljD3suW4luJ/C1lBDVt
pB1gRmaca/te1sLW5npACJgmBZ8vmhvvMsY7srXYsQhB3A0yLUcMXYKysgJ9
+B6Bf6TMDqH/TATEKTdBekjRM0wmiyWAe+IiryFYzzYkBVRf+IY5bBzuCtZt
8oSEFbTEh/83i2ABaWyw9CXVFkIcDjuNUTgYudfwluzXGAkzCzcoW9Bp+MJr
IWzbrM620xvIdOFKwBHSivFMrFItzFjBfiK4G7cwhnAvm0KumtibgCL3RSTb
KxYHCt5pSvCMFO/52ZWYyR1Vli9fmFWpV6KLrmGxYGPqsEwbH43KNAaC4QEF
AoqGoER1aTrsmxJiQreoeICx0VGi7eKLqxwBiSZ/hXaQaGdCMtexnx5HfKXU
BeFcoH6AKj759UwGwl4/pGTRDzArZKAsF3Zk4DPGA9ygOEuP6wdN8SAUH4D8
hjaF4hH5tFnjCCwWJMBwsuABhMUtNVwYCnExShTP4loLQwUsCPz+pQZ1Gg0A
drMfDUniUMK6rIQBALoBjYVT+iIergCo3VAULk2K4QxQLuwaKyYxhWvuq92S
OHmiCLkAVIVpRk/YRa5bbgiTNIiljnymf0i61Q5DzTeSvZIlgJByFCu5MJB6
3rGMAJvROGCp1te7JHnyRobgRCWmpKqDiJUSPKzDkP2D5gB6zgwplhhJ8Cmt
XNXmAhVAqZ1XSsLD9KTf2k/SkSKf2XIZNIeVJN5pMibZbFu1M9QA/qg+1eyH
TycnswrNAWj3JVL0qN4N0TWvaTlNVUxcU6qasiZ8WVItJfII2w6hyTwQD7ex
kwu5ui82skcIefRQ/YTuPfa67PqpBEaxWrwbEMUAIZvAwZl0kYo83othZLiH
FeEAIJDbM3TNBD5dr4dR4wYMFA9DnNq7eHv9Zq/P/6rLK7p+/fzf3p6/fn6G
19c/TV6+DBc9GXH909Xbl2fNVfPls6uLi+eXZ/wxPFWtR729i8n7vT5xtXf1
6s351eXk5R77pLiOijCDFZfgEIRBgcYAJ5PSTlmYp89e/fd/jcbgH/8BSySj
0TFAHr55Mno8hhvwIjnPRukt36J/6oE8jeZaFyg4eCQLwQr102ENeJ0rTAxB
mj98QMl8PFH/NE1Wo/E/ywNccOuhl1nrIcls98nOxyzEjkcd0wRptp5vSbrN
7+R9697LPXqIahHLHxOa7YzPlEtHRxM/qKvSzm3e1EfY55yACc3IaopWEOfi
CQg2qp98/iz1MQjDRLLzfHGLKOAWwUhoZh5nosV5l+bnBL8AqV7lPUNSlFjx
KTh7Yj9JL6JZPYUr72vvdfB0RtkMvLvXLg0FPLbjg7z9kgNo1mB2aiBIIfg2
k7OlA0XBk1jwZSfoogOJ4JR8vHaNO5L5aSsxnY+WHcMrxrx5O9DIakqTGAvh
uI3VOasQFWkm2l4cBWHEnqUxLoYkAlriFXEQH/KsojCMgncFKq+tN1RY0ws7
x+gwEgI80Ht6gtujOPTjcSxkCJoAeXyyfZoVyc3eMNr4XtCIneA+Ghyq7W/R
//7222+g7Im1A11Wkoe3/0Ydzw46nh329mHsAQCFsXqkjtRj9UQdq9/xrPen
Qetv67bjXrX+1/tVqT/Dpqqn6s3pmVJw+5Irl08B/T3Ce163UvdwUc39PVzP
r3/E/J7gIRFU2yNA2r3PJ+rezM5HEDYqbAIY6Ays9OleYjB47PGx6dPuFgZQ
pT1yQV6JDkitvPcTTYw3eor8gKZtPwJUyEVgSmh8iZcrv1iqB6hHWZcUhveo
LUGdn+2p+z+enz0Q3cRYxTVyGiSMnsLNnqRDsY477wWRic2uwyILwpNRAA8V
A8uxoh4JRwVA5ZnwVTHXOKoUIQSnp0iGvvJP7Y5PIHZ3varwj6syAIkoQWZc
K+4oWqDwUBrOesF1eOJCl1hoSt/fLChTGTykvoCvCi6Nk1vVnKZ5AfS7IWQD
ov2xXDg+azuJU9GKKwRla+sYQe98HSotpDKUFYfcsO049slPgBmB4o8V2DUY
tnq8bVHBcsBUQIvQAmOJdthg80VkOgffbzpsji3L+bHRn3zHJcZBQbYQ9Y12
LNIdTtloDFsTbxcKr21rpyK4gN8wDEq1Gy/xGM3n6n218PlkUwRdwqcWKU9N
tcaaP7J/q7Pa1/LjSAd6G0wEDSk+ecVwti6ik12Ou5bW4guXlA1RcZLqIayu
eJKSFKuNmkImr+r8JsdA1j7sfwgLIXOJyeOcgf/AD+a/4YRyRo8QANVsb5yK
Bf92GPk3IdUpCW/3HZJAYiACKWL0o89GfkOCEbvGdxzQORjo/tb4aMfCcTk+
66IxAjvZMpQO/b5L5b9uO2HlyEDHI+Tp10YdzigVYel0Wtnv50L+9gMCCI/a
oME/FpmEx71ofAeJ73nckGgmjMbGMKXNRXjzx3LRTBiNPbyTi/Dmj+WimTAa
ux+PbXExbkj8AXoR+enDb/jpizsNOrZfcduUr0B616RU5H3visvwEEO4LFFK
wkhnqXM9Z5/D8H4OUKfc+O4NenE+uZzQ6T4Ws+N6vYAnbkNy6mgwbWaMM4pw
KI2hl1lAQE5nSkdNkZkA97Jw1XC3zSNUsXwXUV4vpwxkmhN3OrOwTgIcJWXh
FP4HmOmpOhjDQt41VXLfwNKciXvCvqhb2SUOp43RdMLebp2pHchP8h2fNRYp
Moxl2abYv4urqBQxldYcX2Nqtxu9W5h8O8+UvM61Dylp8TtzcOGMTha7II9r
55RtBERASzy7Z9VBBMgrPDCw2OSVypHW+Yzm8fnaTsDvR5O4Jinehg0uzAPa
lxhHpXRYmoE91C4OsYXUMKRWD5uNQZKlpaRagJVI6v+hOK1DFBAMSUU1XRUl
yojwBxdtqM2KPkFdZloQuLvlS6s/rblAeTF5Lwm7r7A0KUi8fq9Znra0NxLA
1RTbS2qjMzmVL+MzriFVL16VxldjdjhyUratpJ2C+gP6IdhEOUIDrjs7SJCV
VTPRDriWkyepgKLksUi+O4yQDrsVWFfKFTxvlzGoB3GQqCTDibK6saCeO8sJ
NH20xKBhXcAc/yQ8HrQChDj+R/zPEf9zJ2i/+89Dkvv71Df1IESdd9w3JjHn
miHJxfX1V4D+12aJQst4K7T8/W//wcHl73/7Twkv8CjSG2mKQlXkwDKCkRhZ
4mMoFuMmZI9sxk3CQHod3C0Kfj/C9AFPIhiG7aTqkC351NByOu1buuKA1ULq
rYa7YHMTRsAcHMW6sD2/GibcPdzxGbE3GI05dW5GExHfZ9tTDjxCc9AmnLJV
UtoZFiuO05t6KL6REyKxCP50avRI3ceE11PDatcDchleUZn+mrl2xHURuG4d
AgfWwgkGS/YRuKe7o79rJEpqF9ojziPc4LDsymdHcdYnfSu9jqO8a5NxI56a
JJgGZSadU6q0TRiX4Ik3a45YkUG9by/06HsXiob1net0zQmW79JpIi659NH4
aJ+OFzA6IGUuDVlJxQCziBeVXe/gAnTje4TSfPA9e9/UskkKrxm+6aY9uxMm
xp+0s/7GVrDTAcN5BAFDtyB6+naF3POIlW+GefhCisVRHfaUd26rqTWAKYr7
KR1hyrfShxaRoJrmJYM0bOZs/djioxr61spQ7+ZDPCnw8U8l+Migg+IO734M
7hnGSAKVtPcUwpp6F1WgPHGZG5s1eJPe0sErHbyXaTiFDE2HqCkv6pLOBC+j
3yjwoXHX9nBrFkfycN6/c4zsexkI+7cOG1njW4Yu/ac5dupwxT+0Dsohvw/3
duYb1AO5ULPjc3k82t46yI9b9aPT66jFE/FqZ/UeO8xD3xKZRHOgijRstdUQ
13n+3VR+2seuvnVVzsY7xC3n4s5WtW6wz3kljDVJwUwnFUuWuMyyralIxlxh
YhcB4WMBA+mkG+NmcxTUrtLEXtvXhRvItuaYg7gRXwBSvDEVAEoXzvF3N0yc
y1e56MsxEELJqIug6S9p2iKjc3d/rk+NhS29v7Mvpzn4+l3n7xOSxVp6gDXs
UmZTRK3gRLaP5qn9APVBuqCxpmgTyC9l+0OZD9sRsYu9ozXINT1m4fir3fmC
eVHtqKuh63PKIiIPENcIccX4iws8HU2KVQA2/lyXTjWvDbhK7OF8hocSgNMi
PxGltbs67N15hGQyGJnRdJ4ou8imNcFDeOyZpOkxDHRN3T6AFtfpttpmKC+m
oDps/bKBf0ZCfZgxBeo0QwqhJuHdRchW32AqgRofdxbs9ju7eurkVx7sjTvO
Wr6yCunHb4LeSYd8OZC1m1KlLS7wz3FD+rXog1bbhBOW8aC+s0oacoTOZGHn
IeYhFNp+9Qd/kolcGJ2jXJrq12tD9fXEtOpe/4v5/EmjumTSu4KChyTnM7/u
/8N8UQb06HefH74IpyCoER0oihXue1SFztRjfZEeVd3x02tyx+Egzu016gEe
juxLHlj5zWSkQMGIpQ5EXUDyu6KSTwQYEfg42wGZXstnbCjb6IlPKTxpMi3L
dcDW+WNoF/TnglLU8xWgI0+CWzFCcsA/5/x8wjU2kz7dm4HsDGwCAVX6MTas
iH7Gya2aBUUE7FgFeV4UCzr9P/W9vD3cISrhgUuCGIYNrojDuW9/qzHJt1eB
aKc1pHl3M4LrkJ9qdvU2UfWI5ILt0ImnyMUdbNqvosXwD9yk4zzDJmfZHxnw
jxhara+A4htb4u9fIG56rPE/CbCBVMs/AAA=

-->

</rfc>
