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]