| < draft-ietf-tcpm-tcp-edo-08.txt | draft-ietf-tcpm-tcp-edo-09.txt > | |||
|---|---|---|---|---|
| TCPM WG J. Touch | TCPM WG J. Touch | |||
| Internet Draft USC/ISI | Internet Draft | |||
| Updates: 793 Wes Eddy | Updates: 793 Wes Eddy | |||
| Intended status: Standards Track MTI Systems | Intended status: Standards Track MTI Systems | |||
| Expires: December 2017 June 26, 2017 | Expires: July 2018 January 19, 2018 | |||
| TCP Extended Data Offset Option | TCP Extended Data Offset Option | |||
| draft-ietf-tcpm-tcp-edo-08.txt | draft-ietf-tcpm-tcp-edo-09.txt | |||
| 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. | |||
| skipping to change at page 1, line 32 ¶ | skipping to change at page 1, line 32 ¶ | |||
| months and may be updated, replaced, or obsoleted by other documents | months and may be updated, replaced, or obsoleted by other documents | |||
| at any time. It is inappropriate to use Internet-Drafts as | at any time. It is inappropriate to use Internet-Drafts as | |||
| reference material or to cite them other than as "work in progress." | 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 December 26, 2017. | This Internet-Draft will expire on July 19, 2018. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 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 Simplified 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 | |||
| skipping to change at page 3, line 28 ¶ | skipping to change at page 3, line 28 ¶ | |||
| This document specifies the TCP Extended Data Offset (EDO) option, | This document specifies the TCP Extended Data Offset (EDO) option, | |||
| and is independent of (and thus compatible with) IPv4 and IPv6. EDO | and is independent of (and thus compatible with) IPv4 and IPv6. EDO | |||
| extends the space available for TCP options, except for the initial | extends the space available for TCP options, except for the initial | |||
| SYN and SYN/ACK. This document also explains why the option space of | SYN and SYN/ACK. This document also explains why the option space of | |||
| the initial SYN segments cannot be extended as individual segments | the initial SYN segments cannot be extended as individual segments | |||
| without severe impact on TCP's initial handshake and the SYN/ACK | without severe impact on TCP's initial handshake and the SYN/ACK | |||
| limitation that results from potential middlebox misbehavior. | limitation that results from potential middlebox misbehavior. | |||
| Multiple other TCP extensions are being considered in the TCPM | Multiple other TCP extensions are being considered in the TCPM | |||
| working group in order to address the case of SYN and SYN/ACK | working group in order to address the case of SYN and SYN/ACK | |||
| segments [Bo14][Br14][To17]. Some of these other extensions can work | segments [Bo14][Br14][To18]. Some of these other extensions can work | |||
| in conjunction with EDO (e.g., [To17]). | in conjunction with EDO (e.g., [To18]). | |||
| 2. Conventions used in this document | 2. Conventions used in this document | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in RFC-2119 [RFC2119]. | document are to be interpreted as described in RFC-2119 [RFC2119]. | |||
| In this document, these words will appear with that interpretation | In this document, these words will appear with that interpretation | |||
| only when in ALL CAPS. Lower case uses of these words are not to be | only when in ALL CAPS. Lower case uses of these words are not to be | |||
| interpreted as carrying RFC-2119 significance. | interpreted as carrying RFC-2119 significance. | |||
| skipping to change at page 11, line 15 ¶ | skipping to change at page 11, line 15 ¶ | |||
| segments. | segments. | |||
| The full combination of the above options (47 bytes for TS, WS, MSS, | The full combination of the above options (47 bytes for TS, WS, MSS, | |||
| SACK, TCP-AO, and MPTCP) does not fit in the existing SYN option | SACK, TCP-AO, and MPTCP) does not fit in the existing SYN option | |||
| space and (as noted) that space cannot be extended within a single | space and (as noted) that space cannot be extended within a single | |||
| SYN segment. There has been a proposal to change TS to a 2 byte "TS | SYN segment. There has been a proposal to change TS to a 2 byte "TS | |||
| permitted" signal in the initial SYN, provided it can be safely | permitted" signal in the initial SYN, provided it can be safely | |||
| enabled during the connection later or might be avoided completely | enabled during the connection later or might be avoided completely | |||
| [Ni15]. Even using "TS-permitted", the total space is still too | [Ni15]. Even using "TS-permitted", the total space is still too | |||
| large to support in the initial SYN without SYN option space | large to support in the initial SYN without SYN option space | |||
| extension [Bo14][Br14][To17]. | extension [Bo14][Br14][To18]. | |||
| The EDO Extension option has negligible impact on other headers, | The EDO Extension option has negligible impact on other headers, | |||
| because it can either come first or just after security information, | because it can either come first or just after security information, | |||
| and in either case the additional 4 or 6 bytes are easily | and in either case the additional 4 or 6 bytes are easily | |||
| accommodated within the TCP Data Offset length. Once the EDO option | accommodated within the TCP Data Offset length. Once the EDO option | |||
| is processed, the entirety of the remainder of the TCP segment is | is processed, the entirety of the remainder of the TCP segment is | |||
| available for any remaining options. | available for any remaining options. | |||
| 6.5. Connectionless Resets | 6.5. Connectionless Resets | |||
| skipping to change at page 19, line 11 ¶ | skipping to change at page 19, line 11 ¶ | |||
| larger than the required Kind and Length components, so the | larger than the required Kind and Length components, so the | |||
| resulting efficiency is typically insufficient for additional | resulting efficiency is typically insufficient for additional | |||
| options. | options. | |||
| The option space of an initial SYN segment might be extended by | The option space of an initial SYN segment might be extended by | |||
| using multiple initial segments (e.g., multiple SYNs or a SYN and | using multiple initial segments (e.g., multiple SYNs or a SYN and | |||
| non-SYN) or based on the context of previous or parallel | non-SYN) or based on the context of previous or parallel | |||
| connections. This method may also be needed to extend space in the | connections. This method may also be needed to extend space in the | |||
| SYN/ACK in the presence of misbehaving middleboxes. Because of their | SYN/ACK in the presence of misbehaving middleboxes. Because of their | |||
| potential complexity, these approaches are addressed in separate | potential complexity, these approaches are addressed in separate | |||
| documents [Bo14][Br14][To17]. | documents [Bo14][Br14][To18]. | |||
| Option space cannot be extended in outer layer headers, e.g., IPv4 | Option space cannot be extended in outer layer headers, e.g., IPv4 | |||
| or IPv6. These layers typically try to avoid extensions altogether, | or IPv6. These layers typically try to avoid extensions altogether, | |||
| to simplify forwarding processing at routers. Introducing new shim | to simplify forwarding processing at routers. Introducing new shim | |||
| layers to accommodate additional option space would interfere with | layers to accommodate additional option space would interfere with | |||
| deep-packet inspection mechanisms that are in widespread use. | deep-packet inspection mechanisms that are in widespread use. | |||
| As a result, EDO does not attempt to extend the space available for | As a result, EDO does not attempt to extend the space available for | |||
| options in TCP initial SYNs. It does extend that space in all other | options in TCP initial SYNs. It does extend that space in all other | |||
| segments (including SYN/ACK), which has always been trivially | segments (including SYN/ACK), which has always been trivially | |||
| skipping to change at page 20, line 36 ¶ | skipping to change at page 20, line 36 ¶ | |||
| in this document with codepoint value. | in this document with codepoint value. | |||
| The TCP Experimental ID (ExID) with a 16-bit value of 0x0ED0 (in | The TCP Experimental ID (ExID) with a 16-bit value of 0x0ED0 (in | |||
| network standard byte order) has been assigned for use during | network standard byte order) has been assigned for use during | |||
| testing and preliminary experiments. | testing and preliminary experiments. | |||
| 12. References | 12. References | |||
| 12.1. Normative References | 12.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
| [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC | [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC | |||
| 793, September 1981. | 793, September 1981. | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | ||||
| Requirement Levels", BCP 14, RFC 2119, March 1997. | ||||
| 12.2. Informative References | 12.2. Informative References | |||
| [Al06] Allman, M., "TCPx2: Don't Fence Me In", draft-allman- | [Al06] Allman, M., "TCPx2: Don't Fence Me In", draft-allman- | |||
| tcpx2-hack-00 (work in progress), May 2006. | tcpx2-hack-00 (work in progress), May 2006. | |||
| [Bo14] Borman, D., "TCP Four-Way Handshake", draft-borman- | [Bo14] Borman, D., "TCP Four-Way Handshake", draft-borman- | |||
| tcp4way-00 (work in progress), October 2014. | tcp4way-00 (work in progress), October 2014. | |||
| [Br14] Briscoe, B., "Inner Space for TCP Options", draft-briscoe- | [Br14] Briscoe, B., "Inner Space for TCP Options", draft-briscoe- | |||
| tcpm-inner-space-01 (work in progress), October 2014. | tcpm-inner-space-01 (work in progress), October 2014. | |||
| skipping to change at page 22, line 21 ¶ | skipping to change at page 22, line 21 ¶ | |||
| "TCP Extensions for Multipath Operation with Multiple | "TCP Extensions for Multipath Operation with Multiple | |||
| Addresses", RFC 6824, January 2013. | Addresses", RFC 6824, January 2013. | |||
| [RFC7323] Borman, D., Braden, B., Jacobson, V., and R. Scheffenegger | [RFC7323] Borman, D., Braden, B., Jacobson, V., and R. Scheffenegger | |||
| (Ed.), "TCP Extensions for High Performance", RFC 7323, | (Ed.), "TCP Extensions for High Performance", RFC 7323, | |||
| September 2014. | September 2014. | |||
| [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP | [RFC7413] Cheng, Y., Chu, J., Radhakrishnan, S., and A. Jain, "TCP | |||
| Fast Open", RFC 7413, December 2014. | Fast Open", RFC 7413, December 2014. | |||
| [To17] Touch, J., T. Faber, "TCP SYN Extended Option Space Using | [To18] Touch, J., T. Faber, "TCP SYN Extended Option Space Using | |||
| an Out-of-Band Segment", draft-touch-tcpm-tcp-syn-ext-opt- | an Out-of-Band Segment", draft-touch-tcpm-tcp-syn-ext-opt | |||
| 07 (work in progress), June 2017. | (work in progress), Jan. 2018. | |||
| [Yo11] Yourtchenko, A., "Introducing TCP Long Options by Invalid | [Yo11] Yourtchenko, A., "Introducing TCP Long Options by Invalid | |||
| Checksum", draft-yourtchenko-tcp-loic-00 (work in | Checksum", draft-yourtchenko-tcp-loic-00 (work in | |||
| progress), April 2011. | progress), April 2011. | |||
| 13. Acknowledgments | 13. Acknowledgments | |||
| The authors would like to thank the IETF TCPM WG for their feedback, | The authors would like to thank the IETF TCPM WG for their feedback, | |||
| in particular: Oliver Bonaventure, Bob Briscoe, Ted Faber, John | in particular: Oliver Bonaventure, Bob Briscoe, Ted Faber, John | |||
| Leslie, Pasi Sarolahti, Richard Scheffenegger, and Alexander | Leslie, Pasi Sarolahti, Richard Scheffenegger, and Alexander | |||
| Zimmerman. | Zimmerman. | |||
| This work is partly supported by USC/ISI's Postel Center. | This work is partly supported by USC/ISI's Postel Center. | |||
| This document was prepared using 2-Word-v2.0.template.dot. | This document was prepared using 2-Word-v2.0.template.dot. | |||
| Authors' Addresses | Authors' Addresses | |||
| Joe Touch | Joe Touch | |||
| USC/ISI | ||||
| 4676 Admiralty Way | ||||
| Marina del Rey, CA 90292-6695 USA | ||||
| Phone: +1 (310) 448-9151 | Manhattan Beach, CA 90266 USA | |||
| Email: touch@isi.edu | ||||
| Phone: +1 (310) 560-0334 | ||||
| Email: touch@strayalpha.com | ||||
| Wesley M. Eddy | Wesley M. Eddy | |||
| MTI Systems | MTI Systems | |||
| US | US | |||
| Email: wes@mti-systems.com | Email: wes@mti-systems.com | |||
| End of changes. 13 change blocks. | ||||
| 20 lines changed or deleted | 19 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/ | ||||