0-RTT TCP Convert Protocol
RFC 8803

Document Type RFC - Experimental (July 2020; No errata)
Authors Olivier Bonaventure  , Mohamed Boucadair  , Sri Gundavelli  , SungHoon Seo  , Benjamin Hesmans 
Last updated 2020-07-28
Replaces draft-bonaventure-mptcp-converters
Stream IETF
Formats plain text html xml pdf htmlized bibtex
Reviews
Stream WG state Submitted to IESG for Publication
Document shepherd Michael Scharf
Shepherd write-up Show (last changed 2019-11-18)
IESG IESG state RFC 8803 (Experimental)
Consensus Boilerplate Yes
Telechat date
Responsible AD Mirja K├╝hlewind
Send notices to Michael Scharf <michael.scharf@hs-esslingen.de>
IANA IANA review state Version Changed - Review Needed
IANA action state RFC-Ed-Ack
´╗┐

Internet Engineering Task Force (IETF)               O. Bonaventure, Ed.
Request for Comments: 8803                                      Tessares
Category: Experimental                                 M. Boucadair, Ed.
ISSN: 2070-1721                                                   Orange
                                                           S. Gundavelli
                                                                   Cisco
                                                                  S. Seo
                                                           Korea Telecom
                                                              B. Hesmans
                                                                Tessares
                                                               July 2020

                       0-RTT TCP Convert Protocol

Abstract

   This document specifies an application proxy, called Transport
   Converter, to assist the deployment of TCP extensions such as
   Multipath TCP.  A Transport Converter may provide conversion service
   for one or more TCP extensions.  The conversion service is provided
   by means of the 0-RTT TCP Convert Protocol (Convert).

   This protocol provides 0-RTT (Zero Round-Trip Time) conversion
   service since no extra delay is induced by the protocol compared to
   connections that are not proxied.  Also, the Convert Protocol does
   not require any encapsulation (no tunnels whatsoever).

   This specification assumes an explicit model, where the Transport
   Converter is explicitly configured on hosts.  As a sample
   applicability use case, this document specifies how the Convert
   Protocol applies for Multipath TCP.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  It represents the consensus of the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents approved by the IESG are candidates for any level of
   Internet Standard; see Section 2 of RFC 7841.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   https://www.rfc-editor.org/info/rfc8803.

Copyright Notice

   Copyright (c) 2020 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (https://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction
     1.1.  The Problem
     1.2.  Network-Assisted Connections: The Rationale
     1.3.  Applicability Scope
   2.  Conventions and Definitions
   3.  Differences with SOCKSv5
   4.  Architecture and Behaviors
     4.1.  Functional Elements
     4.2.  Theory of Operation
     4.3.  Data Processing at the Transport Converter
     4.4.  Address Preservation vs. Address Sharing
       4.4.1.  Address Preservation
       4.4.2.  Address/Prefix Sharing
   5.  Sample Examples
     5.1.  Outgoing Converter-Assisted Multipath TCP Connections
     5.2.  Incoming Converter-Assisted Multipath TCP Connection
   6.  The Convert Protocol (Convert)
     6.1.  The Convert Fixed Header
     6.2.  Convert TLVs
       6.2.1.  Generic Convert TLV Format
       6.2.2.  Summary of Supported Convert TLVs
       6.2.3.  The Info TLV
       6.2.4.  Supported TCP Extensions TLV
       6.2.5.  Connect TLV
       6.2.6.  Extended TCP Header TLV
       6.2.7.  The Cookie TLV
       6.2.8.  Error TLV
   7.  Compatibility of Specific TCP Options with the Conversion
           Service
     7.1.  Base TCP Options
     7.2.  Window Scale (WS)
     7.3.  Selective Acknowledgments
     7.4.  Timestamp
     7.5.  Multipath TCP
     7.6.  TCP Fast Open
     7.7.  TCP-AO
   8.  Interactions with Middleboxes
   9.  Security Considerations
     9.1.  Privacy & Ingress Filtering
     9.2.  Authentication and Authorization Considerations
     9.3.  Denial of Service
     9.4.  Traffic Theft
     9.5.  Logging
   10. IANA Considerations
     10.1.  Convert Service Name
     10.2.  The Convert Protocol (Convert) Parameters
       10.2.1.  Convert Versions
       10.2.2.  Convert TLVs
       10.2.3.  Convert Error Messages
   11. References
     11.1.  Normative References
Show full document text