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 | Internent Engineering Task Force (IETF) | ||
Formats | plain text html xml pdf htmlized (tools) 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) | |
Action Holders |
(None)
|
||
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 ReferencesShow full document text