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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 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 September 2001                                              [page 27]