Internet DRAFT - draft-eggert-tcpm-tcp-retransmit-now
draft-eggert-tcpm-tcp-retransmit-now
Network Working Group L. Eggert
Internet-Draft S. Schuetz
Expires: December 30, 2005 S. Schmid
NEC
June 28, 2005
TCP Extensions for Immediate Retransmissions
draft-eggert-tcpm-tcp-retransmit-now-02
Status of this Memo
By submitting this Internet-Draft, each author represents that any
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
aware will be disclosed, in accordance with Section 6 of BCP 79.
This document may not be modified, and derivative works of it may not
be created, except to publish it as an RFC and to translate it into
languages other than English.
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
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on December 30, 2005.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document classifies connectivity disruptions along an end-to-end
path into four types and describes how standard TCP mechanisms can
lead to inefficient or over-aggressive sending behavior when
connectivity resumes. The proposed techniques for TCP mobility
Eggert, et al. Expires December 30, 2005 [Page 1]
Internet-Draft TCP Immediate Retransmit June 2005
detection and response (LMDR) can improve behavior for some types of
disruptions. This document describes another, complementary and
orthogonal modification to TCP's retransmission scheme that improves
performance for disruption types that TCP LMDR does not address.
This extension is based on connectivity indicators, i.e., generic
network events that may indicate that end-to-end connectivity has
resumed. This document focuses on TCP modifications that use
connectivity indicators to increase performance, but does not define
the specifics of such connectivity indicators itself.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Classification of Connectivity Disruptions . . . . . . . . . 4
3.1 Short Connectivity Disruptions . . . . . . . . . . . . . . 5
3.2 Long Connectivity Disruptions . . . . . . . . . . . . . . 5
4. Examples of Connectivity Indicators . . . . . . . . . . . . 8
5. TCP Immediate Retransmission Extension . . . . . . . . . . . 9
5.1 Variant Based on Fast Retransmit . . . . . . . . . . . . . 10
5.2 Variant Based on Retransmission Option . . . . . . . . . . 11
5.3 Discussion . . . . . . . . . . . . . . . . . . . . . . . . 12
6. Related Work . . . . . . . . . . . . . . . . . . . . . . . . 13
7. Security Considerations . . . . . . . . . . . . . . . . . . 14
8. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . 14
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . 14
10. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . 14
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
11.1 Normative References . . . . . . . . . . . . . . . . . . 15
11.2 Informative References . . . . . . . . . . . . . . . . . 15
Editorial Comments . . . . . . . . . . . . . . . . . . . . . 17
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 17
A. Document Revision History . . . . . . . . . . . . . . . . . 18
Intellectual Property and Copyright Statements . . . . . . . 20
Eggert, et al. Expires December 30, 2005 [Page 2]
Internet-Draft TCP Immediate Retransmit June 2005
1. Introduction
Depending on the specific path between two nodes in the Internet,
disruptions in connectivity may be frequent. Host mobility and other
factors can further increase the likelihood of connectivity
disruptions. When hosts communicate with the Transmission Control
Protocol (TCP) [RFC0793], their connections may either abort during
periods of disrupted connectivity or exhibit significant performance
reduction compared to permanently connected paths [SCHUETZ-
THESIS][SCHUETZ-CCR]. This decrease in performance is mainly caused
by TCP's retransmission behavior after connectivity returns.
While connection aborts due to TCP's "user timeout" [TCP-ILLUSTRATED]
can be prevented with the TCP User Timeout Option [I-D.ietf-tcpm-tcp-
uto], additional mechanisms are required to improve TCP performance
when operating along paths with frequent connectivity disruptions.
This document describes a modification of TCP's retransmission scheme
to improve performance in such scenarios. The basic idea is to
trigger a speculative retransmission attempt when a TCP
implementation receives an indication that connectivity to a
previously unreachable peer node may have returned. [anchor2] These
extensions increase TCP performance through more intelligent
scheduling of retransmission attempts by using periods of
connectivity more efficiently. They do not cause significant amounts
of additional traffic (at most three empty ACKs in some situations,
see Section 5.1) and do not change TCP's congestion control
algorithms.
Note that this draft treats connectivity indicators as relatively
abstract events and focuses on how TCP should react when receiving
such triggers. Specific connectivity indicators will be described in
separate drafts. Simple connectivity indicators (some of which have
already been experimentally implemented [SCHUETZ-THESIS][SCHUETZ-
CCR]) include link- and network-layer events occurring at the first
and last hop of a path, i.e., on those links that are observable
directly from the end hosts. Examples of such simple connectivity
indicators are DHCP lease events [RFC2131], IPv6 router
advertisements [RFC2460], or MobileIP [RFC3775] binding updates and
HIP [I-D.ietf-hip-arch] readdressing events. It is also conceivable
to use events inside the network, which are not directly observable
by the end hosts, as connectivity triggers. However, it is currently
unclear how to signal these events to the end hosts.
Section 3 discusses TCP performance over intermittently connected
paths in more detail, classifies different types of disruptions and
describes their implications on TCP. Section 4 presents examples for
connectivity indicators and Section 5 describes the proposed
Eggert, et al. Expires December 30, 2005 [Page 3]
Internet-Draft TCP Immediate Retransmit June 2005
"immediate retransmission" extension to TCP. Section 6 discusses
related work, Section 7 investigates security aspects of the proposed
modification and Section 8 summarizes and concludes this document.
2. Conventions
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 [RFC2119].
3. Classification of Connectivity Disruptions
Connectivity disruptions occur in many different situations. They
can be due to wireless interference, movement out of a wireless
coverage area, switching between access networks, or simply due to
unplugging an Ethernet cable. Depending on the situation in which
they occur, the implications of connectivity disruptions are
different and must be handled appropriately. This section attempts
to classify different types of connectivity disruptions and discusses
their implications and effects on TCP.
Two main properties affect how TCP reacts to a connectivity
disruption: the duration of a connectivity disruption and whether the
path characteristics have significantly changed after it ends. This
draft distinguishes between "short" and "long" disconnections and
"changed" and "unchanged" path characteristics.
Connectivity disruptions are "short" for a given TCP connection, if
connectivity returns before the RTO first fires. In this case,
standard TCP recovers lost data segments through Fast Retransmit and
lost ACKs through successfully delivered later ACKs. Section 3.1
briefly describes this case.
Connectivity disruptions are "long" for a given TCP connection, if
the RTO fires at least once before connectivity returns. In this
case, TCP can be inefficient in its retransmission scheme, as
described in Section 3.2.
Whether or not path characteristics change when connectivity returns
is a second important factor for TCP's retransmission scheme.
Standard TCP implicitly assumes that path characteristics remain
unchanged for short disruptions by performing Fast Retransmit based
on path parameters collected before the disruption. For long
disruptions, standard TCP is more conservative and performs slow-
start, re-probing the path characteristics from scratch.
These implicit assumptions can cause standard TCP to misbehave or
perform inefficiently in some scenarios. Figure 1 illustrates the
Eggert, et al. Expires December 30, 2005 [Page 4]
Internet-Draft TCP Immediate Retransmit June 2005
standard TCP behavior.
+----------------------+----------------------+
Short | Fast Retransmit | Fast Retransmit |
Duration | using collected path | using collected path |
< RTO | characteristics | characteristics |
+----------------------+----------------------+
Long | | |
Duration | Slow-start | Slow-start |
>= RTO | | |
+----------------------+----------------------+
Unchanged Path Changed Path
Characteristics Characteristics
Figure 1: Standard TCP behavior
3.1 Short Connectivity Disruptions
For short disruptions, standard TCP performs Fast Retransmit based on
the previously collected path characteristics. When path
characteristics remain unchanged after connectivity resumes, this is
an effective and efficient mechanism.
On the other hand, when path characteristics do change after a short
disruption, TCP may be too aggressive in its sending behavior. This
can occur, for example, after MobileIP handovers. A TCP extension to
inform a peer about such events and trigger the probing behavior is
currently being proposed [I-D.swami-tcp-lmdr]. The LMDR extension
involves forced invalidation of collected path characteristics and
re-probing the new path from scratch.
3.2 Long Connectivity Disruptions
For long disruptions, standard TCP performs slow-start after
connectivity returns. This is a conservative strategy that avoids
overloading the new path. However, TCP's general exponential back-
off retransmission strategy can time these slow-starts such that
performance decreases.
This section describes this issue in detail. Later sections of this
document propose a different method of scheduling retransmission
attempts after connectivity returns, which results in a more
efficient retransmission behavior.
When a long connectivity disruption occurs along the path between a
host and its peer while the host is transmitting data, it stops
receiving acknowledgments. After the retransmission timeout (RTO)
Eggert, et al. Expires December 30, 2005 [Page 5]
Internet-Draft TCP Immediate Retransmit June 2005
expires, the host attempts to retransmit the first unacknowledged
segment. TCP implementations that follow the recommended RTO
management proposed in [RFC2988] double the RTO after each
retransmission attempt until it exceeds 60 seconds. This scheme
causes a host to attempt to retransmit across established connections
roughly once a minute. (More frequently during the first minute or
two of the connectivity disruption, while the RTO is still being
backed off.)
When the long connectivity disruption ends, standard TCP
implementations still wait until the RTO expires before attempting
retransmission. Figure 2 illustrates this behavior. Depending on
when connectivity becomes available again, this can waste up to a
minute of connection time for TCPs that implement the recommended RTO
management described in [RFC2988]. For TCP implementations that do
not implement [RFC2988], even more connection time may be lost. For
example, Linux uses 120 seconds as the maximum RTO.
Sequence
number X = Successfully transmitted segment
^ O = Lost segment
| : : : X
| : : :X
| OO O O O O : X
| X: : :
| X : :<------------>:
| X : : Wasted :
| X : : connection :
|X : : time :
+-----:---------------------:--------------:-------->
: : : Time
Connectivity Connectivity TCP
gone back retransmit
Figure 2: Standard TCP behavior in the presence of disrupted
connectivity
This retransmission behavior is not efficient, especially in
scenarios where connected periods are short and connectivity
disruptions are frequent [DRIVE-THRU]. Experiments show that TCP
performance across a path with frequent disruptions is significantly
worse, compared to a similar path without disruptions [SCHUETZ-
THESIS][SCHUETZ-CCR].
In the ideal case, TCP would attempt a retransmission as soon as
connectivity to its peer was re-established. Figure 3 illustrates
the ideal behavior.
Eggert, et al. Expires December 30, 2005 [Page 6]
Internet-Draft TCP Immediate Retransmit June 2005
Sequence
number X = Successfully transmitted segment
^ O = Lost segment
| : : X :
| : :X :
| OO O O O O X :
| X: : :
| X : :<------------>:
| X : : Efficiency :
| X : : improvement :
|X : : :
+-----:---------------------:--------------:-------->
: : : Time
Connectivity Connectivity Next
gone back = immediate scheduled
TCP retransmit retransmit
Figure 3: Ideal TCP behavior in the presence of disrupted
connectivity
The ideal behavior is difficult to achieve for arbitrary connectivity
disruptions. One obviously problematic approach would use higher-
frequency retransmission attempts to enable earlier detection of
whether connectivity has returned. This can generate significant
amounts of extra traffic. Other proposals attempt to trigger faster
retransmissions by retransmitting buffered or newly-crafted segments
from inside the network [SCOTT][I-D.dawkins-trigtran-
linkup][RFC3819]. Section 6 compares these approaches to the
"immediate retransmission" extension.
Note that scenarios exist where path characteristics remain unchanged
after long connectivity disruptions. In this case, even an
intelligently scheduled slow-start is inefficient, because TCP could
safely resume transmitting at the old rate instead of slow-starting.
Although originally developed to avoid line-rate bursts, techniques
for the well-known "slow-start after idle" case [I-D.ietf-tcpimpl-
restart] may be useful to further improve performance after a
disruption ends. This document does not currently describe this
additional optimization.
Also note that on asymmetric paths, TCP's standard retransmission
behavior can be over-aggressive in some scenarios. If the forward
and reverse paths have significantly different RTTs, a long
disruption for the host that sends along the lower-delay path may
still be a short disruption for its peer host, because of its
correspondingly longer RTO. When the sender resumes and slow-starts,
the peer performs fast retransmit, which can lead to line-rate
bursts. An LMDR-like mechanism that resets collected path
Eggert, et al. Expires December 30, 2005 [Page 7]
Internet-Draft TCP Immediate Retransmit June 2005
characteristics and forces a slow-start re-probe could be effective
in these cases [I-D.swami-tcp-lmdr].
The following sections of this document focus on mechanisms to
improve TCP's efficiency when resuming after long disruptions. They
use connectivity indicators to schedule retransmission attempts more
effectively than TCP's standard exponential back-off scheme. To
improve behavior after short disruptions, the mechanisms in
[I-D.swami-tcp-lmdr] are effective. Eventually, the TCP-option-based
mechanism described there may be extended to incorporate the
retransmission option described in Section 5.2 below.
4. Examples of Connectivity Indicators
This section describes examples of connectivity indicators, which the
retransmission mechanism described in the next section acts upon.
This document does not define the specifics of such connectivity
indicators but merely discusses them to illustrate the operation of
the "immediate retransmission" extension.
Connectivity indicators signal TCP when connectivity to a previously
unreachable peer may have returned. They depend on the specifics of
a node and its environment, for example network-layer mechanisms such
as DHCP [RFC2131], MobileIP [RFC3775] or HIP [I-D.ietf-hip-arch].
The IETF's Detection of Network Attachment (DNA) working group
currently investigates the specifics of providing such connectivity
indicators [I-D.ietf-dna-goals].
One example of a connectivity indicator is "next hop reachable."
This indicator could occur if a combination of the following
conditions is true, depending on host specifics:
o Network-layer connectivity along the path to the destination
returned, e.g., the outbound interface has an IP address and a
next-hop router is known, maybe due to DHCP [RFC2131] or IPv6
router advertisements [RFC2460].
o Link-layer connectivity of the link to the next-hop router along
the path to the destination returned (e.g., link-layer "link up").
o Other local conditions that affect reachability of the destination
are satisfied (e.g., IKE exchanges [RFC2409], MobileIP binding
updates [RFC3775] or HIP readdressing [I-D.nikander-hip-mm] have
completed).
The "next hop reachable" connectivity indicator only depends on
locally determinable information (e.g., state of directly-connected
links, etc.) and does not require network cooperation. It can signal
Eggert, et al. Expires December 30, 2005 [Page 8]
Internet-Draft TCP Immediate Retransmit June 2005
TCP to restart active connections across intermittently connected
links where disruptions occur on the first or last hop. This simple
indicator has the potential to improve TCP performance in many cases,
because connectivity disruptions at the first or last hop are
arguably the most common cause of connectivity disruptions in today's
Internet.
A second, more general example of a connectivity indicator would be
"end-to-end connectivity returned." If hosts have the ability to
detect or be notified of connectivity changes inside the network
(i.e., not only at the first or last hop), a more general
retransmission mechanism could act on those pieces of information.
This can improve TCP performance across intermittently connected
paths where disruptions occur at arbitrary links along the path, even
inside the network. However, providing this more general
connectivity indicator is problematic due to its dependence on remote
information and its related issues, such as trust.
Connectivity indicators are generally asymmetric, i.e., they may
occur on one peer host but not the other. As discussed above, a
local event at one host may trigger the "immediate retransmission"
mechanism, while the other host is unable to detect this event across
the network. Symmetric connectivity indicators are a special case
and always occur concurrently at both communicating hosts. Examples
for such symmetric connectivity indicators are handshake events such
as IKE exchanges or HIP readdressing. Symmetric indicators are an
important special case, because the retransmission procedure required
in response to a symmetric indicator is simpler than that for an
asymmetric one. The next section will describe this in detail.
5. TCP Immediate Retransmission Extension
This section describes the main contribution of this document, i.e.,
TCP extensions for immediate retransmission in response to
connectivity indicators. The basic idea behind the "immediate
retransmission" extension is to allow TCP to resume stalled
connections as soon as it receives an indicator that connectivity to
previously unreachable peers may have returned.
This document does not specify how TCP determines which connections a
specific connectivity indicator affects, i.e., for which connections
it should initiate retransmission attempts. This is a property of
individual connectivity indicators. For example, the "next hop
reachable" indicator described in the previous section affects
connections to all destinations routed through that hop.
It is important to note that this retransmission extension does not
modify TCP's basic congestion control, fairness properties or slow-
Eggert, et al. Expires December 30, 2005 [Page 9]
Internet-Draft TCP Immediate Retransmit June 2005
start algorithms. The only difference in TCP behavior is the timing
of retransmission events and, in some cases, a minor, fixed increase
in the number of initially retransmitted segments. The "immediate
retransmission" extension increases performance through better
utilization of connected periods, not through sending traffic at a
faster rate or modifying TCP's congestion control mechanisms.
Hosts that implement the "immediate retransmission" TCP extension
MUST implement the following retransmission mechanism whenever they
receive a connectivity indicator:
When receiving a symmetric or asymmetric connectivity indicator,
conforming TCP implementations MUST immediately initiate the standard
retransmission procedure for connections that the connectivity
indicator affects - just as if the RTO for those connections had
expired.
If the connectivity indicator is symmetric, i.e., all peers receive
it concurrently; this simple change is sufficient to kick-start the
relevant TCP connections.
If the connectivity indicator is asymmetric, this simple extension is
not always sufficient, because only one peer has received the
indicator. In case the host receiving the connectivity indicator has
no (or too little) unacknowledged data awaiting retransmission, it
will not emit enough segments to cause its peer node, which may have
unacknowledged data as well, to attempt retransmission. Transmission
would thus only resume in one direction, which is ineffective for
two-way communication.
To avoid this issue, conforming TCP implementation MUST perform a
different retransmission procedure in response to an asymmetric
connectivity indicator. The following sections describe two
alternative TCP modifications that aim to improve retransmission
behavior after receiving an asymmetric connectivity indicator.
Section 5.1 describes the first variant. As described in an earlier
revision of this document, this variant generates duplicate ACKs to
activate the peer's fast retransmit algorithm. Section 5.2 describes
the second variant, based on an explicit, new TCP "immediate
retransmission" option.
5.1 Variant Based on Fast Retransmit
This variant of improving TCP retransmission scheme based on
connectivity indicators uses duplicate ACKs. Conforming TCPs MUST
send at least four segments that all acknowledge the last segment
received from a peer for all connections that the connectivity
indicator affects. These triple-duplicate ACKs will activate the
Eggert, et al. Expires December 30, 2005 [Page 10]
Internet-Draft TCP Immediate Retransmit June 2005
peers' fast retransmit algorithms and cause them to immediately
restart communication in the reverse direction, i.e., before their
next scheduled retransmission.
In this variant, if a TCP connection that a connectivity indicator
affects has four or more unacknowledged data segments in the
retransmission queue, it SHOULD piggyback the triple-duplicate ACK to
the regular retransmissions of those data segments. In this case,
the "immediate retransmission" TCP extension does not require
additional messages, compared to standard TCP.
For connections where the retransmission queue contains only three or
less unacknowledged data segments, TCP implementations supporting the
"immediate retransmission" TCP extension MUST send additional pure
ACKs until they have sent a complete triple-duplicate ACK. In the
worst case, when the retransmission queue is empty, this scheme
requires four additional ACKs, compared to standard TCP.
After the peer's fast retransmit algorithm sends the assumed missing
segment, TCP performs either fast recovery or a slow-start [RFC2581],
depending on the length of the connectivity disruption. If the
connectivity indicator occurs before the RTO, i.e., for very short
disruptions, TCP has not yet lost its ACK clock and can thus perform
fast recovery. After longer disruptions, TCP falls back to slow-
start to restart the ACK clock, just as it does at the beginning of a
connection.
The result of this modification is twofold. First, TCP connections
receiving the connectivity indicator attempt retransmission of their
unacknowledged segments before the next scheduled RTO. This
increases utilization of connected periods. Second, TCP connections
receiving the connectivity indicator use an existing TCP mechanism
(triple-duplicate ACK) to signal their peer. Although the peer may
not have received a connectivity indicator itself (e.g., the
indicator was asymmetric), this causes it to attempt faster
retransmission as well.
As mentioned above, the "immediate retransmission" scheme can
generate up to four additional segments, compared to standard TCP.
All additional segments are pure ACKs and hence small, resulting in a
minor total overhead. Furthermore, measurements have shown that
increasing TCP's initial window is not problematic [ALLMAN]; this may
indicate that a minor increase in traffic at retransmission time may
be tolerable as well.
5.2 Variant Based on Retransmission Option
Unlike the mechanism described in the previous section, the second
Eggert, et al. Expires December 30, 2005 [Page 11]
Internet-Draft TCP Immediate Retransmit June 2005
variant described in this section does not overload an existing TCP
mechanism - i.e., fast retransmit - to improve retransmission after a
connectivity disruption. Generating duplicate ACKs in the manner
described in Section 5.1 was criticized by some working group
participants as "an abuse of a well-defined TCP mechanism for an
unrelated purpose." The variant described in this section uses a new
TCP "Immediate Retransmission" Option to explicitly signal to the
remote peer that should attempt a retransmit. It was originally
suggested by Kacheong Poon [POON] and the specifics are currently
under investigation; this section describes the current state of this
variant.
When receiving a connectivity indicator, conforming TCP
implementations MUST send a single segment to each affected peer.
This segment MUST contain the TCP Immediate Retransmission Option and
may either be a queued data retransmission or a pure ACK, if the
connection has no data awaiting retransmission.
Upon reception of the TCP Immediate Retransmission Option, conforming
TCPs MUST immediately attempt a retransmit. This could either be a
fast retransmit for short disruptions or a slow-start for long
disruptions.
Note that the same effect can be achieved by overloading the TCP LMDR
option [I-D.swami-tcp-lmdr], i.e., sending it in response to a
connectivity indicator, and triggering a retransmission attempt upon
reception. Overloading LMDR in this way also has the benefit of
being able to force a reset of accumulated path state followed by a
slow-start. However, a flag in the option would be needed to trigger
a retransmit without this reset, to cover all types of disruptions
discussed in Section 3. Given the similar motivation and relatively
orthogonal, complementary mechanisms proposed here and in [I-D.swami-
tcp-lmdr], this may be attractive solution.
5.3 Discussion
One major drawback of using a retransmission option compared to the
one based on fast retransmit is that it requires both communicating
TCPs to implement this modification. Triggering a peer's fast
retransmit with duplicate ACKs only requires the triggering local
peer to support this extension - the triggered remote peer may run an
unmodified TCP stack. Additionally, firewalls may block segments
carrying unknown TCP options. Finally, TCP option space is becoming
limited.
One major advantage of using an option, however, is that it avoids
overloading an established TCP mechanism to produce side effects.
Using an option also allows a more careful definition of the
Eggert, et al. Expires December 30, 2005 [Page 12]
Internet-Draft TCP Immediate Retransmit June 2005
semantics of the mechanism, e.g., control of whether and when it
should reset accumulated path state or what transmission scheme to
schedule retransmits with.
6. Related Work
Several other approaches try to improve TCP performance in the
presence of connectivity disruptions [SCOTT][I-D.dawkins-trigtran-
linkup][RFC3819]. They attempt to improve TCP startup after a
connectivity disruption by retransmitting buffered or newly-crafted
segments from inside the network.
These proposals can be problematic, because TCP is built on the
assumption that segments older than the maximum segment lifetime
(MSL) of 2 minutes [RFC0793] will never be received. When a
connectivity disruption lasts longer than the MSL, either these
proposals will become ineffective or they risk leaking buffered old
segments onto new connections, violating TCP's semantics.
The "immediate retransmission" modification also improves performance
over a path with frequent connectivity disruptions. The basic idea
is to schedule an additional, speculative retransmission attempt when
a TCP implementation receives an indication that connectivity to a
peer node has returned. Unlike the other proposals, the "immediate
retransmission" scheme uses regular retransmissions, i.e.,
retransmits data that is buffered at the end systems. Because that
data has not entered the network yet, it is not subject to the
problematic MSL rule. Consequently, the "immediate retransmission"
scheme remains effective even for connectivity disruption longer than
the MSL, without the risk of compromising connection integrity.
Other transport-layer approaches such as the Explicit Link Failure
Notification [HOLLAND] or TCP-F [CHANDRAN] use specific messages
generated by intermediate routers to inform TCP senders about
disrupted paths. The former extends the TCP state machine with a new
"stand by" state during which the standard retransmission timers are
disabled. In this state, TCP periodically probes the network to
detect connectivity reestablishment. Depending on the frequency of
the probes and the network environment, this can cause significant
amounts of extra traffic. TCP-F completely suspends ongoing
connections until receiving "route reestablishment notifications"
that indicate peer reachability. Both proposals are primarily
designed for ad hoc networks and rely on changes to intermediate
routers, whereas the "immediate retransmission" extension only
requires end system support.
ATCP [ATCP] uses a similar approach as the Explicit Link Failure
Notification, but discovers link failures through ICMP Destination
Eggert, et al. Expires December 30, 2005 [Page 13]
Internet-Draft TCP Immediate Retransmit June 2005
Unreachable messages. Caceres and Iftode [CACERES] propose and
evaluate a solution similar to the TCP "immediate" retransmission
extension that improves performance during MobileIP hand-offs.
Unlike the solution proposed in this paper, the hand-off mechanism
targets connectivity disruptions of a few seconds.
7. Security Considerations
To protect against abuse of the TCP "immediate retransmission"
extension, e.g., denial-of-service attacks by flooding TCP with
connectivity indicators, a control mechanism that "rate-limits" these
indicators may be effective. This document does not currently
discuss the security aspects of connectivity indicators and the
"immediate retransmission" extension to TCP.
8. Conclusion
This document described the "immediate retransmission" extension to
TCP's standard retransmission scheme. The new extension improves
performance across intermittently connected paths through additional,
speculative retransmission attempts upon receiving external
connectivity indicators. One example of such a connectivity
indicator is "first hop router reachable." This document did not
define the specifics of such connectivity indicators, although it
described some examples to illustrate the operation of the "immediate
retransmission" extension, which is its main contribution.
9. IANA Considerations
This section is to be interpreted according to [RFC2434].
This document does not define any new namespaces. It uses an 8-bit
TCP option number maintained by IANA at
http://www.iana.org/assignments/tcp-parameters.
10. Acknowledgments
The following people have helped to improve this document through
thoughtful suggestions and feedback: Marcus Brunner, Wesley Eddy,
Kacheong Poon, Juergen Quittek and Joe Touch.
The authors are partly funded by Ambient Networks, a research project
supported by the European Commission under its Sixth Framework
Program. The views and conclusions contained herein are those of the
authors and should not be interpreted as necessarily representing the
official policies or endorsements, either expressed or implied, of
the Ambient Networks project or the European Commission.
Eggert, et al. Expires December 30, 2005 [Page 14]
Internet-Draft TCP Immediate Retransmit June 2005
11. References
11.1 Normative References
[RFC0793] Postel, J., "Transmission Control Protocol", STD 7,
RFC 793, September 1981.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 2434,
October 1998.
[RFC2581] Allman, M., Paxson, V., and W. Stevens, "TCP Congestion
Control", RFC 2581, April 1999.
[RFC2988] Paxson, V. and M. Allman, "Computing TCP's Retransmission
Timer", RFC 2988, November 2000.
11.2 Informative References
[ALLMAN] Allman, M., Hayes, C., and S. Ostermann, "An Evaluation of
TCP with Larger Initial Windows.", ACM Computer
Communication Review, Vol. 28, No. 3, July 1998.
[ATCP] Liu, J. and S. Singh, "ATCP: TCP for Mobile Ad Hoc
Networks", IEEE Journal on Selected Areas in
Communication, Vol. 19, No. 7, July 2001.
[CACERES] Caceres, R. and L. Iftode, "Improving the Performance of
Reliable Transport Protocols in Mobile Computing
Environments", IEEE Journal on Selected Areas in
Communication, Vol. 13, No. 5, 1995.
[CHANDRAN]
Chandran, K., Raghunathan, S., Venkatesan, S., and R.
Prakash, "A Feedback Based Scheme For Improving TCP
Performance In Ad-Hoc Wireless Networks", IEEE Personal
Communication Systems (PCS) Magazine: Special Issue on Ad
Hoc Networks, Vol. 8, No. 1, February 2001.
[DRIVE-THRU]
Ott, J. and D. Kutscher, "Drive-Thru Internet: IEEE
802.11b for Automobile Users", Proc. Infocom 2004,
March 2004.
[HOLLAND] Holland, G. and N. Vaidya, "Analysis of TCP Performance
Eggert, et al. Expires December 30, 2005 [Page 15]
Internet-Draft TCP Immediate Retransmit June 2005
over Mobile Ad Hoc Networks", Proc. 5th Annual ACM/IEEE
International Conference on Mobile Computing and
Networking, Seattle, WA, USA, 1999.
[I-D.dawkins-trigtran-linkup]
Dawkins, S., "End-to-end, Implicit 'Link-Up'
Notification", draft-dawkins-trigtran-linkup-01 (work in
progress), October 2003.
[I-D.ietf-dna-goals]
Choi, J., "Goals of Detecting Network Attachment in IPv6",
draft-ietf-dna-goals-04 (work in progress), December 2004.
[I-D.ietf-hip-arch]
Moskowitz, R., "Host Identity Protocol Architecture",
draft-ietf-hip-arch-02 (work in progress), January 2005.
[I-D.ietf-tcpimpl-restart]
Hughes, A., Touch, J., and J. Heidemann, "Issues in TCP
Slow-Start Restart After Idle",
draft-ietf-tcpimpl-restart-00 (work in progress),
March 1998.
[I-D.ietf-tcpm-tcp-uto]
Eggert, L. and F. Gont, "TCP User Timeout Option",
draft-ietf-tcpm-tcp-uto-00 (work in progress), May 2005.
[I-D.nikander-hip-mm]
Nikander, P., "End-Host Mobility and Multi-Homing with
Host Identity Protocol", draft-nikander-hip-mm-02 (work in
progress), July 2004.
[I-D.swami-tcp-lmdr]
Swami, Y. and K. Le, "Lightweight Mobility Detection and
Response (LMDR) Algorithm for TCP",
draft-swami-tcp-lmdr-05 (work in progress), February 2005.
[POON] Poon, K., "Personal Communication", August 2004.
[RFC2131] Droms, R., "Dynamic Host Configuration Protocol",
RFC 2131, March 1997.
[RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
(IKE)", RFC 2409, November 1998.
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", RFC 2460, December 1998.
Eggert, et al. Expires December 30, 2005 [Page 16]
Internet-Draft TCP Immediate Retransmit June 2005
[RFC3775] Johnson, D., Perkins, C., and J. Arkko, "Mobility Support
in IPv6", RFC 3775, June 2004.
[RFC3819] Karn, P., Bormann, C., Fairhurst, G., Grossman, D.,
Ludwig, R., Mahdavi, J., Montenegro, G., Touch, J., and L.
Wood, "Advice for Internet Subnetwork Designers", BCP 89,
RFC 3819, July 2004.
[SCHUETZ-CCR]
Schuetz, S., Eggert, L., Schmid, S., and M. Brunner,
"Protocol Enhancements for Intermittently Connected
Hosts", To appear: ACM Computer Communication Review, Vol.
35, No. 3, July 2005.
[SCHUETZ-THESIS]
Schuetz, S., "Network Support for Intermittently Connected
Mobile Nodes", Diploma Thesis, University of Mannheim,
Germany, June 2004.
[SCOTT] Scott, J. and G. Mapp, "Link layer-based TCP optimisation
for disconnecting networks", ACM Computer Communication
Review, Vol. 33, No. 5, October 2003.
[TCP-ILLUSTRATED]
Stevens, W., "TCP/IP Illustrated, Volume 1: The
Protocols", Addison-Wesley , 1994.
Editorial Comments
[anchor2] LE: The authors have seen the idea of triggering
retransmits based on connectivity events of directly-
connected links attributed to Phil Karn, but were unable
to locate a specific reference. Pointers to a citable
reference are highly appreciated!
Eggert, et al. Expires December 30, 2005 [Page 17]
Internet-Draft TCP Immediate Retransmit June 2005
Authors' Addresses
Lars Eggert
NEC Network Laboratories
Kurfuerstenanlage 36
Heidelberg 69115
Germany
Phone: +49 6221 90511 43
Fax: +49 6221 90511 55
Email: lars.eggert@netlab.nec.de
URI: http://www.netlab.nec.de/
Simon Schuetz
NEC Network Laboratories
Kurfuerstenanlage 36
Heidelberg 69115
Germany
Phone: +49 6221 90511 65
Fax: +49 6221 90511 55
Email: simon.schuetz@netlab.nec.de
URI: http://www.netlab.nec.de/
Stefan Schmid
NEC Network Laboratories
Kurfuerstenanlage 36
Heidelberg 69115
Germany
Phone: +49 6221 90511 54
Fax: +49 6221 90511 55
Email: stefan.schmid@netlab.nec.de
URI: http://www.netlab.nec.de/
Appendix A. Document Revision History
+-----------+-------------------------------------------------------+
| Revision | Comments |
+-----------+-------------------------------------------------------+
| 00 | Initial version. |
| 01 | Updated terminology according to [SCHUETZ-CCR]. Added |
| | "retransmission option" variant as Section 5.2. |
Eggert, et al. Expires December 30, 2005 [Page 18]
Internet-Draft TCP Immediate Retransmit June 2005
| 02 | Added classification of connectivity disruptions and |
| | describe the design space in relation to |
| | [I-D.swami-tcp-lmdr] and [I-D.ietf-tcpimpl-restart]. |
| | Updated references. |
+-----------+-------------------------------------------------------+
Eggert, et al. Expires December 30, 2005 [Page 19]
Internet-Draft TCP Immediate Retransmit June 2005
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Eggert, et al. Expires December 30, 2005 [Page 20]