datatracker.ietf.org
Sign in
Version 5.6.4.p1, 2014-10-20
Report a bug

TCP User Timeout Option
RFC 5482

Document type: RFC - Proposed Standard (March 2009; No errata)
Document stream: IETF
Last updated: 2013-03-02
Other versions: plain text, pdf, html

IETF State: (None)
Consensus: Unknown
Document shepherd: No shepherd assigned

IESG State: RFC 5482 (Proposed Standard)
Responsible AD: Magnus Westerlund
Send notices to: tcpm-chairs@tools.ietf.org

Network Working Group                                          L. Eggert
Request for Comments: 5482                                         Nokia
Category: Standards Track                                        F. Gont
                                                                 UTN/FRH
                                                              March 2009

                        TCP User Timeout Option

Status of This Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (c) 2009 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 in effect on the date of
   publication of this document (http://trustee.ietf.org/license-info).
   Please review these documents carefully, as they describe your rights
   and restrictions with respect to this document.

Abstract

   The TCP user timeout controls how long transmitted data may remain
   unacknowledged before a connection is forcefully closed.  It is a
   local, per-connection parameter.  This document specifies a new TCP
   option -- the TCP User Timeout Option -- that allows one end of a TCP
   connection to advertise its current user timeout value.  This
   information provides advice to the other end of the TCP connection to
   adapt its user timeout accordingly.  Increasing the user timeouts on
   both ends of a TCP connection allows it to survive extended periods
   without end-to-end connectivity.  Decreasing the user timeouts allows
   busy servers to explicitly notify their clients that they will
   maintain the connection state only for a short time without
   connectivity.

Eggert & Gont               Standards Track                     [Page 1]
RFC 5482                TCP User Timeout Option               March 2009

Table of Contents

   1. Introduction ....................................................2
   2. Conventions .....................................................3
   3. Operation .......................................................4
      3.1. Changing the Local User Timeout ............................5
      3.2. UTO Option Reliability .....................................8
      3.3. Option Format ..............................................8
      3.4. Reserved Option Values .....................................9
   4. Interoperability Issues .........................................9
      4.1. Middleboxes ................................................9
      4.2. TCP Keep-Alives ...........................................10
   5. Programming and Manageability Considerations ...................10
   6. Security Considerations ........................................10
   7. IANA Considerations ............................................12
   8. Acknowledgments ................................................12
   9. References .....................................................12
      9.1. Normative References ......................................12
      9.2. Informative References ....................................13

1.  Introduction

   The Transmission Control Protocol (TCP) specification [RFC0793]
   defines a local, per-connection "user timeout" parameter that
   specifies the maximum amount of time that transmitted data may remain
   unacknowledged before TCP will forcefully close the corresponding
   connection.  Applications can set and change this parameter with OPEN
   and SEND calls.  If an end-to-end connectivity disruption lasts
   longer than the user timeout, a sender will receive no
   acknowledgments for any transmission attempt, including keep-alives,
   and it will close the TCP connection when the user timeout occurs.

   This document specifies a new TCP option -- the TCP User Timeout
   Option (UTO) -- that allows one end of a TCP connection to advertise
   its current user timeout value.  This information provides advice to
   the other end of the connection to adapt its user timeout
   accordingly.  That is, TCP remains free to disregard the advice
   provided by the UTO option if local policies suggest it to be
   appropriate.

   Increasing the user timeouts on both ends of a TCP connection allows
   it to survive extended periods without end-to-end connectivity.
   Decreasing the user timeouts allows busy servers to explicitly notify
   their clients that they will maintain the connection state only for a
   short time without connectivity.

[include full document text]