Tuesday, May 17, 2011

TCP in Wireless Networks

TCP in Wireless Networks

Transmission Control Protocol (TCP) has been widely used in today’s Internet. The protocol supports reliable data transport by establishing a connection between the transmitting and receiving ends. The transmitter starts a timeout mechanism when sending a packet to the receiver. The transmitter constantly tracks the round-trip times (RTTs) for its packets as a means to determine the appropriate timeout period. At the receiver, each received packet is acknowledged implicitly or explicitly to the transmitter. If the transmitter does not receive an acknowledgment for a given packet when the corresponding timeout period expires, the packet is deemed to be lost and subject to retransmission. A congestion window with dynamically adjusted size is used by the protocol to regulate the traffic flow from the transmitter to the receiver.

Although TCP was initially designed and optimized for wired networks, the growing popularity of wireless data applications has lead third generation wireless networks such as CDMA2000 and UMTS networks to extend TCP to wireless communications as well. The initial objective of TCP was to efficiently use the available bandwidth in the network and to avoid overloading the network (and the resulting packet losses) by appropriately throttling the senders’ transmission rates. Network congestion is deemed to be the underlying reason for packet losses. Consequently, TCP performance is often unsatisfactory when used in wireless networks and requires various improvement techniques. A key factor causing the unsatisfactory performance is that the radio link quality in wireless networks can fluctuate greatly in time due to channel fading and user mobility, leading to a high variability of transmission time and delay. High delay variability is also due to retransmissions at the link level and use of opportunistic schedulers that give preferential service to terminals with good radio links, thus causing additional delay to terminals with relatively poor radio quality. Furthermore, large delay variability can be incurred during handoff from one cell to a neighboring cell. A form of high delay variability, referred to as delay spike, is a sudden, drastic increase in delay for a particular packet or a few consecutive packets, relative to the delay for the preceding and following packets.

When TCP is employed for data transport in such environments, highly variable RTTs and delay spikes can induce spurious timeouts, although the involved packet actually is not lost but simply delayed. Regardless of the actual cause, when a timeout occurs, the TCP congestion window is reduced to 1, thus unnecessarily degrading the throughput.

Many researchers have identified the shortcoming and studied the effects of delay variability on TCP performance in wireless networks. For example, Gurtov observes the impacts of TCP performance due to delay variability. In, Fu et al. study performance degradation in the presence of delay spikes for several versions of TCP protocols. Furthermore, various solutions have been proposed to overcome the TCP deficiency for radio links; for example, see for a survey of these proposals. In our view, methods for improving TCP performance in wireless networks can be classified into two groups. The first group of techniques requires new protocol mechanisms or changes to the existing TCP protocols, while the second group of methods are those that do not need new mechanisms or changes.

Among techniques of the first group, Ludwig and Katz propose the TCP Eifel to detect spurious timeouts as well as spurious retransmissions by implementing time stamping (thus the sender can track RTT for every packet). In, Gurtov and Ludwig propose further enhancements of TCP Eifel to efficiently respond and avoid spurious timeouts.

The split-TCP solution is a typical method in the second group. This method divides the end-to-end TCP connection between the terminal and the corresponding host into two separate, independent connections with a proxy serving as a common point between the two connections. The key idea behind the split-TCP is to isolate impacts of packet errors and delay variability for the wireless link from the wired connection so that TCP congestion control, timeout and retransmission mechanisms in the wired link do not suffer from the fluctuating quality of the radio channel.

Another enhancement method of the second group is the delay-jitter algorithm proposed and studied in. Since delay variability induces spurious timeouts, one effective way to maintain throughput performance is to absorb the delay variability by a sufficiently large timeout value. The key idea of the delay-jitter algorithm is to increase the TCP timeout value by artificially injecting additional delay to some packets, as a means to adequately increase the mean deviation of the RTTs without much increase in its average. Clearly, the algorithm does not require any modification to the TCP protocol stack.

Despite many existing proposals for TCP improvement in wireless networks, it is not easy to identify a technique that could be viewed as universally suitable for a wide variety of network and application environments. For example, methods of the first group requiring modifications to TCP entities may not readily be adopted because of non-compliance with existing protocol standards. Although the enhancement methods of the second group do not require TCP changes, they suffer from their respective shortcomings. In particular, the split-TCP solution may violate the end-to-end security protection between the transmitter and receiver. In addition, TCP performance for the connection between the terminal and the proxy (which includes a radio link) may not be satisfactory and can be further improved. Finally the delay-jitter algorithm requires appropriate selections of control parameters to minimize the negative performance impacts due to the increase of RTTs.

In this context, it is important to continue our investigation and develop efficient techniques to further improve TCP performance in wireless networks. This is particularly so because such enhancements are badly needed as massive deployment of 3G wireless networks have started and TCP will be commonly used over the radio links. In this article, we propose and study two effective ways to improve TCP throughput in wireless networks. The first technique is to select a retransmission timeout (RTO) threshold higher than that in the de facto standard. Using RTT measurements in a commercial 3G network and in a simulated network environment, the proposed method reduces timeouts and provides a relative throughput gain up to 13.7%. The second technique is an appropriate use of selective repeat (SR) and go-back-N (GBN) as retransmission policies upon packet timeout. We find that when RTTs have reasonable temporal correlation and packets can arrive out-of-order at the receiver, GBN can improve throughput by 12% over the SR policy, based on the RTT measurements in the 3G network.

Conclusion

Highly variable round-trip times (RTTs) in wireless networks can induce spurious timeouts, thus unnecessarily degrading throughput for the Transmission Control Protocol (TCP). In this article, we propose and study two effective ways to improve TCP throughput in wireless networks. The first technique is to select a retransmission timeout (RTO) threshold higher than that in the de facto standard. Simulation reveals that the proposed method reduces timeouts and provides a relative throughput gain up to 13.7% based on RTT measurements in a commercial 3G network and in a simulated network environment. The second technique is an appropriate use of selective repeat (SR) and go-back-N (GBN) as retransmission policies upon packet timeout. We find that when RTTs have reasonable temporal correlation and packets can arrive out-of-order at the receiver, GBN can improve throughput over the SR policy. Specifically, based on the RTT measurements in the 3G network, our results show that GBN provides a 12% throughput gain over the SR policy.

Methods to Improve TCP Throughput in Wireless Networks With High Delay Variability
Kin K. Leung, Thierry E. Klein, Christopher F. Mooney and Mark Haner
Bell Labs, Lucent Technologies
{kin, tek, cfmooney, mh}@lucent.com

References
1. W.R.Stevens, TCP/IP Illustrated, Vol.1: The Protocol, Addison Wesley, New York, 1994.
2. H.Balakrishnan, et.al., "A Comarison H.Balakrishnan, et.al., "A Comparison of Mechanisms for Improving TCP Performance Over Wireless Links," IEEE/ACM Trans.on Networking, Vol.5, No.6, Dec.1997, pp.756-769.
3 A.Gurtov, "Effect of Delays on TCP Performance," Proc of IFIP Personal Wireless Commun., Aug.2001.
4. S.Fu, et.al., "Effect of Delay Spike on SCTP, TCP Reno and Eifel in a Wireless Mobile Environment," Proc.of International Conf.on Computer Communications and Networks, Oct.2002, pp.575-578.
5. H.Elaarag, "Improving TCP Performance over Mobile Networks," ACM Computing Surveys, Vol.34, Issue 3, Sept.2002, pp.375-374.
6. R.Ludwig and R.Katz, "The Eifel Algorithm: Making TCP Robust Against Spurious Retransmissions," in ACM Computer Communication Review, Vol.30, No.1, January, 2000.
7. A.Gurtov and R.Ludwig, "Responding to Spurious Timeouts in TCP," in Proc.of IEEE Infocom, Mar.2003.
8. F.Xie, J.L.Hammond and D.L.Noneaker, "Evaluation of a Split-Connection Mobile Transport Protocol," Wireless Networks, Vol.9, 2003, pp.593-603.
9. J.Cloutier et.al., "Improved Wireless Data Transmission Using Time Out Control," private communication, 2001.
10. T.E.Klein, et.al., "Avoiding Spurious TCP Timeouts in Wireless Networks by Delay Injection," submitted for publication, 2004.




Comments: