| < draft-ietf-tcpm-tcp-edo-11.txt | draft-ietf-tcpm-tcp-edo-12.txt > | |||
|---|---|---|---|---|
| TCPM WG J. Touch | TCPM WG J. Touch | |||
| Internet Draft Independent consultant | Internet Draft Independent Consultant | |||
| Updates: 793 Wes Eddy | Updates: 793 Wes Eddy | |||
| Intended status: Standards Track MTI Systems | Intended status: Standards Track MTI Systems | |||
| Expires: April 2022 October 12, 2021 | Expires: October 2022 April 15, 2022 | |||
| TCP Extended Data Offset Option | TCP Extended Data Offset Option | |||
| draft-ietf-tcpm-tcp-edo-11.txt | draft-ietf-tcpm-tcp-edo-12.txt | |||
| Abstract | ||||
| 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 793 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. | ||||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
| other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
| Drafts. | Drafts. | |||
| Internet-Drafts are draft documents valid for a maximum of six | ||||
| months and may be updated, replaced, or obsoleted by other documents | ||||
| at any time. It is inappropriate to use Internet-Drafts as | ||||
| reference material or to cite them other than as "work in progress." | ||||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
| This Internet-Draft will expire on April 12, 2022. | Internet-Drafts are draft documents valid for a maximum of six | |||
| months and may be updated, replaced, or obsoleted by other documents | ||||
| at any time. It is inappropriate to use Internet-Drafts as | ||||
| reference material or to cite them other than as "work in progress." | ||||
| This Internet-Draft will expire on October 15, 2022. | ||||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2021 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with | carefully, as they describe your rights and restrictions with | |||
| respect to this document. Code Components extracted from this | respect to this document. Code Components extracted from this | |||
| document must include Simplified BSD License text as described in | document must include Revised BSD License text as described in | |||
| Section 4.e of the Trust Legal Provisions and are provided without | Section 4.e of the Trust Legal Provisions and are provided without | |||
| warranty as described in the Simplified BSD License. | warranty as described in the Revised BSD License. | |||
| Abstract | ||||
| 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 793 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. | ||||
| Table of Contents | Table of Contents | |||
| 1. Introduction...................................................3 | 1. Introduction...................................................3 | |||
| 2. Conventions used in this document..............................3 | 2. Conventions used in this document..............................3 | |||
| 3. Motivation.....................................................3 | 3. Motivation.....................................................3 | |||
| 4. Requirements for Extending TCP's Data Offset...................4 | 4. Requirements for Extending TCP's Data Offset...................4 | |||
| 5. The TCP EDO Option.............................................4 | 5. The TCP EDO Option.............................................4 | |||
| 5.1. EDO Supported.............................................5 | 5.1. EDO Supported.............................................5 | |||
| 5.2. EDO Extension.............................................5 | 5.2. EDO Extension.............................................5 | |||
| skipping to change at page 12, line 17 ¶ | skipping to change at page 12, line 17 ¶ | |||
| 7. Interactions with Middleboxes | 7. Interactions with Middleboxes | |||
| Middleboxes are on-path devices that typically examine or modify | Middleboxes are on-path devices that typically examine or modify | |||
| packets in ways that Internet routers do not [RFC3234]. This | packets in ways that Internet routers do not [RFC3234]. This | |||
| includes parsing transport headers and/or rewriting transport | includes parsing transport headers and/or rewriting transport | |||
| segments in ways that may affect EDO. | segments in ways that may affect EDO. | |||
| There are several cases to consider: | There are several cases to consider: | |||
| - Typical NAT/NAPT devices, which modify only IP address and/or TCP | - Typical NAT/NAPT devices, which modify only IP address and/or TCP | |||
| port number fields (with associated TCP checksum updates) | port number fields (with associated TCP checksum updates) | |||
| - Middleboxes that try to reconstitute TCP data streams, such as | - Middleboxes that try to reconstitute TCP data streams, such as for | |||
| for deep-packet inspection for virus scanning | deep-packet inspection for virus scanning | |||
| - Middleboxes that modify known TCP header fields | - Middleboxes that modify known TCP header fields | |||
| - Middleboxes that rewrite TCP segments | - Middleboxes that rewrite TCP segments | |||
| 7.1. Middlebox Coexistence with EDO | 7.1. Middlebox Coexistence with EDO | |||
| Middleboxes can coexist with EDO when they either support EDO or | Middleboxes can coexist with EDO when they either support EDO or | |||
| when they ignore its impact on segment structure. | when they ignore its impact on segment structure. | |||
| NATs and NAPTs, which rewrite IP address and/or transport port | NATs and NAPTs, which rewrite IP address and/or transport port | |||
| fields, are the most common form of middlebox and are not affected | fields, are the most common form of middlebox and are not affected | |||
| by the EDO option. | by the EDO option. | |||
| End of changes. 12 change blocks. | ||||
| 28 lines changed or deleted | 28 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||