Internet Engineering Task Force Hari Balakrishnan Internet Draft MIT LCS Document: draft-ietf-pilc-asym-03.txt Venkata N. Padmanabhan Microsoft Research Gorry Fairhurst University of Aberdeen, U.K. Mahesh Sooriyabandara University of Aberdeen, U.K. Category: Informational / BCP March 2001 TCP Performance Implications of Network Asymmetry Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 1. Abstract This document describes TCP performance problems that arise because of asymmetric effects. These problems arise in several access networks, including bandwidth-asymmetric networks and packet radio networks, for different underlying reasons. However, the end result on TCP performance is the same in both cases: performance often degrades significantly because of imperfection and variability in the ACK feedback from the receiver to the sender. This document details several mitigations to these effects, which have either been proposed and evaluated in the literature, or are currently deployed in different networks. These solutions use a combination of local link-layer techniques, subnetwork, and end-to-end mechanisms, consisting of: (i) techniques to manage the reverse channel used by ACKs, typically using header compression or reducing the frequency of TCP ACKs, (ii) techniques to handle this reduced ACK frequency to retain the TCP sender's acknowledgment-triggered self-clocking and (iii) techniques to schedule the data and ACK packets in the return path to improve performance in the presence of two way traffic. Expires May 2001 [page 1] INTERNET DRAFT PILC - Asymmetric Links March 2001 2. Conventions used in this document FORWARD DIRECTION: The dominant direction of data transfer over an asymmetric network. It corresponds to the direction with better link characteristics in terms of bandwidth, latency, error rate, etc. We term data transfer in the forward direction as a "forward transfer." REVERSE DIRECTION: The direction in which acknowledgments of a forward TCP transfer flow. Data transfer could also happen in this direction (and it is termed "reverse transfer"), but it is typically less voluminous than that in the forward direction. The reverse direction typically exhibits worse link characteristics than the forward direction. DOWNSTREAM: Same as the forward direction. UPSTREAM: Same as the reverse direction. ACK: A cumulative TCP acknowledgment. In this document, we use this term to refer to a TCP segment that carries a cumulative acknowledgement but no data. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. 3. Motivation Asymmetric characteristics are exhibited by several network technologies, including cable modems, direct broadcast satellite with interactive return channels, Very Small Aperture satellite Terminals (VSAT), Asymmetric Digital Subscriber Line (ADSL), Hybrid Fiber-Coaxial (HFC), and several packet radio networks. Given that these networks are increasingly being deployed as high-speed access networks, it is highly desirable to achieve good TCP performance over such networks. However, the asymmetry of the networks often makes this challenging. Asymmetry may manifest itself as a difference in transmit and receive bandwidth, an imbalance in the packet loss rate, or differences between the transmit and receive paths [udlr]. For example, when bandwidth is asymmetric such that the reverse path used by TCP ACKs is constrained, the slow or infrequent ACK feedback degrades TCP performance in the forward direction. Even when bandwidth is symmetric, asymmetry in the underlying medium access control (MAC) protocol could make it expensive to transmit ACKs (disproportionately to the size of the ACKs) in one direction. In wireless packet radio networks, the asymmetry of the MAC protocol is often a fundamental consequence of the hub-and-spokes architecture of the network (e.g., a single base station that communicates with multiple mobile stations) rather than an artifact Expires May 2001 [page 2] INTERNET DRAFT PILC - Asymmetric Links March 2001 of poor engineering choices. Satellite networks employing dynamic bandwidth on demand (BoD), are another example of systems that consume MAC resources for each packet sent. These MAC interactions may result in significant degradation of TCP performance. Despite the technological differences between asymmetric-bandwidth and packet radio networks, TCP performance suffers in both these kinds of networks for the same fundamental reason: the imperfection and variability of ACK feedback. This document discusses the problem in detail and describes several techniques that may reduce or eliminate the constraints. 4. How does asymmetry degrade TCP performance? This section describes the implications of network asymmetry on TCP performance. We refer the reader to [BPK99, Bal98, Pad98] for more details and experimental results. 4.1 Bandwidth asymmetry We first discuss the problems that degrade unidirectional transfer performance in bandwidth-asymmetric networks. Depending on the characteristics of the reverse path, two types of situations arise for unidirectional traffic over such networks: when the reverse bottleneck link has sufficient queuing to prevent packet (ACK) losses, and when the reverse bottleneck link has a small buffer. We consider each situation in turn. If the reverse bottleneck link has deep queues so that ACKs do not get dropped on the reverse path, then performance is a strong function of the normalized bandwidth ratio, k, defined in [LMS97]. k is the ratio of the raw bandwidths divided by the ratio of the packet sizes used in the two directions. For example, for a 10 Mbps forward channel and a 50 Kbps reverse channel, the raw bandwidth ratio is 200. With 1000-byte data packets and 40-byte ACKs, the ratio of the packet sizes is 25. This implies that k is 200/25 = 8. Thus, if the receiver acknowl- edges more frequently than one ACK every k = 8 data packets, the reverse bottleneck link will get saturated before the forward bottleneck link does, limiting the throughput in the forward direction. If k > 1 and ACKs are not delayed (in the sense of TCP's delayed ack algorithm) or dropped (at the reverse bottleneck router), TCP ACK- clocking breaks down. Consider two data packets transmitted by the sender in quick succession. En route to the receiver, these packets get spaced apart according to the bottleneck link bandwidth in the forward direction. The principle of ACK clocking is that the ACKs generated in response to these packets preserve this temporal spacing all the way back to the sender, enabling it to transmit new data packets that maintain the same spacing [Jac88]. However, the Expires May 2001 [page 3] INTERNET DRAFT PILC - Asymmetric Links March 2001 limited reverse bandwidth and queuing at the reverse bottleneck router alters the inter-ACK spacing observed at the sender. When ACKs arrive at the bottleneck link in the reverse direction at a faster rate than the link can support, they get queued behind one another. The spacing between them when they emerge from the link is dilated with respect to their original spacing, and is a function of the reverse bottleneck bandwidth. Thus the sender clocks out new data at a slower rate than if there had been no queuing of ACKs. No longer is the performance of the connection dependent on the forward bottleneck link alone; instead, it is throttled by the rate of arriving ACKs. As a side effect, the sender's rate of congestion window growth slows down too. A second side effect also arises when the upstream bottleneck link on the reverse path is saturated. The saturated link causes persistent queuing of packets, leading to an increasing path RTT observed by all end systems using the bottleneck link. This can impact the protocol control loops, and may also trigger false time out (underestimation of the path RTT by the application). A different situation arises when the upstream bottleneck link has a relatively small amount of buffer space to accommodate ACKs. As the transmission window grows, this queue fills and ACKs are dropped. If the receiver acknowledges every packet, only one of every k ACKs gets through to the sender, and the remaining (k-1) are dropped due to buffer overflow at the reverse channel buffer (here k is the normalized bandwidth ratio as before). In this case, the reverse bottleneck link capacity and slow ACK arrival are not directly responsible for any degraded performance. However, there are three important reasons for degraded performance in this case because ACKs are infrequent. 1. First, the sender transmits data in large bursts, limited only by the available congestion window (cwnd). If the sender receives only one ACK in k, it transmits data in bursts of k (or more) segments because each ACK shifts the sliding window by at least k (acknowledged) segments. This increases the likelihood of data loss along the forward path especially when k is large, because routers do not handle large bursts of packets well. 2. Second, TCP sender implementations increase their congestion window by counting the number of ACKs they receive and not on how much data is actually acknowledged by each ACK. Thus fewer ACKs imply a slower rate of growth of the congestion window, which degrades performance over long-delay connections. 3. Third, the sender's fast retransmission and recovery algorithms [RFC 2581] are less effective when ACKs are lost. The sender may not receive the threshold number of duplicate ACKs even if the receiver transmits more than the required number. Furthermore, the sender may not receive enough duplicate ACKs to adequately inflate its window during fast recovery. Expires May 2001 [page 4] INTERNET DRAFT PILC - Asymmetric Links March 2001 4.2 MAC protocol interactions The interaction of TCP with MAC protocols may degrade end-to-end performance. Variable round-trip delays and ACK queuing are the main symptoms of this problem. One example, is the impact on terrestrial wireless networks [Bal98]. The need for the communicating peers to first synchronize via the RTS/CTS protocol before communication and the significant turn- around time for the radios result in a high per-packet overhead. Furthermore, since the RTS/CTS exchange needs to back-off exponentially when the polled radio is busy (for example, engaged in a conversation with a different peer), this overhead is variable. This leads to large and variable communication latencies in packet- radio networks. In addition, an asymmetric workload (with most data flowing in one direction to clients), tends to cause ACKs to get queued in certain radio units (especially in the client modems), exacerbating the variable communication latencies. These variable latencies and queuing of ACKs adversely affect smooth data flow. In particular, TCP ACK traffic interferes with the flow of data and increases the traffic load on the system. For example, experiments conducted on Metricom's Ricochet packet radio network [Met] in 1996 and 1997 clearly demonstrated the effect of the radio turnarounds and increased RTT variability, which degrade TCP performance. It is not uncommon for TCP connections to experience timeouts that last between 9 and 12 seconds each. As a result, a connection may be idle for a very significant fraction of its lifetime. (We observed instances in the context of the Ricochet network where the idle time is 35% of the total transfer time!) Clearly, this leads to gross under-utilization of the available bandwidth. These observations are not an artifact of a particular network, but in fact show up in many wireless situations. Why are these timeouts so long in duration? Ideally, the round-trip time estimate (srtt) of a TCP data transfer will be relatively constant (i.e., have a low linear deviation, rttvar). Then the TCP retransmission timeout, set to srtt + 4*rttvar, will track the smoothed round-trip time estimate and respond well when multiple losses occur in a window. Unfortunately, this is not true for connections in the Ricochet network. Because of the high variability in RTT, the retransmission timer is on the order of 10 seconds, leading to the long idle timeout periods. In general, it is correct for the retransmission timer to trigger a segment retransmission only after an amount of time dependent on both the round-trip time and the linear (or standard) deviation. If only the mean or median round-trip estimates were taken into account, the potential for spurious retransmissions of segments still in transit is large. Connections traversing multiple wireless hops are especially vulnerable to this effect, because it is now more likely that the radio units may already be engaged in conversation with other peers. Expires May 2001 [page 5] INTERNET DRAFT PILC - Asymmetric Links March 2001 Satellite subnetworks often employed shared frequency channels and arbitrate use of the satellite bandwidth by using Medium Access Control (MAC) protocols which employ a Bandwidth on Demand (BoD) scheme. Such links, like wireless links, also exhibit a per packet transmission overhead (each packet sent consumes satellite resource which could otherwise be used to transfer useful DATA). For this reason many Very Small Aperture satellite Terminals (VSATs) employ some form of asymmetric mitigation technique to optimise the overall system performance. Note that the subnetwork MAC contention problem is a significant function of the number of packets (e.g., ACKs) transmitted rather than their size. In other words, there is a significant cost to transmitting a packet regardless of its size. 4.3 Bi-directional traffic We now consider the case when TCP transfers simultaneously occur in opposite directions over an asymmetric network. An example scenario is one in which a user sends out data upstream (for example, an e- mail message) while simultaneously receiving other data downstream (for example, Web pages). For ease of exposition, we restrict our discussion to the case of one connection in each direction. In the presence of bi-directional traffic, the effects discussed in Section 4.1 are more pronounced, because part of the uplink bandwidth is used up by the reverse transfer. This effectively increases the degree of bandwidth asymmetry for the forward transfer. In addition, there are other effects that arise due to the interaction between data packets of the reverse transfer and ACKs of the forward transfer. Suppose the reverse connection is initiated first and that it has saturated the reverse channel and buffer with its data packets at the time the forward connection is initiated. There is then a high probability that many ACKs of the newly initiated forward connection will encounter a full reverse channel buffer and hence get dropped. Even after these initial problems, ACKs of the forward connection could often get queued up behind large data packets of the reverse connection, which could have long transmission times (e.g., it takes about 280 ms to transmit a 1 KB data packet over a 28.8 Kbps line). This causes the forward transfer to stall for long periods of time. It is only at times when the reverse connection loses packets (due to a buffer overflow at an intermediate router) and slows down that the forward connection gets the opportunity to make rapid progress and quickly build up its congestion window. When ACKs are queued behind other traffic for appreciable periods of time, the burst nature of TCP traffic and self-synchronising effects may result in an effect known as ACK Compression [ZSC91] which reduces the throughput of TCP. It occurs when a series of ACKs, in one direction are queued behind a burst of other packets (e.g. DATA packets traveling in the same direction) and become compressed in Expires May 2001 [page 6] INTERNET DRAFT PILC - Asymmetric Links March 2001 time. This, in turn, results in an intense burst of DATA in the other direction, (in response to the burst of compressed ACKs arriving at the server). This phenomenon has been investigated in detail for bi-directional traffic, and recent analytical work [LMS97] has predicted ACK Compression may also result from asymmetry, and was observed in practical asymmetric satellite networks [FSS01].However in the case of extreme asymmetry, effect of ACK dilation may be significant rather than ACK compression. That is, the inter-ACK spacing may actually increase due to queuing. In summary, any sharing of the return path by multiple flows (e.g. multiple TCP flows to the same host, or flows to a number of hosts sharing a common uplink) increases the level of ACK congestion. The presence of bi-directional traffic exacerbates the constraints introduced by bandwidth asymmetry because of the adverse interaction between (large) data packets of an upstream connection and the ACKs of a downstream connection. 4.4 Forward path packet losses due to link errors In the case of long delay satellite paths another complication may arise due to the slow return channel. In these type of networks TCP large windows is used for maximum utilization of the forward channel. If the forward channel is subjected to random errors (which is common in any wireless path) a packet loss from a large window of data will generate large number of back-to-back duplicate ACKs. In the worse case the duplicate ACKs queue at the return channel may delay the ACK for retransmitted packet, (send after triggering fast retransmission) ultimately leading to a timeout. Effect of such a time out can lead to premature ending of Slow Start or reduction of congestion window to a smaller value resulting poor forward path throughput. This can be avoided by deleting duplicate ACKs up to a threshold value [Min00, Cal98] to allow fast retransmission and avoid early timeouts. The same scenario can be seen when TCP SACK option is used. In this case return channel will be saturated from back to back ACKs with SACK blocks. Because SACK packet is relatively larger than a duplicate Acknowledgement probability of time out followed by a Fast Retransmission is high. 4.5 Examples of existing systems with asymmetry In heterogeneous networks, the diverse power and transceiver capabilities of the nodes and economical considerations may result in asymmetry in transmission and reception. These aspects will come in to play in both commercial public networks (and especially in military networks where highly asymmetric networks with a bandwidth ratio exceeding 100:1 may be found (e.g. [KSG98])). Two such networks used by NATO provide Internet access to in-transit/isolated nodes and/or shipboard terminals [Seg00]. A high bandwidth forward Expires May 2001 [page 7] INTERNET DRAFT PILC - Asymmetric Links March 2001 path (3Mbps and 2Mpbs) from high power commercial DVB transponders with narrowband return channel (9.6kbps and 2400bps) from UHF/DAMA or Inmarsat satellite links is used to built the network. The bandwidth asymmetric ratios in these networks are approximately 300:1 and 800:1. The performance of these asymmetric networks are improved by deploying a scheme called ACK decimation (see section 6.2.2). Another area where asymmetry may arise is when digital satellite TV (e.g. DVB-S) is used as a bearer network for forward transmission at a rate of typically 38-45 Mbps, with the return channel provided by a terrestrial modem [CLC99]. Depending on the service provided, the networks can be build with high bandwidth asymmetry. At present Direct-PC uses a similar architecture with a forward DVB-S channel with typical 28.8kbps dial up modem return to provide Internet service to homes. The asymmetric ratio seen by a TCP connection of such a network can be higher than 15: 1. ACK filtering has been used as one technique to improve the TCP performance in the forward path [ASB 96]. Commercial networks with low asymmetry (i.e. in range from 4 to 50) may still benefit from using ACK modification schemes. 5. Improving TCP performance using host modifications There are two key issues that need to be addressed in order to improve TCP performance over asymmetric networks. The first issue is to manage bandwidth usage on the reverse link, used by ACKs (and possibly other traffic). A number of techniques exist which work by reducing the number of ACKs that flow over the reverse channel. This has the side effect of potentially destroying the desirable self- clocking property of the TCP sender where new data transmissions are triggered by incoming ACKs. Thus, the second issue is to avoid any adverse impact of infrequent ACKs. Each of these issues can be handled by local link-layer solutions and/or by end-to-end techniques. In this section, we discuss end-to- end modifications. The next section describes several techniques which do not require end-to-end changes. 5.1 Modified delayed ACKs There are two standard methods that can be used by TCP receivers to generated acknowledgments. The method outlined in [RFC793] generates an ACK for each incoming DATA segment. [RFC1122] states that hosts SHOULD use "delayed acknowledgments". Using this algorithm, an ACK is generated for every second full-sized segment (d=2), or if a second full-size segment does not arrive within a given timeout (which must not exceed 500 ms [RFC 1122], typically less than 200 ms). Relaxing the latter constraint (i.e. allowing d>2) could reduce the rate of ACKs returned. Expires May 2001 [page 8] INTERNET DRAFT PILC - Asymmetric Links March 2001 Reducing the number of ACKs per received DATA segment has a number of undesirable effects including: (i) Increased path RTT (ii) Increases the time TCP takes to open the TCP cwnd (iii) The receiver is often unable to determine an optimum setting (d), since it will normally be unaware of the details of the links which form the return path. RECOMMENDATION: Use the algorithm recommended by [RFC2581] (i.e. d=2). Changing the algorithm requires a host modification to the TCP protocol and awareness by the host that it is using an asymmetric path. 5.2 Use of large MSS If the TCP sender were to use a larger MSS, it would reduce the number of ACKs generated per transmitted byte [RFC2488]. The problem with this approach is that most current networks do not support arbitrarily large MTUs. Most Internet paths therefore employ an MTU of approx 1500 B (that of Ethernet). Path MTU discovery [RFC 1191] may be used to determine the maximum packet size a connection can use on a given network path without being subjected to IP fragmentation, and provides a way to automatically use the largest MSS possible. By electing not to use Path MTU discovery, IP fragmentation may be used to support a larger MSS. Increasing the unit of error recovery and congestion control (MSS) above the unit of transmission (the IP packet) is not recommended, since it may aggravate network congestion [Ken88]. RECOMMENDATION: IP fragmentation should not be used. A larger forward path MTU is desirable for paths with bandwidth asymmetry. Hosts using Path MTU discovery can take advantage of this by using a larger MSS without requiring modification. 5.3 ACK Congestion Control ACK congestion control (ACC) is a proposed technique which operates end-to-end. The key idea in ACC is to extend congestion control to TCP ACKs, since they do make non-negligible demands on resources at the bandwidth-constrained upstream link. ACKs occupy slots in the reverse channel buffer, whose capacity is often limited to a certain number of packets (rather than bytes). ACC has two parts: (a) a mechanism for the network to indicate to the receiver that the ACK path is congested, and (b) the receiver's response to such an indication. One possibility for the former is the RED (Random Early Detection) algorithm [FJ93] at the upstream bottleneck router. The router detects incipient congestion by Expires May 2001 [page 9] INTERNET DRAFT PILC - Asymmetric Links March 2001 tracking the average queue size over a time window in the recent past. If the average exceeds a threshold, the router selects a packet at random and marks it, i.e. sets an Explicit Congestion Notification (ECN) bit in the packet header. This notification is reflected back to the upstream TCP end-host by its downstream peer. ACC extends the SCN scheme of IP so that both data packets and TCP ACKs are candidates for being marked with an ECN bit. Therefore, upon receiving an ACK packet with the ECN bit set [RFC 2481], the TCP receiver reduces the rate at which it sends ACKs. The TCP receiver maintains a dynamically varying delayed-ACK factor, d, and sends one ACK for every d data packets received. When it receives a packet with the ECN bit set, it increases d multiplicatively, thereby decreasing the frequency of ACKs also multiplicatively. Then for each subsequent round-trip time (determined using the TCP timestamp option) during which it does not receive an ECN, it linearly decreases the factor d, thereby increasing the frequency of ACKs. Thus, the receiver mimics the standard congestion control behavior of TCP senders in the manner in which it sends ACKs. There are bounds on the delayed-ack factor d. Obviously, the minimum value of d is 1, since at most one ACK should be sent per data packet. The maximum value of d is determined by the sender's window size, which is conveyed to the receiver in a new TCP option. The receiver should send at least one ACK (preferably more) for each window of data from the sender. Otherwise, it could cause the sender to stall until the receiver's delayed-ack timer (usually set at 200 ms) kicks in and forces an ACK to be sent. Despite RED+ECN, there may be times when the upstream router queue fills up and it needs to drop a packet. The router can pick a packet to drop in various ways. For instance, it can drop from the tail, or it can drop a packet already in the queue at random. RECOMMENDATION: ACC should not be used in its current form. Use of ACK Congestion Control remains a research issue. Future versions of TCP may evolve to include this or similar techniques. 5.4 Window Prediction Mechanism The Window Prediction Mechanism (WPM) is receiver side end-to-end solution to asymmetric paths. This scheme [CLP98] uses a dynamic ACK delay factor resembling the ACC scheme. The receiver reconstructs the congestion control behavior of the TCP sender by predicting a congestion window (cwnd) value. This value is used along with the allowed window to adjust the ACK delay factor (d). WDM accommodates for unnecessary retransmissions resulting from losses due to link errors. RECOMMENDATION: This scheme is a subject of on-going research and should not be used in its current form. Expires May 2001 [page 10] INTERNET DRAFT PILC - Asymmetric Links March 2001 5.5 Acknowledgement based on Cwnd Estimation. Acknowledgement based on Cwnd Estimation (ACE)[MJW00] tries to measure the cwnd at the receiver and maintains a varying ACK delay factor (d). The congestion window (cwnd) is estimated by counting the number of packets received during a path RTT. This method based on measurements at the receiver and requires TCP receiver to be modified. The techniques involved tries to predict cwnd more accurately. RECOMMENDATION: This scheme is a subject of on-going research and should not be used in its current form. 5.6 TCP Sender Adaptation Reducing the frequency of ACKs alleviates the problem of congestion on the reverse bottleneck link. Each ACK potentially acknowledges several (up to d) data packets. This can lead to problems such as sender burstiness and a slowdown in congestion window growth. Sender adaptation is an end-to-end technique for alleviating this. A bound is placed on the maximum number of packets the sender can transmit back-to-back, even if the window allows the transmission of more data. If necessary, more bursts of data are scheduled for later points in time computed based on the connection's data rate. The data rate is estimated as the ratio cwnd/srtt, where cwnd is the TCP congestion window size and srtt is the smoothed RTT estimate. Thus, large bursts of data get broken up into smaller bursts spread out over time. The sender can avoid a slowdown in congestion window growth by simply taking into account the amount of data acknowledged by each ACK, rather than the number of ACKs. So, if an ACK acknowledges d segments, the window is grown as if s separate ACKs had been received. (One could treat the single ACK as being equivalent to d/2 instead of s ACKs to mimic the effect of the TCP delayed ACK algorithm.) This policy works because the window growth is only tied to the available bandwidth in the forward direction, so the number of ACKs is immaterial. RECOMMENDATION: Unlimited byte counting should not be used without a method to mitigate the potentially large bursts of TCP data the algorithm can cause. This is not recommended [RFC2581; RFC 2760]. Internet Draft [abc-ID] describes a restricted form of this. Use of TCP sender pacing [AST00] is safer, but it is not widely deployed. 5.7 Backpressure and Fair Scheduling Two techniques to address the problem of interference between data packets and ACKs on the uplink are proposed in [KVR98]. The first limits the number of data packets in the outgoing uplink queue by Expires May 2001 [page 11] INTERNET DRAFT PILC - Asymmetric Links March 2001 applying backpressure to the TCP layer. In configurations where the uplink network adapter is directly attached to the end-system, backpressure limits the queuing delay caused by the accumulation of data packets at the upstream queue. Backpressure can be unfair to the upstream connection and make its throughput highly sensitive to the dynamics of the downstream connection. So an alternative, fair scheduling, is proposed in [KVR98] where a limit is placed on the number of ACKs a node is allowed to transmit upstream before transmitting a data packet (assuming at least one data packet is waiting in the upstream queue). This guarantees the upstream connection at least a certain minimum share of the bandwidth while enabling the downstream connection to achieve high throughput. RECOMMENDATION: Backpressure is not a standard TCP mechanism. The modified scheme may be desirable and benefits bi-directional traffic for hosts already using backpressure. 6. Improving TCP performance using Transparent Modifications Various link and network layer techniques have been suggested to mitigate the effect of the bottleneck link. These techniques may provide benefit without modification to either the sender or receiver, or may alternately be used in conjunction with one or more of the schemes identified in the previous section. The techniques are classified here based on the point at which they are introduced. The techniques classified as type 1 and type 2 (with one exception) require: (i) Visibility of an unencrypted IP and TCP header (e.g. no use of IPSEC with Payload Encryption) (ii) Knowledge of IP/TCP options/tunnels (or ability to suspend processing of packets with unknown formats) (iii) Ability to demultiplex flows (by using address/protocol/port no.). The approach of the techniques described in this section differ from that of a Protocol Enhancing Proxy (PEP) [PEP-ID] in that they do NOT modify the end to end semantics, and do not inspect/modify any TCP or UDP payload data. They also do not modify port numbers or link addresses. Many of the risks associated with PEP also do not exist for such schemes. 6.1 TYPE 0: Header Compression A client may reduce the volume of ACK data by using compression. Most modern dial-up modems support ITU-T V.42 compression. In contrast to bulk compression, header compression is known to be very effect at reducing the number of bits sent on a return link. This relies on the observation that most TCP packet headers vary only in Expires May 2001 [page 12] INTERNET DRAFT PILC - Asymmetric Links March 2001 a few bit positions between successive packets in a flow, and that the variations can often be predicted. 6.1.1 TCP header compression RFC 1144 [RFC 1144] (sometimes known as V-J compression) describes TCP header compression for use over low-bandwidth links running SLIP or PPP. Because it greatly reduces the size of ACKs on the reverse link when losses are infrequent (a situation that ensures that the state of the compressor and decompressor are synchronized), we recommend its use over low-bandwidth reverse links where possible. However, this alone does not address all of the problems: 1. In some (e.g. wireless) networks there is a significant per- packet MAC overhead that is independent of packet size. 2. A reduction in the size of ACKs does not prevent adverse interaction with large upstream data packets in the presence of bi-directional traffic (discussed in Section 4.3). 3. TCP header compression may not be used with packets which have IP or TCP options (including IPSEC, TCP RTTM, TCP SACK, etc.) 4. The performance of header compression described by RFC1144 is significantly degraded when packets are lost. This therefore suggests the scheme should only be used on links which see a low level of packet loss. 5. The normal implementation of Header Compression inhibits compression when IP is used as a tunneling e.g. L2TP, GRE, IP-in- IP). The tunnel encapsulation complicates locating the appropriate packet headers. Although GRE allows Header Compression on the inner (tunneled) IP header [RFC2784], this is not recommended, since loss of a packet (e.g. to router congestion along the tunnel path) will result in discard of all packets for one RTT [RFC1144]. RECOMMENDATION: This technique benefits paths which have a low-to- medium bandwidth asymmetry. The scheme is widely implemented and deployed, but in the form described in [RFC 1144] should not used over paths which may exhibit appreciable rates of packet loss. The scheme on its own does not provide significant improvement for links with bi-directional traffic. 6.1.2 Alternate Robust Header Compression Algorithms As discussed previously, VJ Header compression [RFC 1144] and IP header compression [RFC 2507] do not perform well in error prone links. Further they do not compress packets with TCP option fields such as SACK and Timestamp (RTTM). However, recent work on more robust schemes suggest that a new generation of compression algorithms may be developed which are much more robust. The ROHC Work Group [rohc] in IETF is working on specifying different header compression schemes: (i) To work well over lossy links Expires May 2001 [page 13] INTERNET DRAFT PILC - Asymmetric Links March 2001 (ii) To work well over long delay paths (iii) Able to compress over unidirectional links (iv) Support both IPv4 and IPv6 and various transport protocols (e.g. TCP, UDP, RTP) The work in progress of this working may be beneficial to asymmetric networks. RECOMMENDATION: Robust header compression techniques benefit paths which have a low-to-medium bandwidth asymmetry and may be robust to packet loss. The scheme on its own does not provide significant improvement in asymmetric networks with bi-directional traffic. 6.2 TYPE 1: Reverse Link Bandwidth Management To effectively address the performance problems caused by asymmetry, there is a need for techniques over and beyond TCP header compression. The second type of techniques are performed only at one point on the return path, within the upstream router/host. It uses class or per-flow queues at the upstream interface of the router/host to manage the queue of packets waiting for transmission on the bottleneck return link. In this type of technique, the queue size is bounded, and an algorithm employed to remove (discard) excess ACK packets from each queue. Like the host modification to increase ACK delay (d>2), this relies on the cumulative nature of TCP ACKs. 6.2.1 ACK Filtering ACK filtering (AF) [DMT96, BPK97] (also known as ACK Suppression [SF98, Sam99, FSS01]) is a TCP-aware link-layer technique that reduces the number of TCP ACKs sent on the reverse channel. The challenge is to ensure that the sender does not stall waiting for ACKs, which can happen if ACKs are removed indiscriminately on the reverse path. AF removes only certain ACKs without starving the sender by taking advantage of the fact that TCP ACKs are cumulative. As far as the sender's error control mechanism is concerned, the information contained in an ACK with a later sequence number subsumes the information contained in any earlier ACK. When an ACK from the receiver is about to be enqueued at a reverse direction router, the router or the end-host's link layer (if the host is directly connected to the bottleneck upstream link) checks its queues for any older ACKs belonging to the same connection. If any are found, it removes them from the queue, thereby reducing the number of ACKs that go back to the sender. The removal of these "redundant" ACKs frees up buffer space for other data and ACK packets. Expires May 2001 [page 14] INTERNET DRAFT PILC - Asymmetric Links March 2001 Some ACKs also have other functions in TCP [RFC1144], and must not be deleted to ensure normal operation. AF must therefore not delete an ACK which has any DATA or TCP flags set (sync, reset, urgent, and final). In addition, the suppressor should avoid deleting a series of 3 duplicate ACKs which indicate the need for Fast Retransmission [RFC2581] or selective ACKs from the queue to avoid causing problems to TCP's data-driven loss recovery mechanisms. The policy that the filter uses to drop packets may be configured and either is deterministic or random (similar to a random-drop gateway, but taking the semantics of the items in the queue into consideration). Algorithms have also been suggested to ensure a minimum ACK rate to guarantee the sender's window is updated [Sam99, FSS01]. State needs to be maintained only for connections with at least one packet in the queue (akin to FRED [LM97]). However, this state is soft, and if necessary, can easily be reconstructed from the contents of the queue. RECOMMENDATION: This technique benefits paths which have an arbitrary bandwidth asymmetry. The scheme has been deployed in specific production networks (e.g. asymmetric satellite networks [ASB96]). The extra processing overhead (per ACK) required may be compensated for by avoiding the need to modify TCP. However, at high asymmetry (or with bi-directional traffic) the scheme may increase the burstiness of the TCP sender. 6.2.2 ACK Decimation ACK Decimation is based on standard router mechanisms. By using an appropriate configuration of (small) per-flow queues and a chosen dropping policy (e.g. WFQ), a similar effect to ACK filtering may be obtained, but with less control of the actual packets which are dropped. In this scheme, the router/host at the bottleneck upstream link maintains per-flow queues and services them fairly (or with priorities) by handling the queuing and scheduling of ACKs and DATA in the reverse direction. A small queue threshold is maintained to drop the excessive ACKs from the tail, in order to reduce ACK congestion. The inability to identify the special ACK packets (c.f. AF) introduces some major drawbacks to this approach such as the possibility of losing duplicate acknowledgements and FIN/ACK packets. This technique has been deployed in a military network, which shows high bandwidth asymmetry to support high-speed data services to in-transit mobile nodes and shipboard [Seg00]. It has proven to be workable, resulting significant performance improvement for asymmetric transfers (although not optimal). It also offers a potential mitigation which may be applicable even when the TCP header is no longer visible (due to IPSEC encryption). Expires May 2001 [page 15] INTERNET DRAFT PILC - Asymmetric Links March 2001 A WFQ scheduler may assign a higher priority to interactive traffic and provide a fair share of the remaining bandwidth to the data traffic. In the presence of bi-directional traffic, this scheme may ensure fairer sharing for ACK and DATA packets. In such a case forward data rate is maintained by increased ACK decimation rate. Sender burstiness resulting from stretched ACKs is a side effect in ACK decimation approach (as for ACK filtering). RECOMMENDATION: This technique uses standard router mechanisms to constrain the rate at which ACKs are fed to the upstream bottleneck link, and has been deployed on at least one network. The approach is sub optimal, in that it may lead to inefficient TCP error recovery, and provides only crude control of the link behavior. At high asymmetry (or with bi-directional traffic) the scheme may increase the burstiness of the TCP sender. 6.3 TYPE 2: Handling Infrequent ACKs TYPE 2 mitigations perform TYPE 1 return link bandwidth management, but also employ a second active element which mitigates the effect of the reduced ACK rate and bursty transmission. The aim is to reduce the impact of culmulative ACKs (sometimes called _stretched ACKs_) on TCP self clocking. The action is performed at two points on the return path (the bottleneck uplink transmit interface (where excess ACKs are removed), and a point further along the return path, after the bottleneck uplink link(s)) where replacement ACKs are inserted. Such schemes need to ensure conservative behaviour (should never introduce more ACKs than were originally sent) and reduce the probability of ACK Compression. TYPE 2 mitigations can be performed locally at the constrained reverse link, or may alternatively be applied at any place along the reverse path. 6.3.1 ACK Reconstruction ACK Reconstruction (AR) is a technique to reconstruct the ACK stream after it has traversed the upstream bottleneck link. AR is a local technique designed to prevent the reduced ACK frequency from adversely affecting the performance of standard TCP sender implementations (i.e., those that do not implement sender adaptation). This enables schemes such as ACK filtering or ACK congestion control to be used without requiring TCP senders to be modified to perform sender adaptation. This solution can be easily deployed by Internet Service Providers (ISPs) of asymmetric access technologies in conjunction with AF to achieve good performance. AR deploys a soft-state agent called the ACK reconstructor at the upstream end of the constrained ACK bottleneck. The reconstructor Expires May 2001 [page 16] INTERNET DRAFT PILC - Asymmetric Links March 2001 does not need to be on the forward data path, but must be on the reverse path. It fills in the gaps in the ACK sequence (by using an algorithm to estimate the number of filtered ACKs) and introduces ACKs to smooth out the ACK stream seen by the sender. However, it does so without violating the end-to-end semantics of TCP ACKs, as explained below. Suppose two ACKs, a1 and a2 arrive at the reconstructor after traversing the constrained upstream link at times t1 and t2 respectively. Let a2 - a1 = delta_a > 1. If a2 were to reach the sender soon after a1 with no intervening ACKs, at least delta_a segments are burst out by the sender (if the flow control window is large enough), and the congestion window increases by at most 1, independent of delta_a. ACK reconstruction remedies this problematic situation by interspersing ACKs to provide the sender with a larger number of ACKs at a consistent rate, which reduces the degree of burstiness and causes the congestion window to increase at a rate governed by the forward bottleneck. One of the configurable parameters of the reconstructor is ack_thresh, the ACK threshold, which determines the spacing between interspersed ACKs at the output. Typically, ack_thresh is set to 2, which follows TCP's standard delayed-ACK policy. Thus, if successive ACKs arrive at the reconstructor separated by delta_a, it interposes ceil (delta_a/ack_thresh) - 2 ACKs, where ceil() is the ceiling operator. The other parameter needed by the reconstructor is ack_interval, which determines the temporal spacing between the reconstructed ACKs. To do this, it measures the rate at which ACKs arrive at the input to the reconstructor. This rate depends on the output rate from the constrained reverse channel and on the presence of other traffic on that link. The reconstructor uses an exponentially weighted moving average estimator to monitor this rate; the output of the estimator is delta_t, the average temporal spacing at which ACKs are arriving at the reconstructor (and the average rate at which ACKs would reach the sender if there were no further losses or delays). If the reconstructor sets ack_interval equal to delta_t, then we would essentially operate at a rate governed by the reverse bottleneck link, and the resulting performance would be determined by the rate at which unfiltered ACKs arrive out of the reverse bottleneck link. If sender adaptation were being done, then the sender behaves as if the rate at which acks arrive us delta_a/delta_t. Therefore, a suitable method of deciding the temporal spacing of reconstructed ACKs, ack_interval, is to equate the rates at which increments in the ACK sequence happen in the two cases. That is, the reconstructor sets ack_interval such that delta_a/delta_t = ack_thresh/ack_interval, which implies that ack_interval = (ack_thresh/delta_a)*delta_t. Therefore, the latest ACK in current sequence, a2, is held back for a time roughly equal to delta_t, and ceil(delta_a/ack_thresh) - 2 ACKs are evenly interposed in this time. Thus, by controlling the number of and spacing between ACKs, Expires May 2001 [page 17] INTERNET DRAFT PILC - Asymmetric Links March 2001 unmodified TCP senders can be made to increase their congestion window at an acceptable rate and avoid bursty behavior. ACK reconstruction can be implemented by maintaining only "soft state" [Clark88] at the reconstructor that can easily be regenerated if lost. Providing the TCP receiver uses ACK delay (d=2), the reconstructor receives in-order ACKs, and all ACK packets are routed via the reconstructor, it generates no spurious ACKs and the end-to-end semantics of the connection are completely preserved. The trade-off in AR is between obtaining less bursty performance, a better rate of congestion window increase, and a reduction in the round-trip variation, versus a modest increase in the round-trip time estimate at the sender. We believe that it is a good trade-off in the asymmetric environments we are concerned with. RECOMMENDATION: ACK Reconstruction reduces the burstiness of TCP transmission which may otherwise arise when ACK Filtering alone is used. The scheme is desirable, but requires modification of equipment after the bottleneck return link. Selection of appropriate algorithms to pace the ACK traffic remains an open research issue. 6.3.2 ACK Compaction/Companding ACK Compaction [SAM99, FSS01] is a scheme which normally relies upon the presence of a tunnel to a remote expander (located along the return path, for instance co-located with the feed router in a UDLR network [udlr]). It uses AF with two modifications: First, when the compressor deletes an ACK from the transmit queue, it appends information to the remaining ACK (this ACK is marked to ensure it is not subsequently deleted). The additional information contains explicit information which details the conditions under which the excess ACKs were deleted. In AR, the ACK stream is reconstructed using implicit information inferred from the header of the received ACKs, whereas in ACK Compaction, the ACK stream is reconstructed using explicit information sent with the compacted ACK. A variety of information may be encoded in the compacted ACK. This includes the (explicit) number of ACKs deleted by the AF and the average number of bytes acknowledged. This is subsequently used by an expander at the remote end of the tunnel. Further timing information may also be added to configure the pacing algorithm [FSS01]. To encode the extra information requires that the Expander recognises a modified ACK header. This would normally limit the Expander to link local operation (as in AR). A tunnel may be used to pass the modified ACKs to an Expander along the return path. Since the Expander generates ACKs upon reception of each Compacted ACK, it is recommended that the Expander implements a scheme to prevent exploitation in Denial of Service (DoS) attacks (e.g. to Expires May 2001 [page 18] INTERNET DRAFT PILC - Asymmetric Links March 2001 verify the originator of the compacted ACK). This could be accomplished by packet filters or by tunnel encryption procedures. ACK Expansion uses a stateless algorithm (i.e. each received packet is processed independently of previously received packets) to expand the ACK. It uses the prefixed information together with the acknowledgment field in the received ACK, to produce an equivalent number of ACKs to those previously deleted by the compactor. These ACKs are forwarded to the original destination (i.e. the TCP sender), preserving normal TCP ACK clocking. In this way, ACK Compaction, unlike AR, is not reliant on specific ACK policies (e.g. it may be compatible with schemes such as DAASS [RFC2760]). Other techniques similar in vein to ACK Compaction has also been proposed [JSK99]. An ACK compressor concatenates multiple ACKs and sends them to the decompressor together with the arrival time of the concatenated ACKs into the queue. The decompressor then uses this information to regenerate the individual ACKs. Like the ACK compacter/expander, this scheme enables more accurate regeneration of ACKs compared to AF/AR. RECOMMENDATION: ACK Compaction is an item of on-going research. The scheme reduces the burstiness of TCP transmission which may otherwise arise when ACK Filtering alone is used. Like AR, the scheme is desirable, but requires modification of additional protocol machinery after the bottleneck return link, and the use of a tunnel (if the expander is not directly connected to the receiver of the bottleneck link). The technique has not, at the time of writing been widely deployed. 6.3.3 Mitigating the Effect of Infrequent ACKs The bursts of DATA packets generated when AF (and other related techniques are employed) may be undesirable. Such bursts may lead to congestion loss on the forward path, and increase the jitter experienced by other sessions sharing the forward path. Various techniques to mitigate these effects have already been discussed (TCP sender pacing, ACK Reconstruction and ACK Compaction). Another way to reduce the impact of these bursts is to employ Generic Traffic Shaping (GTS)on the forward path [Seg00]. 6.4 TYPE 3: Uplink Scheduling Many of the above schemes imply per flow queues. Per-flow queuing (e.g. FQ, CBQ) does offer some benefit even when used on links which do not provide other forms of mitigations, but offers additional benefit when used with one of the above techniques. Expires May 2001 [page 19] INTERNET DRAFT PILC - Asymmetric Links March 2001 6.4.1 Per-Flow queuing on the upstream bottleneck link When bi-directional traffic exists in a bandwidth asymmetric network competing ACK and data traffic in the return path may degrade the performance both downstream and down stream flows [KVR98]. Therefore, it is highly desirable to use a queuing strategy combined with a scheduling mechanism at the return path. A simple scheme can be implemented using a per-flow queuing with a fair scheduler (e.g. simple round robin service to all flows or priority scheduling). A smaller MTU may be used to mitigate the impact (jitter) of bi-directional traffic on low speed links, More advanced schemes (e.g. WFQ) may also be used to improve the performance of transfers with multiple Acknowledgement streams such as p-http.[Seg00]. On a slow uplink, appreciable jitter may be introduced by sending large DATA packets ahead of ACKs. One way of reducing the delay is to use transparent link fragmentation to fragment the data packet into small pieces before transmission [RFC1990, RFC2686]. RECOMMENDATION: Per-flow (or per-class) scheduling is widely implemented and widely deployed. The scheme has particular benefits for slow links. It is recommended as a mitigation on its own or in combination with one of the other techniques outlined here. 6.4.2 ACKs-first Scheduling In the case of bi-directional transfers, data as well as ACK packets compete for resources in the reverse direction. In this case, a single FIFO queue for both data packets and ACKs could cause prob- lems. For example, if the reverse channel is a 28.8 Kbps dialup line, the transmission of a 1 KB sized data packet would take about 280 ms. So even if just two such data packets get queued ahead of ACKs (not an uncommon occurrence since data packets are sent out in pairs during slow start), they would shut out ACKs for well over half a second. And if more than two data packets are queued up ahead of an ACK, the ACKs would be delayed by even more. A possible approach to alleviating this problem is to schedule data and ACKs differently from FIFO. One algorithm, in particular, is ACKs-first scheduling, which always accords a higher priority to ACKs over DATA packets. The motivation for such scheduling is that it minimizes the idle time for the forward connection by minimizing the amount of time that its ACKs spend queued behind upstream data packets. At the same time, with techniques such as header compression [RFC1144], the transmission time of ACKs becomes small enough that its impact on subsequent DATA packets is minimal. (Networks in which the per-packet overhead of the reverse channel is large, e.g. packet radio networks, are an exception.) This scheduling scheme does not require the upstream bottleneck router/host to explicitly identify or maintain state for individual TCP connections. Expires May 2001 [page 20] INTERNET DRAFT PILC - Asymmetric Links March 2001 ACKs-first scheduling does not help avoid a delay due to a data packet in transmission. Link fragmentation may be beneficial in this case. RECOMMENDATION: If the ACKs-first scheduling is used without a mechanism (such as ACK congestion control (ACC)) to regulate the volume of ACKs, it could lead to starvation of DATA packets. Experiments indicate that ACKs-first scheduling in combination with ACC is promising. However, further development of the technique remains an open research issue. 7. Security Considerations Security considerations in the context of this Internet Draft arise primarily from the possible use of IPSEC by the end hosts: 1. With IPSEC ESP, the TCP header can neither be read nor modified by intermediate entities. This rules out header compression, ACK filtering, and ACK reconstruction. 2. With IPSEC AH or TF-ESP, the TCP header can be read but not modified by intermediaries. This rules out ACK reconstruction but allows ACK filtering. The enhanced header compression scheme discussed in [RFC2505] would also work with AH. There are potential DoS implications when using Type 2 schemes with a return path tunnel. The usual precautions must be taken to verify the correct tunnel end point, and to ensure that applications cannot falsely inject compressed packets which expand to generate unwanted traffic. 8. Summary This Internet Draft considers several TCP performance constraints that arise from asymmetry in network links and surveys several possible mitigations. Performance limitations arise as a result of asymmetry in both bandwidth and interactions with media-access control protocols. Asymmetric bandwidth provision may cause TCP ACKs to be lost or become inordinately delayed (e.g., when there is bi-directional traffic. This effect may be exacerbated with media-access delays (e.g., in certain multi-hop radio networks, satellite BoD access). TCP header compression, while being helpful, does not necessarily address many of these issues. This Internet Draft surveys performance improvement techniques that combine ACK congestion alleviation with techniques that enable a TCP sender to cope with infrequent ACKs without destroying its self- clocking. These techniques include both end-to-end and local link- layer schemes. Many of these techniques have been evaluated in detail via analysis, simulation, and/or implementation on real asymmetric networks. Expires May 2001 [page 21] INTERNET DRAFT PILC - Asymmetric Links March 2001 The techniques proposed in this document differ from those used in Protocol Enhancing Proxies (PEP) in that they do NOT seek to modify the end to end semantics, and do not inspect/modify any TCP or UDP payload data. They also do not modify port numbers or line addresses. Many of the risks associated with PEP do not exist for such schemes. 9. References [abc-ID] M Allman, draft-allman-tcp-abc-00.txt, Internet Draft, WORK IN PROGRESS. [ASB96]V. Arora, N. Suphasindhu, J.S. Baras, D. Dillon _ Asymmetric Internet Access over Satellite-Terrestrial Networks_, Proceedings of the AIAA: 16th International Communications Satellite Systems Conference and Exhibit, Part 1, pp.476-482, Washington, D.C., February 25-29, 1996. [AST00] Amit Aggarwal, Stefan Savage, and Tom Anderson, _Understanding the Performance of TCP Pacing,_ Proc. of IEEE Infocom, Tel-Aviv, Israel, 2000. [Bal98] H. Balakrishnan, "Challenges to Reliable Data Transport over Heterogeneous Wireless Networks", Ph.D. Thesis, University of California at Berkeley, USA, August 1998. http://www.cs.berkeley.edu/~hari/thesis/ [BPK97] H. Balakrishnan, V. N. Padmanabhan, R. H. Katz, "The Effects of Asymmetry on TCP Performance", Proc. ACM/IEEE Mobicom, Budapest, Hungary, September 1997. [BPK99] H. Balakrishnan, V. N. Padmanabhan, R. H. Katz, "The Effects of Asymmetry on TCP Performance", ACM Mobile Networks and Applications (MONET), 1999. This is an expanded journal version of the Mobicom '97 paper. [CLC99]H Clausen, H Linder, and B Collini-Nocker, _Internet over Broadcast Satellites_. IEEE Commun. Mag. 1999.pp. 146-151. [CLP98] A. Calveras, J. Linares, J. Paradells. _Window Prediction Mechanism for Improving TCP in Wireless Asymmetric Links_. Globecom'98. Sydney Australia. November 1998. [CR98] R. Cohen, S. Ramanathan, "TCP for High Performance in Hybrid Fiber Coaxial Broad-Band Access Networks", IEEE/ACM Transactions on Networking, February 1998. [DMT96] R. Durst, G. Miller, and E. Travis, (1996). "TCP Extensions for Space Communications," 2nd ACM International Conference on Mobile Computing and Networking (Mobicom), November, pp. 15-26. Expires May 2001 [page 22] INTERNET DRAFT PILC - Asymmetric Links March 2001 [FJ93] Floyd, S., Jacobson, V., "Random Early Detection gateways for Congestion Avoidance", IEEE/ACM ToN, V.1, N.4, August 1993, p.397- 413. [FSS01] G. Fairhurst, N. K. G. Samaraweera, M. Sooriyabandara, H. Harun, K. Hodson, and R. Donardio, _Performance Issues in Asymmetric Service Provision using Broadband Satellite_, IEE Proceedings- Communications, 2001. [Jac88] V. Jacobson, Congestion Avoidance and Control, Proc. ACM SIGCOMM, Stanford, CA, August 1988. [JSK99] Johansson G.L, Shakargi, H. Kanljung, C. Kullander, J. _ACKNOWLEDGEMENT Compression Rev B_, Technical Report December 1999. [Ken88]C. A. Kent and J. C. Mogul, "Fragmentation Considered Harmful," presented at SIGCOMM, USA, 1988. [KSG98] Krout, T., Solsman, M., Goldstein, J., 'The effects of Asymmetric Satellite Networks on Protocols', MilCom98, Bradford, MA. [KVR98] L. Kalampoukas, A. Varma, K. K. Ramakrishnan, "Improving TCP Throughput over Two-Way Asymmetric Links: Analysis and Solutions", Proc. ACM SIGMETRICS, June 1998. [LM97] D. Lin, R. Morris, "Dynamics of Random Early Detection", Proc. ACM SIGCOMM, 1997. [LMS97] T. V. Lakshman, U. Madhow, B. Suter, "Window-based Error Recovery and Flow Control with a Slow Acknowledgement Channel: A Study of TCP/IP Performance", Proc. IEEE Infocom, Kobe, Japan, April 1997. [Met] Metricom Inc., http://www.metricom.com [MJW00] Ming-Chit, I.T, Jinsong, D. Wang, W. "Improving TCP Performance Over Asymmetric Networks" ACM SIGCOMM CCR, July 2000. [Pad98] V. N. Padmanabhan, "Addressing the Challenges of Web Data Transport", Ph.D. Thesis, University of California at Berkeley, USA, September 1998 (also Tech Report UCB/CSD-98-1016). http://www.research.microsoft.com/~padmanab/phd-thesis.html [PEP-ID] J. Border draft-ietf-pilc-pep-05.txt, Internet Draft, WORK IN PROGRESS. [RFC 2581] M. Allman, V. Paxson, W. Stevens, _TCP Congestion Control_, RFC 2581. [RFC1144] V. Jacobson, "Compressing TCP/IP Headers for Low-Speed Serial Links", RFC-1144, February 1990. Expires May 2001 [page 23] INTERNET DRAFT PILC - Asymmetric Links March 2001 [RFC1990] K. Sklower, B. Lloyd, G. McGregor, D. Carr, T. Coradetti, "The PPP Multilink Protocol (MP)", RFC-1990, August 1996. [RFC2026] S. Bradner, "The Internet Standards Process -- Revision 3", RFC-2026, October 1996. [RFC2119] S. Bradner, " Key words for use in RFCs to Indicate Requirement Levels", RFC-2119, March 1997. [RFC2481] K. Ramakrishnan and S. Floyd, "A Proposal to add Explicit Congestion Notification (ECN) to IP," IETF, Experimental RFC2481, January 1999. [RFC2505] M. Degermark, B. Nordgren, S. Pink, "IP Header Compression", RFC-2507, February 1999. [RFC2507] Degermark, M. Nordgren, B. Pink, S. IP Header Compression. Internet Engineering Task Force, Feb.1999. RFC-2507. [RFC2686] C. Bormann, "The Multi-Class Extension to Multi-Link PPP", RFC-2686, September 1999. [rohc] Robust Header Compression Working Group IETF, http://www.ietf.org/html.charters/rohc-charter.html. [Sam99] N. K. G. Samaraweera, "Return Link Optimization for Internet Service Provision Using DVB-S Networks", ACM SIGCOMM CCR, July 1999. [Seg00] R. Segura " Asymmetric Networking Techniques For Hybrid Satellite Communications" NC3A, Technical Note 810. August 2000. [SF98] N Samaraweera, G Fairhurst. _High Speed Internet Access using Satellite-based DVB Networks_, International Networks Conference. Plymouth, UK 1998, IEEE. pp 23-28. [udlr] UniDirectional Link Routing Working Group, IETF, http://www.ietf.org/html.charters/udlr-charter.html. [ZSC91] L. Zhang, S. Shenker, and D. D. Clark, Observations and Dynamics of a Congestion Control Algorithm: The Effects of Two-Way Traffic. In Proc. ACM SIGCOMM '91, pages 133--147, 1991 10. Acknowledgments We thank Spencer Dawkins, Aaron Falk, and the members of the PILC mailing list for their valuable comments. Expires May 2001 [page 24] INTERNET DRAFT PILC - Asymmetric Links March 2001 11. Appendix A: Known Areas of Future Research Operation with IP flows using IPSEC with Authentication. Type 0 schemes must transport the additional security information Type 1 schemes may be adapted to support this. Type 2 schemes are unable to "regenerate" ACKs unless the additional security information is also sent. ACK Regeneration by a middle party may also have other security implications (???). Most current schemes pass all IPSEC packets without change/enhancement. Operation with TCP-ECN Type 0-2 schemes may in future be modified to support use of ECN. Most current schemes will pass all TCP-ECN packets without change/enhancement. Operation with TCP-SACK and TCP-DSACK Type 0 schemes must transport the additional SACK information Type 1 schemes may be adapted to support this, but suppression may be less effective. Type 2 schemes must be able to "regenerate" SACK packets, but will require additional SACK information to also be sent. Most current schemes pass all TCP SACK packets without change/enhancement. 12. Authors' Addresses Hari Balakrishnan Laboratory for Computer Science 200 Technology Square Massachusetts Institute of Technology Cambridge, MA 02139 USA Phone: +1-617-253-8713 Fax: +1-617-253-0147 Email: hari@lcs.mit.edu Web: http://nms.lcs.mit.edu/~hari/ Venkata N. Padmanabhan Microsoft Research One Microsoft Way Redmond, WA 98052 USA Phone: +1-425-705-2790 Fax: +1-425-936-7329 Email: padmanab@microsoft.com Web: http://www.research.microsoft.com/~padmanab/ Expires May 2001 [page 25] INTERNET DRAFT PILC - Asymmetric Links March 2001 Godred Fairhurst Department of Engineering Fraser Noble Building University of Aberdeen Aberdeen AB24 3UE UK Phone: +44-1224-272201 Fax: +44-1224-272497 Email: gorry@erg.abdn.ac.uk Web: http://www.erg.abdn.ac.uk/users/gorry Mahesh Sooriyabandara Department of Engineering Fraser Noble Building University of Aberdeen Aberdeen AB24 3UE UK Phone: +44-1224-272780 Fax: +44-1224-272497 Email: mahesh@erg.abdn.ac.uk Web: http://www.erg.abdn.ac.uk/users/mahesh Expires May 2001 [page 26] INTERNET DRAFT PILC - Asymmetric Links March 2001 Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. Expires May 2001 [page 27]