draft-ietf-tcpm-tcp-uto-08.txt | draft-ietf-tcpm-tcp-uto-09.txt | |||
---|---|---|---|---|
TCP Maintenance and Minor L. Eggert | TCP Maintenance and Minor L. Eggert | |||
Extensions (tcpm) Nokia | Extensions (tcpm) Nokia | |||
Internet-Draft F. Gont | Internet-Draft F. Gont | |||
Intended status: Standards Track UTN/FRH | Intended status: Standards Track UTN/FRH | |||
Expires: May 22, 2008 November 19, 2007 | Expires: December 15, 2008 June 13, 2008 | |||
TCP User Timeout Option | TCP User Timeout Option | |||
draft-ietf-tcpm-tcp-uto-08 | draft-ietf-tcpm-tcp-uto-09 | |||
Status of this Memo | Status of this Memo | |||
By submitting this Internet-Draft, each author represents that any | By submitting this Internet-Draft, each author represents that any | |||
applicable patent or other IPR claims of which he or she is aware | applicable patent or other IPR claims of which he or she is aware | |||
have been or will be disclosed, and any of which he or she becomes | have been or will be disclosed, and any of which he or she becomes | |||
aware will be disclosed, in accordance with Section 6 of BCP 79. | aware will be disclosed, in accordance with Section 6 of 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 | |||
skipping to change at page 1, line 35 | skipping to change at page 1, line 35 | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | 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 May 22, 2008. | This Internet-Draft will expire on December 15, 2008. | |||
Copyright Notice | ||||
Copyright (C) The IETF Trust (2007). | ||||
Abstract | Abstract | |||
The TCP user timeout controls how long transmitted data may remain | The TCP user timeout controls how long transmitted data may remain | |||
unacknowledged before a connection is forcefully closed. It is a | unacknowledged before a connection is forcefully closed. It is a | |||
local, per-connection parameter. This document specifies a new TCP | local, per-connection parameter. This document specifies a new TCP | |||
option - the TCP User Timeout Option - that allows one end of a TCP | option - the TCP User Timeout Option - that allows one end of a TCP | |||
connection to advertise its current user timeout value. This | connection to advertise its current user timeout value. This | |||
information provides advice to the other end of the TCP connection to | information provides advice to the other end of the TCP connection to | |||
adapt its user timeout accordingly. Increasing the user timeouts on | adapt its user timeout accordingly. Increasing the user timeouts on | |||
skipping to change at page 2, line 28 | skipping to change at page 2, line 24 | |||
3.4. Reserved Option Values . . . . . . . . . . . . . . . . . . 10 | 3.4. Reserved Option Values . . . . . . . . . . . . . . . . . . 10 | |||
4. Interoperability Issues . . . . . . . . . . . . . . . . . . . 10 | 4. Interoperability Issues . . . . . . . . . . . . . . . . . . . 10 | |||
4.1. Middleboxes . . . . . . . . . . . . . . . . . . . . . . . 10 | 4.1. Middleboxes . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
4.2. TCP Keep-Alives . . . . . . . . . . . . . . . . . . . . . 10 | 4.2. TCP Keep-Alives . . . . . . . . . . . . . . . . . . . . . 10 | |||
5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 | |||
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References . . . . . . . . . . . . . . . . . . . 12 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . . 13 | 8.2. Informative References . . . . . . . . . . . . . . . . . . 13 | |||
Appendix A. Document Revision History . . . . . . . . . . . . . . 14 | Appendix A. Document Revision History . . . . . . . . . . . . . . 13 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 15 | |||
Intellectual Property and Copyright Statements . . . . . . . . . . 17 | Intellectual Property and Copyright Statements . . . . . . . . . . 17 | |||
1. Introduction | 1. Introduction | |||
The Transmission Control Protocol (TCP) specification [RFC0793] | The Transmission Control Protocol (TCP) specification [RFC0793] | |||
defines a local, per-connection "user timeout" parameter that | defines a local, per-connection "user timeout" parameter that | |||
specifies the maximum amount of time that transmitted data may remain | specifies the maximum amount of time that transmitted data may remain | |||
unacknowledged before TCP will forcefully close the corresponding | unacknowledged before TCP will forcefully close the corresponding | |||
connection. Applications can set and change this parameter with OPEN | connection. Applications can set and change this parameter with OPEN | |||
skipping to change at page 5, line 14 | skipping to change at page 5, line 14 | |||
CHANGEABLE (Boolean) | CHANGEABLE (Boolean) | |||
Flag that controls whether USER_TIMEOUT (TCP's USER TIMEOUT | Flag that controls whether USER_TIMEOUT (TCP's USER TIMEOUT | |||
parameter) may be changed based on an UTO option received from the | parameter) may be changed based on an UTO option received from the | |||
other end of the connection. Defaults to true and becomes false | other end of the connection. Defaults to true and becomes false | |||
when an application explicitly sets USER_TIMEOUT. | when an application explicitly sets USER_TIMEOUT. | |||
Note that an exchange of UTO options between both ends of a | Note that an exchange of UTO options between both ends of a | |||
connection is not a binding negotiation. Transmission of a UTO | connection is not a binding negotiation. Transmission of a UTO | |||
option is a suggestion that the other end consider adapting its user | option is a suggestion that the other end consider adapting its user | |||
timeout. This adaptation only happens if the the other end of the | timeout. This adaptation only happens if the other end of the | |||
connection has explicitly allowed it (both ENABLED and CHANGEABLE are | connection has explicitly allowed it (both ENABLED and CHANGEABLE are | |||
true). | true). | |||
Before opening a connection, an application that wishes to use the | Before opening a connection, an application that wishes to use the | |||
UTO option enables its use by setting ENABLED to true. It may choose | UTO option enables its use by setting ENABLED to true. It may choose | |||
an appropriate local UTO by explicitly setting ADV_UTO; otherwise, | an appropriate local UTO by explicitly setting ADV_UTO; otherwise, | |||
UTO is set to the default USER TIMEOUT value. Finally, the | UTO is set to the default USER TIMEOUT value. Finally, the | |||
application should determine whether it will allow the local USER | application should determine whether it will allow the local USER | |||
TIMEOUT to change based on received UTO options from the other end of | TIMEOUT to change based on received UTO options from the other end of | |||
a connection. The default is to allow this for connections that do | a connection. The default is to allow this for connections that do | |||
skipping to change at page 12, line 20 | skipping to change at page 12, line 20 | |||
Note that if TCP needs to close or abort connections with a long TCP | Note that if TCP needs to close or abort connections with a long TCP | |||
User Timeout Option to shed load, these connections are still no | User Timeout Option to shed load, these connections are still no | |||
worse off than without the option. | worse off than without the option. | |||
Finally, upper and lower limits on user timeouts, discussed in | Finally, upper and lower limits on user timeouts, discussed in | |||
Section 3.1, can be an effective tool to limit the impact of these | Section 3.1, can be an effective tool to limit the impact of these | |||
sorts of attacks. | sorts of attacks. | |||
6. IANA Considerations | 6. IANA Considerations | |||
This section is to be interpreted according to | This section is to be interpreted according to [RFC5226]. | |||
[I-D.narten-iana-considerations-rfc2434bis]. | ||||
This document does not define any new namespaces. It requests that | This document does not define any new namespaces. It requests that | |||
IANA allocate a new 8-bit TCP option number for the UTO option from | IANA allocate a new 8-bit TCP option number for the UTO option from | |||
the registry maintained at | the registry maintained at | |||
http://www.iana.org/assignments/tcp-parameters. | http://www.iana.org/assignments/tcp-parameters. | |||
7. Acknowledgments | 7. Acknowledgments | |||
The following people have improved this document through thoughtful | The following people have improved this document through thoughtful | |||
suggestions: Mark Allman, Caitlin Bestler, David Borman, Bob Braden, | suggestions: Mark Allman, Caitlin Bestler, David Borman, Bob Braden, | |||
skipping to change at page 12, line 43 | skipping to change at page 12, line 42 | |||
Faber, Guillermo Gont, Tom Henderson, Joseph Ishac, Jeremy Harris, | Faber, Guillermo Gont, Tom Henderson, Joseph Ishac, Jeremy Harris, | |||
Alfred Hoenes, Phil Karn, Michael Kerrisk, Dan Krejsa, Jamshid | Alfred Hoenes, Phil Karn, Michael Kerrisk, Dan Krejsa, Jamshid | |||
Mahdavi, Kostas Pentikousis, Juergen Quittek, Anantha Ramaiah, Joe | Mahdavi, Kostas Pentikousis, Juergen Quittek, Anantha Ramaiah, Joe | |||
Touch, Stefan Schmid, Simon Schuetz, Tim Shepard and Martin | Touch, Stefan Schmid, Simon Schuetz, Tim Shepard and Martin | |||
Stiemerling. | Stiemerling. | |||
8. References | 8. References | |||
8.1. Normative References | 8.1. Normative References | |||
[I-D.narten-iana-considerations-rfc2434bis] | ||||
Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
IANA Considerations Section in RFCs", | ||||
draft-narten-iana-considerations-rfc2434bis-08 (work in | ||||
progress), October 2007. | ||||
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7, | [RFC0793] Postel, J., "Transmission Control Protocol", STD 7, | |||
RFC 793, September 1981. | RFC 793, September 1981. | |||
[RFC1122] Braden, R., "Requirements for Internet Hosts - | [RFC1122] Braden, R., "Requirements for Internet Hosts - | |||
Communication Layers", STD 3, RFC 1122, October 1989. | Communication Layers", STD 3, RFC 1122, October 1989. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, March 1997. | Requirement Levels", BCP 14, RFC 2119, March 1997. | |||
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
IANA Considerations Section in RFCs", BCP 26, RFC 5226, | ||||
May 2008. | ||||
8.2. Informative References | 8.2. Informative References | |||
[I-D.eddy-tcp-mobility] | [I-D.eddy-tcp-mobility] | |||
Eddy, W., "Mobility Support For TCP", | Eddy, W., "Mobility Support For TCP", | |||
draft-eddy-tcp-mobility-00 (work in progress), April 2004. | draft-eddy-tcp-mobility-00 (work in progress), April 2004. | |||
[MEDINA] Medina, A., Allman, M., and S. Floyd, "Measuring | [MEDINA] Medina, A., Allman, M., and S. Floyd, "Measuring | |||
Interactions Between Transport Protocols and Middleboxes", | Interactions Between Transport Protocols and Middleboxes", | |||
Proc. 4th ACM SIGCOMM/USENIX Conference on Internet | Proc. 4th ACM SIGCOMM/USENIX Conference on Internet | |||
Measurement , October 2004. | Measurement , October 2004. | |||
skipping to change at page 14, line 8 | skipping to change at page 14, line 4 | |||
[RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common | [RFC4987] Eddy, W., "TCP SYN Flooding Attacks and Common | |||
Mitigations", RFC 4987, August 2007. | Mitigations", RFC 4987, August 2007. | |||
[SOLARIS-MANUAL] | [SOLARIS-MANUAL] | |||
Sun Microsystems, "Solaris Tunable Parameters Reference | Sun Microsystems, "Solaris Tunable Parameters Reference | |||
Manual", Part No. 806-7009-10, 2002. | Manual", Part No. 806-7009-10, 2002. | |||
Appendix A. Document Revision History | Appendix A. Document Revision History | |||
[[Note to the RFC Editor: Section to be removed upon publication.]] | [[Note to the RFC Editor: Section to be removed upon publication.]] | |||
+----------+--------------------------------------------------------+ | +----------+--------------------------------------------------------+ | |||
| Revision | Comments | | | Revision | Comments | | |||
+----------+--------------------------------------------------------+ | +----------+--------------------------------------------------------+ | |||
| -09 | Resubmission after expiration. Updated reference to | | ||||
| | [RFC5226]. | | ||||
| | | | ||||
| -08 | Addressed additional, minor working group last call | | | -08 | Addressed additional, minor working group last call | | |||
| | comments. | | | | comments. | | |||
| | | | | | | | |||
| -07 | Addressed working group last call comments. | | | -07 | Addressed working group last call comments. | | |||
| | | | | | | | |||
| -06 | Includes a note on the limited space for TCP options | | | -06 | Includes a note on the limited space for TCP options | | |||
| | and miscellaneous editorial changes (suggested by | | | | and miscellaneous editorial changes (suggested by | | |||
| | Anantha Ramaiah). Includes possible enforcement of | | | | Anantha Ramaiah). Includes possible enforcement of | | |||
| | per-outgoing-interface limits for the UTO, and | | | | per-outgoing-interface limits for the UTO, and | | |||
| | miscellaneous editorial changes (suggested by Alfred | | | | miscellaneous editorial changes (suggested by Alfred | | |||
skipping to change at page 17, line 7 | skipping to change at page 17, line 7 | |||
Evaristo Carriego 2644 | Evaristo Carriego 2644 | |||
Haedo, Provincia de Buenos Aires 1706 | Haedo, Provincia de Buenos Aires 1706 | |||
Argentina | Argentina | |||
Phone: +54 11 4650 8472 | Phone: +54 11 4650 8472 | |||
Email: fernando@gont.com.ar | Email: fernando@gont.com.ar | |||
URI: http://www.gont.com.ar/ | URI: http://www.gont.com.ar/ | |||
Full Copyright Statement | Full Copyright Statement | |||
Copyright (C) The IETF Trust (2007). | Copyright (C) The IETF Trust (2008). | |||
This document is subject to the rights, licenses and restrictions | This document is subject to the rights, licenses and restrictions | |||
contained in BCP 78, and except as set forth therein, the authors | contained in BCP 78, and except as set forth therein, the authors | |||
retain all their rights. | retain all their rights. | |||
This document and the information contained herein are provided on an | This document and the information contained herein are provided on an | |||
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | |||
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND | |||
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS | |||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF | |||
skipping to change at page 17, line 44 | skipping to change at line 713 | |||
attempt made to obtain a general license or permission for the use of | attempt made to obtain a general license or permission for the use of | |||
such proprietary rights by implementers or users of this | such proprietary rights by implementers or users of this | |||
specification can be obtained from the IETF on-line IPR repository at | specification can be obtained from the IETF on-line IPR repository at | |||
http://www.ietf.org/ipr. | http://www.ietf.org/ipr. | |||
The IETF invites any interested party to bring to its attention any | The IETF invites any interested party to bring to its attention any | |||
copyrights, patents or patent applications, or other proprietary | copyrights, patents or patent applications, or other proprietary | |||
rights that may cover technology that may be required to implement | rights that may cover technology that may be required to implement | |||
this standard. Please address the information to the IETF at | this standard. Please address the information to the IETF at | |||
ietf-ipr@ietf.org. | ietf-ipr@ietf.org. | |||
Acknowledgment | ||||
Funding for the RFC Editor function is provided by the IETF | ||||
Administrative Support Activity (IASA). | ||||
End of changes. 12 change blocks. | ||||
19 lines changed or deleted | 14 lines changed or added | |||
This html diff was produced by rfcdiff 1.35. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |