FECTCP for High Error and Large Delay Wireless Networks Anghel Botos , Technical University of Cluj-Napoca 26-28 G. Barit , iu Cluj-Napoca, Romania Anghel.Botos@com.utcluj.ro Zsolt Polgar Technical University of Cluj-Napoca 26-28 G. Barit , iu Cluj-Napoca, Romania Zsolt.Polgar@com.utcluj.ro ABSTRACT Current Internet protocols like TCP have been designed to work well on channels with low channel error rates. Wire- less channels on the other hand exhibit high loss rates when compared to wired channels. Under these conditions, cur- rent TCP implementations mistake losses due to channel er- rors as being caused by congestion and as a result the send- ing rate is unnecessarily reduced leading to a degradation in performance. As a result, a discrimination mechanism be- tween channel loss and congestion loss is needed, in order to make TCP perform better over high error rate links. Un- fortunately, the implementation of such mechanisms is com- plicated by the fact that the congestion control and the loss handling mechanisms in TCP are strongly intertwined. This paper presents an approach for the implementation of a TCP-like transport protocol 1 by using generic rateless erasure correcting codes for the error handling mechanism, thus decoupling it from the congestion control mechanism of the protocol. The congestion control included in the protocol is inspired from current TCP implementations, also contain- ing a discrimination mechanism between channel loss and congestion loss. Categories and Subject Descriptors C.2.2 [Computer-Communication Networks]: Net- work Protocols—Protocol Architecture (OSI model); C.2.5 [Computer-Communication Networks]: Lo- cal and Wide-Area Networks—Internet General Terms Design, Performance 1 i.e. reliable, connection-oriented and having end-to-end flow control Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. ACM CoNEXT2009, December 1–4, 2009, Rome, ITALY. ReArch ’09 Rome, Italy Copyright 2009 ACM X-X-X-X/XX/XX ...$5.00. Keywords TCP, rateless erasure codes, congestion control 1. INTRODUCTION Over the Internet, the physical channel is seen at the higher layers as a packet erasure channel, due to the fact that packets with errors are usually not delivered to the higher layers. Most protocols used nowadays over the Internet have been designed to operate under the low loss rates specific to wired channels. Wireless channels on the other hand exhibit significantly higher packet loss rates. The Transport Control Protocol (TCP)[8] provides re- liability over the packet erasure channel by using ack- nowledgements and retransmission of unacknowledged packets. It also uses a flow control mechanism in or- der to detect congestion and adjust its sending rate ac- cordingly. This mechanism makes almost no distinction between losses arising from congestion or losses arising from errors on the physical channel, treating all losses as congestion. For low packet loss rates, this mechanism offers sufficiently good performances, proof for this be- ing the success of TCP/IP. Switching over to channels with higher loss rates and treating all packet losses as congestion in the network will lead to a degradation of the performance of TCP. Several analitycal throughput models exist for TCP, and all lead to the conclusion that TCP’s performance, in terms of achievable steady- state throughput, degrades significantly in the presence of high packet loss rates [3][7]. Various improvements to TCP have been made with the purpose of distinguishing between losses caused by congestion and losses originat- ing from errors on the transmission channel [4][10]. Still, even with these improvements, TCP does not perform satisfactory on channels with high segment loss rates. Since the physical channel is seen at the higher layers as a packet erasure channel, this opens the possibility of using modern erasure correcting codes to ensure the reliability at the transport layer. The most appealing codes for this task are rateless erasure codes like Dig- ital Fountain Codes [2] or network coding techniques used for source coding [11]. Current research regard-