0-RTT TCP Convert Protocol
RFC 8803
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