Retransmission Timeout Considerations
|The information below is for an old version of the document
Active Internet-Draft (tcpm WG)
(latest revision 2016-04-15)
||Intended RFC status
Best Current Practice
No shepherd assigned
AD is watching
||Send notices to
Internet Engineering Task Force M. Allman
File: draft-ietf-tcpm-rto-consider-03.txt April 15, 2016
Intended Status: Best Current Practice
Expires: October 15, 2016
Retransmission Timeout Considerations
Status of this Memo
This document may not be modified, and derivative works of it may
not be created, except to format it for publication as an RFC or to
translate it into languages other than English.
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. Internet-Drafts are working
documents of the Internet Engineering Task Force (IETF), its areas,
and its working groups. Note that other groups may also distribute
working documents as Internet-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 Internet-Draft Shadow Directories can be accessed at
This Internet-Draft will expire on October 15, 2016.
Copyright (c) 2016 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
(http://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.
Each implementation of a retransmission timeout mechanism represents
a balance between correctness and timeliness and therefore no
implementation suits all situations. This document provides
high-level requirements for retransmission timeout schemes
Expires: October 15, 2016 [Page 1]
draft-ietf-tcpm-rto-consider-03.txt April 2016
appropriate for general use in the Internet. Within the
requirements, implementations have latitude to define particulars
that best address each situation.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in BCP 14, RFC 2119
Despite our best intentions and most robust mechanisms, reliability
in networking ultimately requires a timeout and re-try mechanism.
Often there are more timely and precise mechanisms than a timeout
for repairing loss (e.g., TCP's fast retransmit [RFC5681], NewReno
[RFC6582] or selective acknowledgment scheme [RFC2018,RFC6675])
which require information exchange between components in the system.
Such communication cannot be guaranteed. Alternatively, information
coding---e.g., FEC---can allow the recipient to recover from some
amount of lost information without use of a retransmission. This
latter provides probabilistic reliability. Finally, negative
acknowledgment schemes exist that do not depend on continuous
feedback to trigger retransmissions (e.g., [RFC3940]). However,
regardless of these useful alternatives, the only thing we can truly
depend on is the passage of time and therefore our ultimate backstop
to ensuring reliability is a timeout. (Note: There is a case when
we cannot count on the passage of time, but in this case we believe
repairing loss will be a moot point and hence we do not further
consider this case in this document.)
Various protocols have defined their own timeout mechanisms (e.g.,
TCP [RFC6298], SCTP [RFC4960], SIP [RFC3261]). Ideally, if we know
a segment will be lost before reaching the destination, a second
copy of it would be sent immediately after the first transmission.
However, in reality the specifics of retransmission timeouts often
represent a particular tradeoff between correctness and
responsiveness [AP99]. In other words we want to simultaneously:
- Wait long enough to ensure the decision to retransmit is
- Bound the delay we impose on applications before
However, serving both of these goals is difficult as they pull in
opposite directions. I.e., towards either (a) withholding needed
Show full document text