TCP Over Satellite Links : Problems and Solutions S. Oueslati-Boulahia, A. Serhrouchni, S. Tohmé ENST-Paris email : oueslati,ahmed,[email protected] ***** S. Baier, M. Berrada Laboratoires d'Electronique Philips S.A.S email : baier,[email protected] Abstract Satellite communications are destined to play an important role in future telecommunications infrastructure, thus the increasing interest in transporting Internet trac over satellite links. Many studies have shown that TCP has a poor performance in the context of satellite communications. This is due to many factors inherent to satellite communications and for which TCP originally designed for terrestrial networks is not adapted. Our study is an overview of the many factors limiting TCP performance over a satellite link and the dierent solutions proposed to address the problem. KEY WORDS : satellite communication, long-delay channels, bandwidth asymmetry, TCP mechanisms, non-TCP mechanisms, performance. 1 Introduction In the past years, satellite communication systems used to provide exclusively xed circuit and television broadcast services. Today, the explosive use of the Internet is at the origin of the increasing interest in addressing issues related to the transport of Internet trac via satellite. The idea is to provide home and small corporate users with Internet access through VSAT1 devices at a low cost. The satellite solution is all the more interesting, as many of the current and growing data services (FTP, WEB, MBONE) are highly asymmetric in terms of bandwidth requirements2 . Satellite systems are of particular interest in this case because of their inherent capability to address an extremely large community of users. Provided that intelligent uplink multiple access schemes are devised, satellite communication systems are capable of achieving high revenues at low cost to individual subscribers. It seems therefore very likely that TCP/IP will have to be used over satellite links. Yet, many factors specic to satellite communications adversely aect TCP mechanisms, thereby yielding to poor performance. The present work presents a twofold survey. The rst part points out the most important factors limiting TCP performance over satellite links and the TCP mechanisms aected. The second part covers the proposed solutions to improve TCP performance in the framework of asymmetric bandwidth satellite networks with end users directly accessing the satellite upstream channel3 (see g 2). The advisability of each solution will also be discussed in this part. Very Small Aperture Terminal i.e. low bandwidth from the consumer to the information provider and relatively high bandwidth toward the consumer. 3 In hybrid satellite networks, the upstream path may use a terrestrial channel. 1 2 1 2 Factors limiting TCP performance and mechanisms aected This section is an overview of the several factors specic to satellite communications and for which TCP - originally designed for terrestrial networks - is inadequate. For each limiting factor, we shall indicate which TCP mechanisms are adversely aected. 2.1 Long propagation delay The long propagation delay, characteristic of geosynchronous satellites, seriously limits TCP performance. Long-delay channels require larger windows than what standard TCP oers, and a more accurate Round Trip Time (RTT) evaluation. In addition, cumulative ACKs and delayed ACKs are not particularly suited for long-delay satellite environment. Finally, Slow Start and Congestion Avoidance prove to be rather inecient in the presence of long propagation delays. The following subsections detail each of these points. 2.1.1 Window size Sender Transmission Time Receiver 1 2 3 1 4 2 3 Wait Time ack 1+2 4 5 Time Figure 1: Sequence of TCP segment transmission over a satellite link The TCP receiver's window size is very important because throughput is upper bounded by the RTT value, regardless of the channel capacity, as : Buffer Size ThroughputMax = ReceiverRTT With a 560 ms RTT (double satellite hop), and a Receiver Buer Size of 64 Kbytes (Maximum authorized value in Standard TCP), the throughput tops out at about 936 Kbps. Figure 1 represents the transmission, over a satellite link, of a sequence of TCP segments within a window of information. The gure shows that time to acknowledge a segment is longer than the time required to transmit segments allowed by the ow control window. The connection between TCP end points can be viewed as a pipe, and the delay*throughput product represents the amount of data actually in transit in this pipe. The throughput is the measure of the amount of data owing through the connection per unit of time. The delay*bandwidth product measures the amount of unacknowledged data that TCP must handle in order to keep the pipe full; it is the window that should be advertised by the receiver to obtain maximum throughput on the TCP connection. With a 560 ms RTT and a T1 downstream link (1.536 Mbps), 110 Kbytes of data can be in transit before the acknowledgment of the rst segment of the window arrives. This is much more than what most TCP implementations allow. Besides, even if the window scale option specied in RFC 1323 is implemented, it is up to the application layer to take advantage of a large window. Many applications in use do not. For instance, Unix FTP typically advertises windows between 4 and 24 Kbytes. 2.1.2 Round-Trip measurement TCP handles possible losses of data segments and ACKs by setting a timeout for each segment sent. If the timer expires before receiving an ACK that covers this segment, the segment is retransmitted. Fundamental to TCP timeout and retransmission strategy is the measurement of the Round-Trip Time4 (RTT), according to which the Retransmission TimeOut (RTO) is modied. While the original method, recommended in RFC 793, for the calculation of the (RTO) used a multiple of the smoothed RTT, Jacobson's calculation [14] of the RTO depends on both the smoothed RTT and the smoothed mean deviation. An appropriate estimate of the RTO is capital to the congestion avoidance and control strategy; if it is too short it results in unnecessary retransmissions, and if it is too long it leads to a waste of bandwidth. Most current TCP implementations basically measure only one RTT per window. While this is acceptable for small windows (with no more than eight segments as it is reported in RFC 1072), it may yield to a poor estimate for larger windows as it is the case in satellite communications. Consequently, in the satellite environment, more accurate evaluations are required. A new RTT evaluation mechanism has been proposed in RFC 1323. It uses a "timestamps" option which allows the sender to calculate an RTT for each received ACK, thereby yielding to better RTT estimates. 2.1.3 Cumulative ACKs Given the long delays experienced on satellite links it takes a long time for cumulative acknowledgments to inform the sender about segment loss, especially when multiple packets are lost from one window. Indeed, due to the limited information available from cumulative ACKs, a TCP sender can only learn about a single lost packet per RTT. If all segments queued on the receiver side because received out of order form a single contiguous bloc, then no further loss was experienced. Otherwise, the sender will have to retransmit the remaining segments. A Selective ACKnowledgment (SACK) mechanism combined with a selective repeat retransmission policy, was dened in RFC 2018. It provides more accurate information about which segments should be retransmitted. 2.1.4 Slow Start and Congestion Avoidance Slow Start is used to gradually increase the rate at which the sender injects data into the network. Initially, a single segment is sent. Then, two segments are injected by the sender for each received ACK, leading to an exponential increase in the size of the ow control window on a RTT-time base5 . TCP remains in Slow Start mode till either : the receiver advertised window is reached, or The RTT is the elapsed time between sending a byte with a particular sequence number and receiving an ACK that covers that sequence number. 5 although it is not exactly exponential because the receiver may delay its ACKs, typically sending one ACK for every two segments that it receives. 4 a loss is detected, in which case TCP reenters Slow Start mode from the beginning, or the packet sending rate is one half the rate at which the last loss occurred; Congestion Avoidance, then, takes over. Congestion Avoidance is used to probe the network for available bandwidth by sending one additional segment for each RTT, up to the receiver advertised window. If a loss is detected, then TCP falls back into Slow Start mode. Because the amount of time required for Slow Start and Congestion Avoidance to complete is a function of the round-trip time, satellite links are particularly sensitive to the limited throughput available during both phases. 2.1.5 Delayed ACKs Normally TCP does not send an ACK directly following data reception. Instead, the ACK is delayed hoping to send it along with data going in the same direction, especially in the case of interactive applications. Most implementations use a 200-ms timer which goes o at xed times relative to when the kernel was bootstrapped. TCP sends an ACK only if the timer expires or if it receives a second segment. One ACK is then sent for every two segments received. Although delayed ACKs spare bandwidth and reduce protocol processing overhead by avoiding the transmission of redundant ACKs, they slow down the ACK ow rate already slow in the satellite environment (see next section) on the return path, and they roughly double the time for Slow Start and Congestion Avoidance to complete. This adds to the ineciency reported in the previous subsection of both mechanisms. 2.2 Asymmetry of the connection Bulk data packets Web server ACKs + Requests Internet ... G Gateway End users FTP server Uplink (64 Kbps) Downlink (1 Mbps) Figure 2: Example of an asymmetric bandwidth satellite network As we have already mentioned in the introduction, satellite communications are very often used to provide asymmetric bandwidth services that are intended for large-scale information consumption6 . Typical Internet applications (e.g. FTP, WEB) require relatively 6 In asymmetric satellite networks used today, satellites are found at the edges of the Internet and provide the end users with a shared access to the Internet. low bandwidth from the user to the information provider (e.g. FTP or HTTP server) and relatively high bandwidth towards the user. Figure 2 depicts an asymmetric satellite network where end users directly access the Internet via a shared upstream channel. In this conguration the return path carries requests (e.g. FTP or HTTP commands) and acknowledgments (ACKs) for the responses received on the forward path (bulk data, e.g. FTP les or Web documents). Yet, the strong asymmetry observed has a non negligible eect on the TCP self clocking paradigm. TCP is self clocking, i.e., the source sends a Symmetric links Asymmetric links Time 1 Time1 1 Time 35 1 1 1 Time 6 ack 1 ack 1 Time 10 Time 12 3 2 Time 16 16 ack 9 15 14 ack 10 11,12,13 17 ack 10 16 ack 11 12,13,14,15 18 ack 11 17 ack 12 13,14,15,16 Time 41 Time 8 ack 1 ack 1 10,11 Time 39 Time 5 Time 8 13 12 ack 9 Time 37 Time 4 Time 4 15 14 ack 8 2 Time 11 3 2 Time 17 ack 2 ack 2 ack 3 ack 3 Time 19 Time 20 7 6 5 4 ack 3 4 Time 22 7 Time 24 ack 4 ack 5 ack 6 ack 7 6 ack 4 14 13 12 ack 8 ack 9ack10ack11 4 Time 26 Time 34 15 5 ack 5 6,7 Bandwidth Time 30 10 9 ack 6 8 ack 7 Time Figure 3: Comparison of Slow Start mechanism in symmetric and asymmetric congurations new packet only when it receives an ACK for an old one, thus the rate at which the source injects new packets matches the rate at which the ACKs are returned by the other end. This feature fundamental to TCP congestion control strategy implies that the throughput on the downstream is controlled by the rate of the ACK ow on the upstream. While this is convenient for symmetrical congurations, it yields, in case of strong asymmetry, a decrease in throughput for the following reasons : A lower rate of incoming ACKs slows down the Slow Start and congestion avoidance phases; Congestion may occur on the receiver side, delaying the ACKs and possibly triggering unnecessary retransmissions. Congestion occurs when the asymmetry ratio (Return path capacity to Forward path capacity ) is higher than the ratio of ACK packet size to Bulk data packet size 7 . 7 The bulk data packet size depends on the MSS (Maximum Segment Size) value to which is added the TCP and IP overhead (40 bytes). The ACK packet size is 40 bytes. Figure 3 is an illustration of the TCP self clocking principle. In this example the forward path has twice as much bandwidth as the return path. For simplicity purpose we assume that the ACK packets have the same size than bulk data packets. Let the receiver advertised window be 8 segments. The example shows that, in the symmetric conguration, Slow Start completes, i.e., the receiver maximum window size is reached, after 27 time units, instead of 33 time units in the asymmetric case. The example also shows ACK congestion on the receiver side. Finally, the example illustrates how does the ACK ow rate command the packet sending rate on the forward path. 2.3 Errors in the satellite environment Space communication links are subject to bit errors, though the bit error rate may signicantly vary depending on link parameters such as the frequency band used 8 . In addition, errors often occur in bursts. Typical bit error rate for satellite links today are on the order of 10?7 , or better [2]. TCP's strategy for error detection and recovery is not suited to the satellite communication environment. First, TCP needs to wait for a whole retransmit timeout to realize that a segment is lost. Second, TCP assumes that every time a packet loss occurs, it is due to congestion. While this may hold for terrestrial networks, it may cause congestion control mechanisms to be unduly triggered, thereby resulting in a throughput degradation. Both problems are partially addressed by the Fast Retransmit and Fast Recovery algorithms 9 which are supposed to work together. Once a packet is lost, duplicate ACKs of the lost packet which should not be delayed will be received by the data sender. The reception of several duplicate ACKs in a short lapse of time is a strong indication of the absence of congestion. Consequently, upon the reception of the third duplicate ACK, the lost packet is retransmitted without having to wait for the retransmit timer to expire. When the Fast Retransmit detects the loss, TCP normally enters the Fast Recovery mode, instead of the Slow Start mode. Fast recovery halves the data sending rate and begins congestion avoidance immediately, without falling back to Slow Start. Nevertheless, the Fast Retransmit and Fast Recovery mechanisms prove to be rather inecient under certain circumstances. First, in case of multiple losses in the same window, the Fast Recovery retransmits at most one segment per RTT, thus left errors will be detected by timeouts, causing TCP to fall back into the Slow Start mode. On the other hand, if the return path is highly constrained10 , as it may happen in typical satellite asymmetric congurations, the retransmit timer may run out before the reception of the third duplicate ACK, preventing TCP from entering Fast Retransmit. 3 Solutions for TCP over satellite This second part of the survey describes dierent solutions proposed in order improve TCP performance over satellite links. A possible classication of the solutions distinguishes : solutions that attempt to extend standard TCP to the satellite communication environment, through the use of additional mechanisms and options, or the modication of the existing ones. solutions that do not require any modications of the TCP/IP protocol stack. One approach is to "actively break TCP semantics at an intermediate node in the network". This approach, called spoong, attempts to counteract the negative eect of a Ku and Ka bands are very sensitive to atmospheric weather conditions and electrostatic charge. For a detailed description of theses algorithms, see [18] and RFC 2001 10 entailing a low ACK rate 8 9 given TCP mechanism while maintaining an end-user standard TCP implementation. In hybrid architectures a spoong technique consists in isolating, in a transparent way, the satellite link from the rest of the network. TCP performance issues for this particular type of network topology are out of the scope of this paper, see [5, 8, 19] for a thorough study. An other approach consists in using non-TCP mechanisms which operate at a given layer of the OSI model. In the remainder of this paper, an application level solution and a link layer solution are examined. Other solutions at other levels have been proposed; for instance [2] recommends the use of the "Path MTU Discovery" mechanism (Network layer mechanism) which allows TCP to use the largest possible packet size. 3.1 TCP extensions for enhanced performance This section presents extensions/modications that were proposed to adapt TCP to satellite communication systems. 3.1.1 TCP Window scale option This option was proposed in RFC 1323 to solve the window size limit problem, described in section. This option denes an implicit scale factor, which when applied to the window size value found in the 16-bit window eld of the TCP header, expands the denition of the TCP window size to 32 bits. However, expanding the window size to match the requirements of long-delay satellite links increases the probability of packet loss per window. We already saw that Fast Retransmit and Fast Recovery eciently handle one packet loss per window, while multiple losses typically disable their benecial eect. 3.1.2 TCP timestamps option This option was dened in RFC 1323, in part to address the problem of the round-trip measurement problem reported in section. A mechanism using this option is specied; it allows nearly every segment, including retransmissions, to be timed at negligible computational cost. The sender places a timestamp in each data segment, and the receiver echoes these timestamps back in ACK segments. Then a single abstract provides the sender with an accurate RTT measurement for every ACK segment. Notice that a one-to-one correspondence between data segments and ACK ones is not a necessary condition. In case of delayed ACKs, the TCP receiver should reect the timestamp of the earliest unacknowledged segment. Indeed, an inated RTT measurement is preferable to a too short estimate, which may trigger spurious retransmissions. 3.1.3 Combined eect of Fast Retransmit/Fast Recovery mechanism and SACK We have already mentioned that the Fast Retransmit/Fast Recovery mechanism has a benecial eect over TCP performance in the absence of congestion, as long as no more than one drop is experienced in the same window. To generalize the Fast Retransmit/Fast Recovery mechanism to handle multiple packet drops per window, Selective ACKnowledgments (SACK) are of great help. Compared to the normal cumulative acknowledgment, SACKs provide the sender with a much more accurate vision of which packets have been received and queued at the receiver side, and which have not still arrived. Consequently, more than one missing packet can be retransmitted within a round-trip time, preventing timeouts from occurring, hence the pipe from draining and TCP from reentering Slow Start. Each contiguous block of data queued at the receiver is dened in the SACK option by two 32-bit unsigned integers representing the left and right edges of the block, so the 40 bytes available for TCP options can specify a maximum of 4 blocks11 . The following rules extracted from RFC 2018 apply to the SACK option : The SACK option will always report the block containing the most recently received segment, in order to provide the sender with the most up-to-date information; The SACK option should be lled out by repeating the most recent SACK blocks. This assures that, in normal operation, any missing segment part of a non-contiguous sequence space is reported in at least three successive SACK options. It is important to notice that TCP implementations that use normal cumulative acknowledgments, are constrained to either retransmit at most one dropped packet per RTT (e.g. Reno TCP), or to adopt an aggressive early retransmission strategy yielding to the retransmission of packets that might have been successfully delivered (e.g Tahoe TCP). Many studies showed evidence in favor of SACK [9]. In the particular case of satellite communications, [16] examines the eectiveness of selective acknowledgment for dierent bit error rates. Simulation results show that the addition of SACKs to the standard TCP Reno greatly improve throughput relative to TCP Reno without SACK, for bit error rates 12 of 10?7 . However, the latter results were obtained for full-duplex symmetric satellite links. In an asymmetric conguration, with a slow ACK ow rate, the SACK option may be useless if TCP can not enter Fast Recovery due to the occurrence of timeout before the arrival of the third duplicate ACK. Further work needs to be done in this direction. 3.1.4 Slow Start and Congestion Avoidance adaptations We briey present in the following, the dierent modications that were proposed to enhance TCP performance. Slow Start Larger initial windows accelerate the opening of the congestion window by saving a few RTTs and eliminating a delayed ACK timeout during the initial Slow Start phase. This is of particular benet in long-delay environments and for short-lived TCP connections13 . Floyd in [12] suggests an initial window size of roughly 4 Kbytes14 , instead of one segment. This change would only apply at the beginning of the connection, in the rst round trip time, i.e, if TCP re-enters Slow Start after a retransmit timeout, the congestion window is re-initialized to one segment. In [1] larger initial windows are shown to improve TCP performance over satellite channels. This study shows a 27% throughput increase, using the 4 segment initial window suggested by Floyd, for 30 Kbyte FTP transfers, and a 180% throughput increase, using a 32 segment initial window. However, these experiments were carried 11 The SACK option is expected to be used in conjunction with the timestamp option, which takes 10 bytes, thus a maximum of 3 SACK blocks will be allowed in this case. 12 Typical bit error rates for satellite links are on the order of 10?7 . 13 Larger initial windows will allow many email and web page transfers (smaller than 4Kbytes) to complete within a single RTT. 14 More precisely, the initial window size would be that given in : min(4*MSS, max(2*MSS,4380 bytes)) out in the absence of competing trac. Further work needs to be done in order to study the impact of larger initial windows on other competing connections. The window increase algorithm needs to be slightly modied to oset the negative eects of delayed ACKs, which reduce by half the ACKs' ow rate, hence the congestion window growth. TCP's window increase algorithm should take into account the number of new segments covered by the ACK rather than the number of ACKs received. This modication was also evaluated in [1]. The study shows a throughput improvement of up to 15% (depending upon transfer size) as compared to standard TCP. The Slow Start threshold estimation Hoe [13] suggests that the initial Slow Start threshold value15 be determined using both the the RTT and the available bandwidth of the bottleneck link in the network between the sender and the receiver. The exact formula combining both values is given in [13]. The idea is to detect, according to current network conditions, the right time for TCP to switch from Slow Start to Congestion Avoidance. Recent work [17] pointed out problems in the mechanism proposed by Hoe used to determine the available bandwidth. Further studies remain to be done before recommending a widespread implementation. Congestion Avoidance Much work have been done to improve Congestion avoidance al- gorithms in order to use at best the available network bandwidth. The proposed algorithms are either based on feedback (Random Early Detection (RED) [10], Explicit Congestion Notication (ECN) [11], ATM-ABR service class) signals from the network or on network responses to variations in source behavior. In the second case, mainly two adjustments methods are used to control the amount of data sent into the network : rate-based and window-based [15, 20, 6, 21]. The rate-based scheme regulates the inter-packet sending time, while the window-based scheme operates by increasing or decreasing the window size. Two approaches can be distinguished for the latter scheme : delay-based (based on the estimation of the RTT) and throughput-based (based on the estimation of the throughput). Both approaches can be interesting for satellite communications, because increasing the congestion window by one segment every RTT (normal Congestion Avoidance algorithm) is very penalizing for TCP in long-delay environments. Consequently, the window increase/decrease algorithm must not only consider the number of RTT that have passed, but also the RTT value or an estimation of the available bandwidth. Finally, in [7] a general undesirable eect on congestion avoidance algorithms based on RTT estimation is reported when the backward path (ACK path) is highly constrained; a typical situation in satellite communications. The authors propose to change these algorithms by dividing the round trip time into a Forward Trip Time and a Backward Trip Time. Simulation results show performance improvement using this distinction. Further work needs to be done to validate all these propositions in the particular environment of satellite communications. 3.2 XFTP : example of an application level solution XFTP is a modied version of FTP using multiple simultaneous TCP connections; a large virtual window can then be simulated. XFTP is specied in [4]. Experimental results in [1] show the existence of an optimal number of connections allowing an optimized version of 15 The size of the window which once achieved, TCP should leave Slow Start and enter Congestion Avoidance XFTP to achieve approximately 90% (without overhead) of a satellite T1 link16 against a maximum utilization of approximately 23% with a single TCP connection17 . Compared to standard FTP, XFTP introduces the following modications : A virtual initial window size of N segments instead of 1, where N is the number of simultaneous TCP connections; A virtual maximum window of N WMax , where WMax is the advertised receiver window; During Slow Start and Congestion Avoidance, the virtual window grows N times faster; Provided that a single loss is experienced per connection, multiple losses can be better handled with XFTP, since losses are distributed between the N connections. When one of the N connections experiences a loss, the degradation in throughput incurred is limited to the connection of interest. However, when XFTP uses too many connections, massive losses happen due to an increased aggressiveness in data transmission. Besides, XFTP requires an additional complexity at both ends allowing a le to be divided between multiple data connections. The authors of this study qualify XFTP as an "interim" solution to TCP inadequacies over satellite channels. The ultimate goal was to provide valuable insights into new mechanisms to help TCP better utilize satellite channels. The lessons learned from XFTP include the need for larger windows, selective ACKs and more aggressive Slow Start and Congestion Avoidance mechanisms. 3.3 Link layer solutions The idea behind this type of solutions is to detect and correct bit errors at the link layer in a transparent way for the transport layer. This will spare TCP the triggering loss recovery mechanisms and the loss in throughput they induce. Error control schemes may be broadly classied as Forward Error Correction (FEC) or Automatic Repeat Request (ARQ) protocols. In an ARQ (Automatic Repeat Request) scheme, the information is segmented into packets to which are attached check symbol, usually through CRC computing. This allows the data receiver to detect erroneous packets and ask for retransmission. In a FEC (Forward Error Correction) scheme, redundant blocks are added to information blocks, enabling the data receiver to detect and correct errors. The choice of an error control technique depends mainly on the bit error rate. However, other factors should also be considered such the propagation delay and the availability of resources. For high lossy links, the FEC approach with high redundancy will spare TCP multiple retransmissions, as compared to the ARQ approach. For low error bit rate channels, ARQ might prove more ecient since it requires less overhead than FEC to perform equivalent error control. As for TCP mechanisms, long delays inherent to satellite communications negatively impact the ARQ error control mechanism, yielding poor performance. Sophisticated ARQ protocols with available feedback channel and buering capabilities have to be used otherwise. This, led to a widespread use of FEC methods for satellite communications. Recently, 16 17 192,000 bytes/s The advertised window is 24 Kbytes and the RTT value is 560 ms. the FEC scheme has been recommended in [2] for use in networks containing satellite channels. Notice, that as link layer retransmission approach handles packet corruption independently of the transport protocol layer, interference may happen resulting in degraded performance. One reason for this is that the link layer approach may aect the order in which packets are delivered, thus triggering TCP loss recovery mechanisms. Consequently, a tight coupling between the retransmission policies at the transport and link layers is desirable for enhanced performance. 4 Conclusion In the rst part of this paper, we outlined TCP inadequacies in the context of satellite communications. The most limiting factors inherent to geostationary satellites appear to be the long propagation delay and the asymmetric nature of the connection. The most aected mechanisms are the timeout and retransmission mechanisms on the one hand (not accurate enough), and the window increase algorithms during Slow Start and Congestion avoidance phases on the other hand (too conservative). In the second part, we covered some possible solutions to enhance TCP performance over satellite links, when these are directly accessed by terminals. As far as TCP extensions are concerned, we believe that the addition of the "Window" Scale, the "Timestamp" and the SACK options should open the way to other modications of TCP. Window increase algorithms, unbiased against long propagation delays, should also be tested and introduced. Work on enhancing TCP over satellite channels is ongoing; for a complete overview of all mechanisms likely to enhance TCP performance, refer to the latest Internet draft [3] dealing with TCP research related to satellites. Finally, intelligent resource allocation schemes on the upstream link may help better utilize the available bandwidth on the downstream link, by reducing the negative eects of a highly asymmetric conguration. References [1] Mark Allman. Improving TCP Performance Over Satellite Channels. Master's thesis, Ohio, June 1997. [2] Mark Allman and Dan Glover. Enhancing TCP Over Satellite Channels Using Standard Mechanisms. Internet Draft, October 1997. draft-ietf-tcpsat-stand-mech-00.txt. [3] Mark Allman and Dan Glover. Ongoing TCP Research Related to Satellites. Internet Draft, November 1997. draft-ietf-tcpsat-res-issues-00.txt. [4] Mark Allman and Shawn Ostermann. Multiple Data Connection FTP Extensions. Technical Report TR-19971, Ohio University, Febuary 1997. [5] Eric Anvar. An Overview of TCP over Satellite and Wirless Links. Rapport de stage 3eme annee, ENST Paris, June 1997. [6] L.S. Brakmo and S.W. O'Malley. TCP Vegas : New Techniques for Congestion Detection and Avoidance. In SIGCOMM Conference on Communications Architectures and Protocols, London, pages 2435, October 1994. [7] O. Elloumi, H. A, and M. Hamdi. Improving CongestionAvoidance Algorithms for Asymmetric Networks. In ICC'97, Montreal, volume 3, pages 14171421, June 1997. [8] A.D. Falk. A System for Hybrid Network Data Communications Terminal Using Asymmetric TCP/IP to Support Internet Applications. Master's thesis, Ohio University, 1994. [9] Kevin Fall and Sally Floyd. Simulation-based Comparisons of Tahoe, Reno, and SACK TCP. Computer Communications Review, July 1996. [10] S. Floyd and V. Jacobson. Random Early Detection Gateways for Congestion Avoidance. IEEE/ACM Transactions on Networking, 1:397413, August 1993. [11] Sally Floyd. TCP and Explicit Congestion Notication. ACM Computer Communication Review, 24:823, October 1995. [12] Sally Floyd and Mark Allman. Increasing TCP's Initial Window. INTERNET DRAFT, July 1997. [13] Janey C. Hoe. Improving the Start-up Behaviour of a Congestion Control Scheme for TCP. In ACM SIGCOMM, August 1996. [14] V. Jacobson. Congestion Avoidance and Control. Computer Communication Review, 18(4):314329, August 1988. [15] Raj Jain. A Delay-Based Approach for Congestion Avoidance in Interconnected Heterogeneous Computer Networks. ACM Computer Communication Review, 19:5671, October 1989. [16] Hans Kruse Mark Allman, Chris Hayes and Shawn Ostermann. TCP Performance over Satellite Links. In 5th International Conference on Telecommunication Systems, March 1997. [17] Vern Paxson. End-to-End Internet Packets Dynamics. In ACM SIGCOMM'97 Conference, Cannes, September 1997. [18] W. Richard Stevens. TCP/IP Illustrated Volume 1 The Protocols. Addison-Wesley, 1994. [19] J.S. Baras V. Arora, N. Suphasindhu and D. Dillon. Asymmetric Internet Access over Satellite-Terrestrial Networks. Technical Report CSHCN TR 96 10, Ohio University, 1996. [20] Z. Wang and J. Crowcroft. A New Congestion Control Scheme : Slow Start and Search (Tri-S). ACM Computer Communication Review, 21:3243, January 1991. [21] Z. Wang and J. Crowcroft. Eliminating Periodic Packet Losses in the 4.3-Tahoe BSD TCP Congestion Control Algorithm. ACM Computer Communication Review, 22:9 16, April 1992.