The Impact of delayed Acknowledgments on TCP perform- ance over

a high propagation delay and a high bit error rate com- ... p.756–69. [5] H. Balakrishnan, V.N. Padmanabhan, R.H.. Katz, “The effects of asymmetry on TCP per-.
125KB taille 2 téléchargements 275 vues
The Impact of delayed Acknowledgments on TCP performance over Satellite Links Tanja Langa Daniel Floreania,b aInstitute for Telecommunications Research Cooperative Research Centre for Satellite Systems University of South Australia, Mawson Lakes, SA 5095 AUSTRALIA bCisco

Systems, Adelaide, SA 500 AUSTRALIA

[email protected] ABSTRACT The performance of the Transmission Control Protocol (TCP) over network paths that include a wireless or a satellite link is a very active area of research. A number of papers have been published proposing different ways to improve TCP over these kinds of links, either by new TCP functionality, or by link level enhancements. Very few of these papers consider the delayed acknowledgment strategy that is implemented by many TCP receivers, when presenting their results. In this paper we will show that this acknowledgment strategy can have a significant impact on the performance of TCP and should not be neglected when evaluating new solutions for wireless environments. Key–Words: Transmission Control Protocol (TCP), delayed acknowledgments, satellite link, high bit error rate

1. INTRODUCTION Recently a lot of research has been undertaken to study the performance of the Transmission Control Protocol (TCP) over networks that include non–wireline paths. In [1] to [11] different problems that TCP faces in satellite and wireless environments are discussed and various solutions to improve TCP’s performance are proposed. However most of these solutions do not consider

www.itr.unisa.edu.au/~tanja the delayed acknowledgment strategy that is deployed by many TCP receivers in the Internet today. RFC 1122 [12] recommends that the receiver acknowledges every second full sized segment received. This is in contrast to the original TCP acknowledgment strategy in which an acknowledgment for every segment received is sent. This delayed acknowledgment strategy can have a considerable impact on TCP performance. TCP’s sending rate is governed by a congestion window (cwnd) and the growth of this window is proportional to the number of acknowledgments received. TCP’s congestion control mechanism has been separated into two phases ([13]): Slow Start which is performed at the beginning of a connection and after a timeout, and Congestion Avoidance which is entered after the congestion window has reached a certain size, the slow start threshold (ssthresh). During Slow Start the congestion window is increased by one for every acknowledgment received, while during Congestion Avoidance it is only increased by 1/cwnd for every acknowledgment. This leads to a doubling of cwnd every Round Trip Time (RTT) during Slow Start and an increase of cwnd by one every RTT during Congestion Avoidance. In contrast, when the delayed acknowledgment strategy is used, cwnd only increases 1.5 times every RTT during Slow Start and by one every second RTT during Congestion Avoidance. The negative effects of delayed acknowledgments on TCP performance have been described in [14] and different mechanisms to counteract them have been proposed. The results presented in this paper aim to quantify the effects that delayed acknowledgments have on TCP performance when a satellite link is part of the network path. A satellite link has a higher delay and loss characteristic than a wireline one on a per hop basis. These characteristics already cause problems for TCP. Com-

bined with delayed acknowledgments TCP performance is degraded further. Since the use of delayed acknowledgments is recommended and frequently implemented, we show that it is important to consider it when evaluating new solutions to TCP’s performance inefficiencies over satellite links. In the next sections we present our simulation results. In the first set of simulations we only consider a lossless link, while the effects of a lossy channel on TCP’s performance are examined in the second set.

2. SIMULATION SETUP Our simulations were performed using the network simulator (ns) version 2.1b7. Because we were not interested in the effects caused by routing or congestion our simulation setup only consist of a source and a destination connected by a satellite link. The link capacity is 1.5Mb/sec and it has a one way propagation delay of 100ms representing a Medium Earth Orbit satellite hop or a multiple hop Low Earth Orbit satellite path. A 10Mbyte file was transferred from the source to the destination during each simulation run.

3. LOSSLESS LINK To establish an upper bound on the performance we can expect over a link with such a bandwidth and delay characteristic, we conducted one simulation run without bit errors on the link. Since there is no randomness involved in this simulation one run is sufficient. In the lossless case there is no difference between the existing TCP variants such as Tahoe and Reno because their differences are mainly seen in how fast they can recover from a segment loss. Therefore any TCP variant can be chosen. For this simulation run we used TCP Reno because it is the most commonly used TCP. The result of the initial simulation run can be seen in Figure 1. This figure contains two time–sequence number plots; one for the transfer where every segment is acknowledged, to which we referred to as “basic” acknowledgment strategy, and one for the transfer where the delayed acknowledgment strategy is used. The plots show at what time the data segments are transmitted at the sender. To our surprise TCP with delayed acknowledgments only performed slightly worse than a TCP connection using the basic strategy.

Figure 1. Time/SeqNr plot with a ssthresh of 1000

The reason for the similar transfer times (and therefore throughputs) of the two connections is that the connection using delayed acknowledgments seems to “catch up” to the other one. This catching up is caused by the different times the connections remain in Slow Start (the bend in the graph approximately at a sequence number of 2000 for the basic ack transfer and at about 3000 for the one using delayed acks) which is governed by ssthresh. The congestion window of the connection using the basic acknowledgment strategy grows faster than the other one, therefore Congestion Avoidance is entered earlier. During the time the delayed acknowledgment connection is still in Slow Start, while the other one is already in Congestion Avoidance, the connection using delayed acknowledgments actually transmits more segments and therefore is able to catch up to it. Following this discovery we investigated the impact that different values of ssthresh have on the ability of connections using delayed acknowledgments to catch up to a connection using the basic acknowledgment strategy. Our simulation results showed that ssthresh needs to be above the bandwidth delay product of the connection for this effect to take place. This is expressed by the following formula:       

        

For our simulation setup with a bandwidth of 1.5Mb/ sec, 0.2 seconds RTT and a segment size of 536 bytes,

the bandwidth delay product is about 70 segments. Figure 2 and Figure 3 show simulation runs with a ssthresh of 50 and 100 segments respectively.

ssthresh, the wider the performance gap between the two acknowledgment strategies. This is an important observation to which we will come back while discussing the TCP performance results over a lossy link.

4. LOSSY LINK In this section we present simulation results where random bit errors with an error rate of 10–6 were introduced into the satellite link. Unlike in the lossless case, different variants of TCP such as Tahoe, Reno or Sack will have different performance results according to how well they are capable of recovering from these errors.

Figure 2. Time/SeqNr plot with a ssthresh of 50

The major performance metric we are interested in is the throughput of a connection as perceived by the user. We also present the number of timeouts a connection experiences since this number has a direct effect on the throughput. Because of the randomness of these simulation runs the same file transfer was performed 100 times. The mean and standard deviation of the performance metrics are presented. For these simulations we used the modular transport protocol model introduced in [15] which enables us to test the performance of different congestion control strategies in combination with different error detection mechanisms. The following is a list of congestion control and error detection mechanisms investigated: Congestion control & Error detection 1 Tahoe & DupAck (TCP Tahoe) 2 Tahoe & Newreno 3 Tahoe & Sack 4 Reno & DupAck (TCP Reno) 5 Reno & Newreno 6 Reno & Sack 7 Newreno & DupAck 8 Newreno & Newreno (TCP Newreno) 9 Newreno & Sack 10 RenoPipe & DupAck 11 RenoPipe & Newreno 12 RenoPipe & Sack (TCP Sack)

Figure 3. Time/SeqNr plot with a ssthresh of 100

As can be seen in Figure 2, with ssthresh smaller than the bandwidth delay product the connection with delayed acknowledgments leaves Slow Start too early to catch up with the second one, while with a ssthresh close to the bandwidth delay product (as in Figure 3.) there is almost a perfect match between the two connections. The difference in throughputs is only about 1%. Our simulation runs have shown that the smaller

Figure 4. and Figure 5. show the throughput and the number of timeouts that the different TCP variants experience when used with a receiver that deploys the basic acknowledgment strategy. For a more detailed discussion of these results see [15]. We note here that connections using the Tahoe congestion control strategy (1,2,3) or the duplicate acknowledgment error detection mechanism (1,4,7,10) have the lowest throughput. The reason for this is that Tahoe enters Slow Start after every loss and duplicate acknowledgments experience more timeouts than other error detection mechanisms (see

Figure 5) which also leads to multiple executions of Slow Start.

ferent TCPs. It is worth noticing that it is the more sophisticated variants of TCP like NewReno (8) or Sack (12) that experience a higher degradation in throughput than the older variants like Tahoe (1).

Figure 4. Throughput with basic ack strategy Figure 6. Throughput with delayed ack strategy

Figure 5. Timeouts with basic ack strategy

The aim of this paper is to compare the results obtained using the basic acknowledgment strategy with the results of connections using delayed acknowledgments. The mean throughput and number of timeouts of these connections are shown in Fig 6. and Fig 7. Unlike the simulations over the lossless link there is a throughput degradation for all TCP variants when delayed acknowledgments are used. The throughput degradation ranges from 4kB/sec to 6kB/sec for the dif-

Figure 7. Timeouts with delayed ack strategy

There are two main reasons for this throughput degradation when delayed acknowledgments are used. The first one has already been discussed in the previous section: only if the ssthresh of a connection using delayed acknowledgments is higher than the bandwidth delay product it has a chance to catch up to a connection using basic acknowledgments. Whenever TCP experiences a segment loss the ssthresh is set to halve the current con-

gestion window. Over a link with a bit error rate of 10–6 the frequent losses reduce the ssthresh to an average value below 10 which is far away from the bandwidth delay product. Therefore it is not possible for connections using delayed acknowledgments to have a similar throughput to the ones with basic acknowledgments. The second reason for the lower throughput is the higher number of timeouts that connections experience using delayed acknowledgments. In some cases they have twice the number of timeouts than the ones using basic acknowledgments. This higher number of timeouts is caused by the fact that a connection using delayed acknowledgments on average has a smaller congestion window size than a connection whose receiver acknowledges every segment. This smaller congestion window is translated into a smaller number of segments in flight during any given RTT, which reduces the chance of duplicate acknowledgments once a segment gets lost. All error detection strategies rely on a threshold amount of duplicate acknowledgments before they retransmit the first lost segment. Because duplicate acknowledgments are less frequent the timeout mechanisms is invoked more frequently to recover from lost segments. As said before, timeouts always result in re–entering Slow Start which again reduces the throughput of the connection.

TCP mechanisms are impacted more severely by the use of delayed acknowledgment, which implies that any new mechanism proposed for improving the performance of TCP over satellite or wireless links should be tested with receivers using the delayed acknowledgment strategy as well as the basic one.

6.ACKNOWLEDGMENTS This work was carried out with financial support from the Commonwealth of Australia through the Cooperative Research Centres Program.

7.REFERENCES [1]

M. Allman, C. Hayes, H. Kruse, S. Ostermann, “TCP Performance Over Satellite Links”, Proceedings of the 5th International Conference on Telecommunication Systems, March, 1997, http://tcpsat.lerc.nasa.gov/ tcpsat/papers.html

[2]

N. Ghani, S. Dixit ”TCP/IP enhancements for satellite networks”, IEEE–Communications– Magazine.vol.37, no.7; July 1999; p.64–72

[3]

H. Balakrishnan, S. Seshan, E. Amir, R.H. Katz, “Improving TCP/IP performance over wireless networks“, MOBICOM’95.Proceedings of The First Annual International Conference on Mobile Computing and Networking. ACM, New York, NY, USA; 1995; viii+226 pp. p.2–11

[4]

H. Balakrishnan, V.N. Padmanabhan, S. Seshan, R.H. Katz, “A comparison of mechanisms for improving TCP performance over wireless links”, IEEE/ACM–Transactions– on–Networking.vol.5, no.6; Dec. 1997; p.756–69

[5]

H. Balakrishnan, V.N. Padmanabhan, R.H. Katz, “The effects of asymmetry on TCP performance“, MobiCom ’97.Proceedings of the Third Annual ACM/IEEE International Conference on Mobile Computing and Networking. ACM, New York, NY, USA; 1997; ix+270 pp. p.77–89

[6]

V.G. Bharadwaj, J.S. Baras, N.P. Butts, “Internet Service via Broadband Satellite Networks”, CSHCN TR 99–11 Center for Satellite and Hybrid Communication Networks Technical Report, http://www.isr.umd.edu/ TechReports/CSHCN/, 1999

5. CONCLUSION In this paper we evaluated the effects that the delayed acknowledgment strategy, implemented by many receivers in the Internet, has on the performance of TCP over a satellite link. A satellite link is characterised by a high propagation delay and a high bit error rate compared to a terrestrial wireline link. In our first set of simulations we assumed a lossless link and focused only on the impact that a high propagation delay has on TCP connections using the delayed acknowledgment strategy. To our the impact was less severe than expected. We found out that, if the slow start threshold is set to more than the bandwidth delay product of the path, connections with delayed acknowledgments have almost equal throughput (about 1% difference) to connections using the basic acknowledgment strategy. In the next set of simulations we also included the effects of bit errors in our study. Our results show that over a lossy link connections using delayed acknowledgments perform considerably worse than the ones using basic acknowledgments. This performance degradation is a combination of a low ssthresh and a high amount of timeouts caused by a fewer number of segments in flight. The results also show that more sophisticated

[7]

[8]

[9]

[10]

[11]

C.P. Charalambos, G.Y. Lazarou, V.S. Frost, J. Evans, R. Jonkman, “Experimental and simulation performance results of TCP/IP over high–speed ATM over ACTS”, ICC ’98. 1998 IEEE International Conference on Communications. New York, NY, USA

118x Final Report High–Speed TCP Interoperability Testing”, NASA Glenn Research Center Technical Reports, November 1999 [12]

R.T. Braden, “Requirements for Internet hosts – communication layers, RFC 1122”, Internet Request For Comments 1122, Oct 1989

[13]

H. Kruse, S. Ostermann, M. Allman, “On the Performance of TCP–based Data Transfers on a Faded Ka–Band Satellite Link“, Proceedings of the 6th Ka–Ban Utilization Conference, June 2000

V. Jacobson, ”Congestion Avoidance and Control”, Computer Communication Review, vol. 18, no. 4, pp. 314–329, Aug. 1988. ftp://ftp.ee.lbl.gov/papers/congavoid.ps.Z.

[14]

M. Allman, J. Griner, A. Richard, “TCP Behavior in Networks with Dynamic Propagation Delay”, Proceedings of Globecom 2000, November 2000

M. Allman, “On the generation and use of TCP acknowledgments”, Computer Communication Review, vol.28, no.5, Oct. 1998, pp.4–21

[15]

T. Lang, D. Floreani, “Performance evaluation of different TCP error detection and congestion control strategies over a wireless link”, to appear in ACM Sigmetrics Performance Evaluation Review 2001

C.P. Charalambous, V.S. Frost, J.B. Evans, “Performance evaluation of TCP extensions on ATM over high bandwidth delay product networks”, IEEE Communications Magazine, vol.37, no.7, July 1999, pp.57–63

W. D. Ivancic, M. Zernic, D. J. Hoder, D. E. Brooks, D. R. Beering, A. Welch, “ACTS