Elsevier

Computer Networks

Volume 39, Issue 2, 5 June 2002, Pages 133-150
Computer Networks

Bandwidth tradeoff between TCP and link-level FEC

https://doi.org/10.1016/S1389-1286(01)00305-XGet rights and content

Abstract

Forward error correction (FEC) is widely used for the improvement of the quality of noisy transmission media as wireless links. This improvement is of importance for a transport protocol as TCP which uses the loss of packets as an indication of network congestion. FEC shields TCP from losses not caused by congestion and helps it to improve its throughput but on the other hand it consumes a part of the available bandwidth that could be used by TCP. In this paper we study in detail this bandwidth tradeoff between TCP and FEC. By analysis and simulations we show how TCP performance varies as a function of the amount of FEC.

Introduction

TCP provides a reliable transport service to many of todays Internet applications. It uses two algorithms, Slow Start and Congestion Avoidance, to avoid and control the congestion in the network [13], [22]. Flow control in TCP is based on a window that limits the maximum number of packets the source can send before the receipt of any acknowledgment from the receiver. For TCP the loss of a packet is an indication that the network is congested. The lost packet is retransmitted and the window is reduced in order to alleviate the congestion of the network. But, this strategy in the detection of congestion results in a poor performance of the protocol when packets are lost in the network for other reasons than congestion [1], [4], [5]. Transmission errors on a bad quality link (e.g., wireless link) form the main source for non-congestion losses. A TCP packet corrupted while crossing a noisy link is discarded before reaching the receiver which results in an unnecessary window reduction at the TCP source. In the following we will focus on transmission errors on wireless links and we will call the corrupted TCP packets non-congestion losses or link level losses since they appear at a level below IP.

Many solutions have been proposed to improve the performance of TCP when operating on paths with non-congestion losses [1], [4], [5]. Some of these solutions consist in enhancing TCP with additional mechanisms to help it to recover from non-congestion losses without reducing its window (explicit loss notification [4], loss predictors [6], etc.). Other solutions (e.g., I-TCP [3]) propose to shield the sender from these undesirable losses by splitting the TCP connection at the entry of the lossy part of the network (e.g., at the base station in case of wireless networks). A special transport protocol well tuned to a lossy environment (e.g., STP [12]) is then used across the lossy part. Although they improve the overall performance, these solutions break the end-to-end semantics of TCP. A packet is acknowledged before arriving at its real destination. To solve this problem, some other solutions propose to retransmit lost packets on behalf the source within the network without splitting the TCP connection (e.g., Snoop protocol [4]). The retransmission is done either at the link level or at a level above IP (e.g., by a transport agent at the base station). The main problem with the latter solutions is the interference of the local retransmissions with the TCP retransmissions. TCP retransmission timer may expire while the lost packet is being retransmitted locally over the lossy part. The time taken by a local retransmission as well as the number of tries have be to small otherwise TCP timer would frequently expire. This interference makes the local retransmission of packets an inappropriate solution for long delay noisy links as satellite links. It is however proposed for terrestrial wireless networks where the propagation time over the wireless link is small compared to the end-to-end delay.

A simpler solution, that does not require any modification to existing TCP and that does not interfere with its error recovery mechanisms, consists in improving the quality of the lossy part of the network with forward error correction (FEC) codes [4]. The idea behind FEC is to send, in addition to the original data, some redundant information so that a packet, corrupted while crossing a wireless link, can be reconstructed at its output without requiring any retransmission. One can see FEC as sending, together with original packets, copies of them so that the copy can be used when the original packet is lost, of course if the copy itself is not also lost. This improves the quality of the noisy link while consuming some extra bandwidth. The other drawback of FEC is that it requires some processing time for coding and decoding the redundant information. However, the advantages of FEC are numerous and make it interesting despite its cost. The corrupted packets are reconstructed on runtime which eliminates the fluctuations of round-trip time caused by local retransmissions. Also, packets are delivered in the same order with which they are transmitted at the input of the wireless link. This avoids the duplicate ACKs that would be generated if the lost packet is locally retransmitted and subsequent packets from the same connection are forwarded to the destination. In case of local retransmissions, it has been proposed [4], [7], to stop these duplicate ACKs at the entry of the lossy link in order not to trigger the retransmission of the packet at the TCP source. Thus, FEC eliminates any interference with TCP error recovery mechanisms. Given this transparency of FEC, it is recommended for the improvement of the quality of bad transmission media especially those of long propagation delay [1]. For example convolutional coding, Viterbi decoding, together with interleaving techniques and Reed–Solomon encoding, are widely used in our days to render satellite links and wireless links as clean as terrestrial ones.

In this work we are interested in the bandwidth tradeoff between link level FEC and TCP congestion control. While consuming some extra bandwidth, FEC improves the throughput of TCP by shielding it from non-congestion losses. However, much FEC may steal some of the bandwidth used by TCP. The question that we ask here is, given a certain link with certain characteristics (bandwidth, error rate, burstiness of errors), how to choose the amount of FEC so that to get the maximum gain in TCP performance. The aim of this work is to understand this relation between the bandwidth consumed by FEC and that gained by TCP. A mathematical analysis and a set of simulations are used to this end. The simulator used is ns, the Network Simulator developed at LBNL [17]. Note that even though our work focuses on wireless links, it is useful for any other transmission medium between two IP routers presenting non-congestion losses. A typical example could be the losses on an ATM-UBR virtual circuit connecting two adjacent IP routers.

In Section 2, we describe the models we used in our analysis. Two models are defined, one for non-congestion losses and one for FEC. In Section 3 we show how to calculate the throughput of TCP. In Section 4 we analyze mathematically and with simulations the interaction between FEC and TCP for a memoryless wireless link. Section 5 studies the effect of correlation of errors on TCP performance and on the capacity of FEC. The work is concluded in Section 6.

Section snippets

The model

Consider a TCP connection that crosses a network including a noisy wireless link of rate μ packets/s. We suppose that the quality of the lossy link is improved by a certain amount of FEC. In 2.1 The model for non-congestion losses, 2.2 The FEC model, we define our models for the loss process over the wireless link as well as for the FEC added to improve its quality.

The approximation of TCP throughput

Consider the throughput of the connection as the performance measure that indicates how well TCP behaves over the wireless link. Different models exist in the literature for the calculation of TCP throughput [2], [15], [16], [19], see [23] for a survey. These models assume long life connections and find the expression of the throughput as a function of the probability that a TCP packet is lost in the network. Denote this probability by P. In case of bursty losses, P represents the inverse of

The case of non-correlated losses

In this section we suppose that transmission units are lost independently of each other with probability p (p=q). Thus, TCP packets are also lost independently of each other but with probability P(N,K) which is a function of the FEC scheme (N,K) we are using on the wireless link. The throughput of the TCP connection can be approximated by substituting T in formula (3) by 1/P(N,K). First, we state our analysis of TCP performance, the analytical results as well as their interpretations. Next,

The case of correlated losses

In this section we study the effect of burstiness of transmission unit losses on the efficiency of a FEC scheme. It is clear that when unit losses tend to appear in bursts, more redundant information is needed to clean the link. Packets are hurt by burst of losses and they require a large number of redundant units per packet (R) to be corrected. But, for the same average loss rate (L), the correlation of losses reduces the probability that the link passes to the Bad state (p decreases when q

Conclusions

In this paper we studied via mathematical analysis and simulations the interaction between the parameters of a FEC scheme and the performance of TCP congestion control. FEC is a promising approach for the improvement of the quality of noisy transmission media as wireless and satellite links. We showed that TCP throughput improves with the addition of FEC until a certain point where the noisy link becomes clean from TCP point of view. Any increase in FEC beyond this point is not beneficial. It

Chadi Barakat received his Electrical and Electronics Engineering degree from the Lebanese University in Beirut in 1997. In 1998, he got a DEA degree in Networking and Distributed Systems from the University of Nice Sophia-Antipolis, France. Three months later, he joined the MISTRAL group in INRIA Sophia-Antipolis to prepare a Ph.D. in Computer Science. He finished his Ph.D. in April 2001 and directly after that, he joined the ICA department in EPFL-Lausanne for a post-doctoral position of 10

References (23)

  • M. Allman, D. Glover, L. Sanchez, Enhancing TCP over satellite channels using standard mechanisms, RFC 2488, January...
  • E. Altman, K. Avratchenkov, C. Barakat, A stochastic model for TCP/IP with stationary random losses, to appear at ACM...
  • A. Bakre, B.R. Badrinath, I-TCP: indirect TCP for mobile hosts, International Conference on Distributed Computing...
  • H. Balakrishnan, V.N. Padmanabhan, S. Seshan, R. Katz, A comparison of mechanisms for improving TCP performance over...
  • C. Barakat et al.

    On TCP performance in a heterogenous network: a survey

    IEEE Communications Magazine

    (2000)
  • S. Biaz, N.H. Vaidya, Distinguishing congestion losses from wireless transmission losses: a negative result, Seventh...
  • H. Chaskar, T.V. Lakshman, U. Madhow, On the design of interfaces for TCP/IP over wireless, IEEE MILCOM,...
  • A. Chockalingam, M. Zorzi, R.R. Rao, Performance of TCP on wireless fading links with memory, IEEE ICC, June...
  • B.R. Elbert

    The Satellite Communication Applications Handbook

    (1997)
  • K. Fall, S. Floyd, Simulation-based Comparisons of Tahoe, Reno, and SACK TCP, Computer Communication Review 26 (1996)...
  • E.N. Gilbert

    Capacity of a burst-noise channel

    Bell Systems Technical Journal

    (1960)
  • Cited by (94)

    View all citing articles on Scopus

    Chadi Barakat received his Electrical and Electronics Engineering degree from the Lebanese University in Beirut in 1997. In 1998, he got a DEA degree in Networking and Distributed Systems from the University of Nice Sophia-Antipolis, France. Three months later, he joined the MISTRAL group in INRIA Sophia-Antipolis to prepare a Ph.D. in Computer Science. He finished his Ph.D. in April 2001 and directly after that, he joined the ICA department in EPFL-Lausanne for a post-doctoral position of 10 months. Meanwhile, he got a permanent research position in the PLANETE group in INRIA Sophia-Antipolis that he will start in March 2002. His main research interests are congestion and error control in computer networks, traffic modeling, performance evaluation of communication protocols, and integration of new transmission media as satellite and wireless links into the Internet.

    Eitan Altman, a senior member of the IEEE, received the B.Sc. degree in Electrical Engineering (1984), the B.A. degree in physics (1984) and the Ph.D. degree in Electrical Engineering (1990), all from the Technion-Israel Institute, Haifa. In 1990 he further received his B.Mus. degree in music composition in Tel-Aviv university. Since 1990, he has been with INRIA (National research institute in informatics and control) in Sophia-Antipolis, France. His current research interests include performance evaluation and control of telecommunication networks, stochastic control and dynamic games. In recent years, he has applied control theoretical techniques in several joint projects with the French telecommunications company––France Telecom.

    A shorter version of this paper has appeared in proceedings of the IEEE International Conference on Networking, Colmar, France, July 2001.

    1

    Also with C.E.S.I.M.O., Universidad de Los Andes, Faculdad de Ingeneria, Merida, Venezuela.

    View full text