On the properties of an adaptive TCP Minimum RTO
Introduction
The Retransmission Timeout policy of standard TCP is governed by the rules defined in RFC 2988 [11]. The TCP–RTO is calculated upon each ACK arrival after smoothing out the measured samples, and weighting the recent RTT-variation history:where, RTTVAR holds the RTT variation and SRTT the smoothed RTT. The same RFC also specifies that the TCP–RTO should not be smaller than 1 s [11]. This value is known as the Minimum RTO and constitutes the subject of interest in the present paper.
Currently, there exists no explicit official instruction to address the setting of the Minimum RTO value for TCP. Based on the analysis in [1], RFC 2988 [11] concludes that the TCP Retransmission Timeout should not be smaller than 1 s. Allman and Paxson in [1] investigated the impact of the Minimum RTO and found that TCP results in lower Throughput performance for Minimum RTO values smaller than 1 s. According to RFC 2988 [11], there are two main limitations that call for a lower bound to protect TCP from spurious timeouts:
- (1)
The clock granularity ( for most OSs at that time): if the RTT equals the clock granularity, then the timeout may falsely expire before the ACK’s arrival at the server.
- (2)
The Delayed Acknowledgments (usually set to ) [3]: in case an ACK is delayed for more than the current TCP–RTO, the timer will spuriously expire.
We study each of the above limitations in turn and show that, in fact, there is a lot of space for improvement in the Minimum RTO setting to improve TCP performance. In Section 2, we provide details regarding the clock granularity of modern OSs and find that it is far below the threshold assumed in [11]. We define a Cost Function to capture the impact of the Minimum RTO setting on TCP’s performance. We conclude that the timer granularity does not constitute a limitation for setting the Minimum RTO, in modern OSs. In Section 3, we investigate the limitation of the TCP Delayed ACK mechanism on the Minimum TCP–RTO. We propose a mechanism that makes the TCP server aware of whether the next ACK to be received will possibly be delayed or not. Based on that, we assign a Minimum RTO value to each outgoing packet: a longer Minimum RTO to packets whose ACKs may be delayed and no Minimum RTO, otherwise. The proposed algorithm is called Adaptive MINRTO (AdMINRTO). We present our performance evaluation plan in Section 4. Section 5 includes our extensive performance evaluation, which is divided in three main parts. More precisely, in Section 5.1, we observe that several OSs implement different values for the lower bound of the TCP–RTO, leading to communication inconsistencies. In Section 5.2, we simulate last-mile wireless users, where losses happen due to fading channels; we present simulation results for web flows (Section 5.2.1), short FTP flows (e.g., small file transfers, Section 5.2.2) and long FTP flows (Section 5.2.3). Finally, in Section 5.3, we investigate the impact of the Minimum RTO value on Goodput, when losses happen due to buffer overflow (i.e., congestion losses). Simulation results reveal that the proposed algorithm improves significantly TCP performance especially in case of wireless losses. In Section 6, we discuss deployability issues; we conclude the paper in Section 7.
Section snippets
Clock granularity
We define a Cost Function (Eq. (2)) to capture the extra time a sender has to wait before retransmitting, due to the conservative Minimum RTO value:If , then the Minimum RTO value adds no extra waiting time, in case of packet loss, since the TCP–RTO value is larger than the Minimum RTO. Otherwise, the Minimum RTO value will negatively impact TCP Throughput performance, by forcing the TCP sender to wait the Minimum RTO timer expiration, before retransmitting.
We set
Dealing with Delayed ACKs
The Delayed ACK mechanism [3] is quite popular among the vast majority of the OSs, currently. According to that mechanism, the TCP client will delay sending an ACK for an incoming packet, for as long as the Delayed ACK timer suggests (see Table 1), unless another packet needs to be sent on that connection (piggybacking). In other words, if a stream of packets arrive at the TCP client, the latter will generate one ACK for every other packet. Otherwise, if one packet arrives at the TCP client,
Performance evaluation plan
We evaluate the performance of the proposed mechanism using ns-2 [10]. We use realistic protocol settings to reflect the behavior of Internet servers [9], [8], [18]. That is, most OSs use the SACK version of TCP [7] with the timestamps option enabled [6] and the response against spurious timeouts [5], [17] in place. We set the Delayed ACK timer to and the clock granularity to ; we compare the proposed mechanism with three different Minimum RTO implementations: (i) implemented in
Results
We divide this section in three main subsections. First, (Section 5.1), we show that due to limited standardization efforts on the subject of the Minimum RTO setting, communication problems may arise when different OSs attempt to “talk” to each other. Next, we present the impact of the Minimum RTO setting on: (i) web flows (Section 5.2.1), (ii) short FTP flows (Section 5.2.2) and (iii) long FTP flows (Section 5.2.3). Throughout Section 5.2, we emphasize on next generation, broadband
Deployability
Extensive performance evaluation revealed that the proposed algorithm improves significantly TCP’s performance in case of data transfers over short (up to approximately ) RTT paths, where the last-mile wireless link induces random errors. In case of short RTT paths and minimal wireless losses, short Minimum RTO settings increase TCP’s retransmission effort. Otherwise, in case of long RTT paths and losses due to congestion, the proposed algorithm neither improves nor degrades TCP’s
Conclusions
We have shown that the conservative 1-s Minimum RTO setting causes severe TCP performance degradation, especially in case of wireless losses. We argued that such a conservative setting, to protect against spurious TCP timeouts, is not needed, since: (i) modern OSs use fine-grained clocks and (ii) the Delayed ACK response can be dealt with, using the proposed Adaptive MINRTO algorithm. Simulation results show that the proposed algorithm achieves significantly higher Goodput performance, when
References (18)
- M. Allman, V. Paxson, On estimating end-to-end network path properties, in: Proceedings of ACM SIGCOMM, September 1999,...
- M. Allman, V. Paxson, W. Stevens, TCP congestion control, RFC 2581, April...
- R. Braden, Requirements for internet hosts – communication layers, RFC 1122, October...
- et al.
Random early detection gateways for congestion avoidance
IEEE/ACM Transactions on Networking
(1993) - A. Gurtov, R. Ludwig, Responding to spurious timeouts in TCP, in: Proceedings of IEEE INFOCOM,...
- V. Jacobson, R. Braden, D. Borman, TCP extensions for high performance, RFC 1323, May...
- M. Mathis, J. Mahdavi, S. Floyd, A. Romanow, TCP selective acknowledgement options, RFC 2018, April...
- Alberto Medina, Mark Allman, Sally Floyd, Measuring interactions between transport protocols and middleboxes,...
- et al.
Measuring the evolution of transport protocols in the internet
SIGCOMM CCR
(2005)