summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc3449.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/rfc/rfc3449.txt')
-rw-r--r--doc/rfc/rfc3449.txt2299
1 files changed, 2299 insertions, 0 deletions
diff --git a/doc/rfc/rfc3449.txt b/doc/rfc/rfc3449.txt
new file mode 100644
index 0000000..46936b0
--- /dev/null
+++ b/doc/rfc/rfc3449.txt
@@ -0,0 +1,2299 @@
+
+
+
+
+
+
+Network Working Group H. Balakrishnan
+Request for Comments: 3449 MIT LCS
+BCP: 69 V. N. Padmanabhan
+Category: Best Current Practice Microsoft Research
+ G. Fairhurst
+ M. Sooriyabandara
+ University of Aberdeen, U.K.
+ December 2002
+
+
+ TCP Performance Implications
+ of Network Path Asymmetry
+
+Status of this Memo
+
+ This document specifies an Internet Best Current Practices for the
+ Internet Community, and requests discussion and suggestions for
+ improvements. Distribution of this memo is unlimited.
+
+Copyright Notice
+
+ Copyright (C) The Internet Society (2002). All Rights Reserved.
+
+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
+ subnetworks, 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.
+
+ The document details several mitigations to these effects, which have
+ either been proposed or evaluated in the literature, or are currently
+ deployed in networks. These solutions use a combination of local
+ link-layer techniques, subnetwork, and end-to-end mechanisms,
+ consisting of: (i) techniques to manage the channel used for the
+ upstream bottleneck link carrying the 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 reverse direction to improve
+ performance in the presence of two-way traffic. Each technique is
+ described, together with known issues, and recommendations for use.
+ A summary of the recommendations is provided at the end of the
+ document.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 1]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+Table of Contents
+
+ 1. Conventions used in this Document ...............................3
+ 2. Motivation ....................................................4
+ 2.1 Asymmetry due to Differences in Transmit
+ and Receive Capacity .........................................4
+ 2.2 Asymmetry due to Shared Media in the Reverse Direction .......5
+ 2.3 The General Problem ..........................................5
+ 3. How does Asymmetry Degrade TCP Performance? .....................5
+ 3.1 Asymmetric Capacity ..........................................5
+ 3.2 MAC Protocol Interactions ....................................7
+ 3.3 Bidirectional Traffic ........................................8
+ 3.4 Loss in Asymmetric Network Paths ............................10
+ 4. Improving TCP Performance using Host Mitigations ...............10
+ 4.1 Modified Delayed ACKs .......................................11
+ 4.2 Use of Large MSS ............................................12
+ 4.3 ACK Congestion Control ......................................13
+ 4.4 Window Prediction Mechanism .................................14
+ 4.5 Acknowledgement based on Cwnd Estimation. ...................14
+ 4.6 TCP Sender Pacing ...........................................14
+ 4.7 TCP Byte Counting ...........................................15
+ 4.8 Backpressure ................................................16
+ 5. Improving TCP performance using Transparent Modifications ......17
+ 5.1 TYPE 0: Header Compression ..................................18
+ 5.1.1 TCP Header Compression ..................................18
+ 5.1.2 Alternate Robust Header Compression Algorithms ..........19
+ 5.2 TYPE 1: Reverse Link Bandwidth Management ...................19
+ 5.2.1 ACK Filtering ...........................................20
+ 5.2.2 ACK Decimation ..........................................21
+ 5.3 TYPE 2: Handling Infrequent ACKs ............................22
+ 5.3.1 ACK Reconstruction ......................................23
+ 5.3.2 ACK Compaction and Companding ...........................25
+ 5.3.3 Mitigating TCP packet bursts generated by
+ Infrequent ACKs .........................................26
+ 5.4 TYPE 3: Upstream Link Scheduling ............................27
+ 5.4.1 Per-Flow queuing at the Upstream Bottleneck Link ........27
+ 5.4.2 ACKs-first Scheduling ...................................28
+ 6. Security Considerations ........................................29
+ 7. Summary ........................................................30
+ 8. Acknowledgments ................................................32
+ 9. References .....................................................32
+ 10. IANA Considerations ...........................................37
+ Appendix: Examples of Subnetworks Exhibiting Network Path
+ Asymmetry ...............................................38
+ Authors' Addresses ................................................40
+ Full Copyright Statement ..........................................41
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 2]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+1. Conventions used in this Document
+
+ FORWARD DIRECTION: The dominant direction of data transfer over an
+ asymmetric network path. It corresponds to the direction with better
+ characteristics in terms of capacity, latency, error rate, etc. Data
+ transfer in the forward direction is called "forward transfer".
+ Packets travelling in the forward direction follow the forward path
+ through the IP network.
+
+ REVERSE DIRECTION: The direction in which acknowledgments of a
+ forward TCP transfer flow. Data transfer could also happen in this
+ direction (and is termed "reverse transfer"), but it is typically
+ less voluminous than that in the forward direction. The reverse
+ direction typically exhibits worse characteristics than the forward
+ direction. Packets travelling in the reverse direction follow the
+ reverse path through the IP network.
+
+ UPSTREAM LINK: The specific bottleneck link that normally has much
+ less capability than the corresponding downstream link. Congestion
+ is not confined to this link alone, and may also occur at any point
+ along the forward and reverse directions (e.g., due to sharing with
+ other traffic flows).
+
+ DOWNSTREAM LINK: A link on the forward path, corresponding to the
+ upstream link.
+
+ ACK: A cumulative TCP acknowledgment [RFC791]. In this document,
+ this term refers to a TCP segment that carries a cumulative
+ acknowledgement (ACK), but no data.
+
+ DELAYED ACK FACTOR, d: The number of TCP data segments acknowledged
+ by a TCP ACK. The minimum value of d is 1, since at most one ACK
+ should be sent for each data packet [RFC1122, RFC2581].
+
+ STRETCH ACK: Stretch ACKs are acknowledgements that cover more than 2
+ segments of previously unacknowledged data (d>2) [RFC2581]. Stretch
+ ACKs can occur by design (although this is not standard), due to
+ implementation bugs [All97b, RFC2525], or due to ACK loss [RFC2760].
+
+ NORMALIZED BANDWIDTH RATIO, k: The ratio of the raw bandwidth
+ (capacity) of the forward direction to the return direction, divided
+ by the ratio of the packet sizes used in the two directions [LMS97].
+
+ SOFTSTATE: Per-flow state established in a network device that is
+ used by the protocol [Cla88]. The state expires after a period of
+ time (i.e., is not required to be explicitly deleted when a session
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 3]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ expires), and is continuously refreshed while a flow continues (i.e.,
+ lost state may be reconstructed without needing to exchange
+ additional control messages).
+
+2. Motivation
+
+ Asymmetric characteristics are exhibited by several network
+ technologies, including cable data networks, (e.g., DOCSIS cable TV
+ networks [DS00, DS01]), direct broadcast satellite (e.g., an IP
+ service using Digital Video Broadcast, DVB, [EN97] with an
+ interactive return channel), Very Small Aperture satellite Terminals
+ (VSAT), Asymmetric Digital Subscriber Line (ADSL) [ITU02, ANS01], and
+ several packet radio networks. These networks are increasingly being
+ deployed as high-speed Internet access networks, and it is therefore
+ highly desirable to achieve good TCP performance. However, the
+ asymmetry of the network paths often makes this challenging.
+ Examples of some networks that exhibit asymmetry are provided in the
+ Appendix.
+
+ Asymmetry may manifest itself as a difference in transmit and receive
+ capacity, an imbalance in the packet loss rate, or differences
+ between the transmit and receive paths [RFC3077]. For example, when
+ capacity is asymmetric, such that there is reduced capacity on
+ reverse path used by TCP ACKs, slow or infrequent ACK feedback
+ degrades TCP performance in the forward direction. Similarly,
+ asymmetry in the underlying Medium Access Control (MAC) and Physical
+ (PHY) protocols could make it expensive to transmit TCP ACKs
+ (disproportionately to their size), even when capacity is symmetric.
+
+2.1 Asymmetry due to Differences in Transmit and Receive Capacity
+
+ Network paths may be asymmetric because the upstream and downstream
+ links operate at different rates and/or are implemented using
+ different technologies.
+
+ The asymmetry in capacity may be substantially increased when best
+ effort IP flows carrying TCP ACKs share the available upstream
+ capacity with other traffic flows, e.g., telephony, especially flows
+ that have reserved upstream capacity. This includes service
+ guarantees at the IP layer (e.g., the Guaranteed Service [RFC2212])
+ or at the subnet layer (e.g., support of Voice over IP [ITU01] using
+ the Unsolicited Grant service in DOCSIS [DS01], or CBR virtual
+ connections in ATM over ADSL [ITU02, ANS01]).
+
+ When multiple upstream links exist the asymmetry may be reduced by
+ dividing upstream traffic between a number of available upstream
+ links.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 4]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+2.2 Asymmetry due to Shared Media in the Reverse Direction
+
+ In networks employing centralized multiple access control, asymmetry
+ may be a fundamental consequence of the hub-and-spokes architecture
+ of the network (i.e., a single base node communicating with multiple
+ downstream nodes). The central node often incurs less transmission
+ overhead and does not incur latency in scheduling its own downstream
+ transmissions. In contrast, upstream transmission is subject to
+ additional overhead and latency (e.g., due to guard times between
+ transmission bursts, and contention intervals). This can produce
+ significant network path asymmetry.
+
+ Upstream capacity may be further limited by the requirement that each
+ node must first request per-packet bandwidth using a contention MAC
+ protocol (e.g., DOCSIS 1.0 MAC restricts each node to sending at most
+ a single packet in each upstream time-division interval [DS00]). A
+ satellite network employing dynamic Bandwidth on Demand (BoD), also
+ consumes MAC resources for each packet sent (e.g., [EN00]). In these
+ schemes, the available uplink capacity is a function of the MAC
+ algorithm. The MAC and PHY schemes also introduce overhead per
+ upstream transmission which could be so significant that transmitting
+ short packets (including TCP ACKs) becomes as costly as transmitting
+ MTU-sized data packets.
+
+2.3 The General Problem
+
+ Despite the technological differences between capacity-dependent and
+ MAC-dependent asymmetries, both kinds of network path suffer reduced
+ TCP performance 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.
+
+3. How does Asymmetry Degrade TCP Performance?
+
+ This section describes the implications of network path asymmetry on
+ TCP performance. The reader is referred to [BPK99, Bal98, Pad98,
+ FSS01, Sam99] for more details and experimental results.
+
+3.1 Asymmetric Capacity
+
+ The problems that degrade unidirectional transfer performance when
+ the forward and return paths have very different capacities depend on
+ the characteristics of the upstream link. Two types of situations
+ arise for unidirectional traffic over such network paths: when the
+ upstream bottleneck link has sufficient queuing to prevent packet
+ (ACK) losses, and when the upstream bottleneck link has a small
+ buffer. Each is considered in turn.
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 5]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ If the upstream bottleneck link has deep queues, so that this does
+ not drop ACKs in the reverse direction, then performance is a strong
+ function of the normalized bandwidth ratio, k. For example, for a 10
+ Mbps downstream link and a 50 Kbps upstream link, the raw capacity
+ 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 acknowledges more frequently than one ACK every
+ 8 (k) data packets, the upstream link will become saturated before
+ the downstream link, limiting the throughput in the forward
+ direction. Note that, the achieved TCP throughput is determined by
+ the minimum of the receiver advertised window or TCP congestion
+ window, cwnd [RFC2581].
+
+ If ACKs are not dropped (at the upstream bottleneck link) and k > 1
+ or k > 0.5 when delayed ACKs are used [RFC1122], 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 capacity of the smallest bottleneck link in
+ the forward direction. The principle of ACK clocking is that the
+ ACKs generated in response to receiving these data packets reflects
+ this temporal spacing all the way back to the sender, enabling it to
+ transmit new data packets that maintain the same spacing [Jac88]. ACK
+ clocking with delayed ACKs, reflects the spacing between data packets
+ that actually trigger ACKs. However, the limited upstream capacity
+ and queuing at the upstream bottleneck router alters the inter-ACK
+ spacing of the reverse path, and hence that observed at the sender.
+ When ACKs arrive at the upstream bottleneck link 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 upstream
+ bottleneck capacity. Thus the TCP sender clocks out new data packets
+ at a slower rate than if there had been no queuing of ACKs. The
+ performance of the connection is no longer dependent on the
+ downstream bottleneck link alone; instead, it is throttled by the
+ rate of arriving ACKs. As a side effect, the sender's rate of cwnd
+ growth also slows down.
+
+ A second side effect 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 Round Trip Time
+ (RTT) [RFC2998] observed by all end hosts 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 sending host).
+
+ 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 were to acknowledge every packet, only one of every k
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 6]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ ACKs would get through to the sender, and the remaining (k-1) are
+ dropped due to buffer overflow at the upstream link buffer (here k is
+ the normalized bandwidth ratio as before). In this case, the reverse
+ bottleneck link capacity and slow ACK arrival rate are not directly
+ responsible for any degraded performance. However, the infrequency
+ of ACKs leads to three reasons for degraded performance:
+
+ 1. The sender transmits data in large bursts of packets, limited only
+ by the available cwnd. If the sender receives only one ACK in k,
+ it transmits data in bursts of k (or more) packets because each
+ ACK shifts the sliding window by at least k (acknowledged) data
+ packets (TCP data segments). This increases the likelihood of
+ data packet loss along the forward path especially when k is
+ large, because routers do not handle large bursts of packets well.
+
+ 2. Current TCP sender implementations increase their cwnd by counting
+ the number of ACKs they receive and not by how much data is
+ actually acknowledged by each ACK. The later approach, also known
+ as byte counting (section 4.7), is a standard implementation
+ option for cwnd increase during the congestion avoidance period
+ [RFC2581]. Thus fewer ACKs imply a slower rate of growth of the
+ cwnd, which degrades performance over long-delay connections.
+
+ 3. The sender TCP's Fast Retransmission and Fast Recovery algorithms
+ [RFC2581] are less effective when ACKs are lost. The sender may
+ possibly not receive the threshold number of duplicate ACKs even
+ if the receiver transmits more than the DupACK threshold (> 3
+ DupACKs) [RFC2581]. Furthermore, the sender may possibly not
+ receive enough duplicate ACKs to adequately inflate its cwnd
+ during Fast Recovery.
+
+3.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]. A
+ high per-packet overhead may arise from the need for communicating
+ link nodes to first synchronise (e.g., via a Ready To Send / Clear to
+ Send (RTS/CTS) protocol) before communication and the significant
+ turn-around time for the wireless channel. This overhead is
+ variable, since the RTS/CTS exchange may need to back-off
+ exponentially when the remote node is busy (e.g., engaged in a
+ conversation with a different node). This leads to large and
+ variable communication latencies in packet-radio networks.
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 7]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ An asymmetric workload (more downstream than upstream traffic) may
+ cause ACKs to be queued in some wireless nodes (especially in the end
+ host modems), exacerbating the variable latency. Queuing may also
+ occur in other shared media, e.g., cable modem uplinks, BoD access
+ systems often employed on shared satellite channels.
+
+ Variable latency and ACK queuing reduces the smoothness of the TCP
+ data flow. In particular, ACK traffic can interfere with the flow of
+ data packets, increasing the traffic load of the system.
+
+ TCP measures the path RTT, and from this calculates a smoothed RTT
+ estimate (srtt) and a linear deviation, rttvar. These are used to
+ estimate a path retransmission timeout (RTO) [RFC2988], set to srtt +
+ 4*rttvar. For most wired TCP connections, the srtt remains constant
+ or has a low linear deviation. The RTO therefore tracks the path
+ RTT, and the TCP sender will respond promptly when multiple losses
+ occur in a window. In contrast, some wireless networks exhibit a
+ high variability in RTT, causing the RTO to significantly increase
+ (e.g., on the order of 10 seconds). Paths traversing multiple
+ wireless hops are especially vulnerable to this effect, because this
+ increases the probability that the intermediate nodes may already be
+ engaged in conversation with other nodes. The overhead in most MAC
+ schemes is a function of both the number and size of packets.
+ However, the 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 packet size.
+
+ Experiments conducted on the Ricochet packet radio network in 1996
+ and 1997 demonstrated the impact of radio turnarounds and the
+ corresponding increased RTT variability, resulting in degraded TCP
+ performance. It was not uncommon for TCP connections to experience
+ timeouts of 9 - 12 seconds, with the result that many connections
+ were idle for a significant fraction of their lifetime (e.g.,
+ sometimes 35% of the total transfer time). This leads to under-
+ utilization of the available capacity. These effects may also occur
+ in other wireless subnetworks.
+
+3.3 Bidirectional Traffic
+
+ Bidirectional traffic arises when there are simultaneous TCP
+ transfers in the forward and reverse directions over an asymmetric
+ network path, e.g., a user who sends an e-mail message in the reverse
+ direction while simultaneously receiving a web page in the forward
+ direction. To simplify the discussion, only one TCP connection in
+ each direction is considered. In many practical cases, several
+ simultaneous connections need to share the available capacity,
+ increasing the level of congestion.
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 8]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ Bidirectional traffic makes the effects discussed in section 3.1 more
+ pronounced, because part of the upstream link bandwidth is consumed
+ by the reverse transfer. This effectively increases the degree of
+ bandwidth asymmetry. Other effects also arise due to the interaction
+ between data packets of the reverse transfer and ACKs of the forward
+ transfer. Suppose at the time the forward TCP connection is
+ initiated, the reverse TCP connection has already saturated the
+ bottleneck upstream link with data packets. There is then a high
+ probability that many ACKs of the new forward TCP connection will
+ encounter a full upstream link buffer and hence get dropped. Even
+ after these initial problems, ACKs of the forward connection could
+ get queued behind large data packets of the reverse connection. The
+ larger data packets may have correspondingly long transmission times
+ (e.g., it takes about 280 ms to transmit a 1 Kbyte 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 build up its cwnd.
+
+ When ACKs are queued behind other traffic for appreciable periods of
+ time, the burst nature of TCP traffic and self-synchronizing effects
+ can 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
+ time. This results in an intense burst of data packets in the other
+ direction, in response to the burst of compressed ACKs arriving at
+ the server. This phenomenon has been investigated in detail for
+ bidirectional traffic, and recent analytical work [LMS97] has
+ predicted ACK Compression may also result from bi-directional
+ transmission with asymmetry, and was observed in practical asymmetric
+ satellite subnetworks [FSS01]. In the case of extreme asymmetry
+ (k>>1), the inter-ACK spacing can increase due to queuing (section
+ 3.1), resulting in ACK dilation.
+
+ In summary, sharing of the upstream bottleneck link by multiple flows
+ (e.g., IP flows to the same end host, or flows to a number of end
+ hosts sharing a common upstream link) increases the level of ACK
+ Congestion. The presence of bidirectional traffic exacerbates the
+ constraints introduced by bandwidth asymmetry because of the adverse
+ interaction between (large) data packets of a reverse direction
+ connection and the ACKs of a forward direction connection.
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 9]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+3.4 Loss in Asymmetric Network Paths
+
+ Loss may occur in either the forward or reverse direction. For data
+ transfer in the forward direction this results respectively in loss
+ of data packets and ACK packets. Loss of ACKs is less significant
+ than loss of data packets, because it generally results in stretch
+ ACKs [CR98, FSS01].
+
+ In the case of long delay paths, a slow upstream link [RFC3150] can
+ lead to another complication when the end host uses TCP large windows
+ [RFC1323] to maximize throughput in the forward direction. Loss of
+ data packets on the forward path, due to congestion, or link loss,
+ common for some wireless links, will generate a large number of
+ back-to-back duplicate ACKs (or TCP SACK packets [RFC2018]), for each
+ correctly received data packet following a loss. The TCP sender
+ employs Fast Retransmission and Recovery [RFC2581] to recover from
+ the loss, but even if this is successful, the ACK to the
+ retransmitted data segment may be significantly delayed by other
+ duplicate ACKs still queued at the upstream link buffer. This can
+ ultimately lead to a timeout [RFC2988] and a premature end to the TCP
+ Slow Start [RFC2581]. This results in poor forward path throughput.
+ Section 5.3 describes some mitigations to counter this.
+
+4. Improving TCP Performance using Host Mitigations
+
+ There are two key issues that need to be addressed to improve TCP
+ performance over asymmetric networks. The first is to manage the
+ capacity of the upstream bottleneck link, used by ACKs and possibly
+ other traffic. A number of techniques exist which work by reducing
+ the number of ACKs that flow in the reverse direction. This has the
+ side effect of potentially destroying the desirable self-clocking
+ property of the TCP sender where transmission of new data packets is
+ 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. This section discusses end-to-end
+ modifications. Some techniques require TCP receiver changes
+ (sections 4.1 4.4, 4.5), some require TCP sender changes (sections
+ 4.6, 4.7), and a pair requires changes to both the TCP sender and
+ receiver (sections 4.2, 4.3). One technique requires a sender
+ modification at the receiving host (section 4.8). The techniques may
+ be used independently, however some sets of techniques are
+ complementary, e.g., pacing (section 4.6) and byte counting (section
+ 4.7) which have been bundled into a single TCP Sender Adaptation
+ scheme [BPK99].
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 10]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ It is normally envisaged that these changes would occur in the end
+ hosts using the asymmetric path, however they could, and have, been
+ used in a middle-box or Protocol Enhancing Proxy (PEP) [RFC3135]
+ employing split TCP. This document does not discuss the issues
+ concerning PEPs. Section 4 describes several techniques, which do
+ not require end-to-end changes.
+
+4.1 Modified Delayed ACKs
+
+ There are two standard methods that can be used by TCP receivers to
+ generate acknowledgments. The method outlined in [RFC793] generates
+ an ACK for each incoming data segment (i.e., d=1). [RFC1122] states
+ that hosts should use "delayed acknowledgments". Using this
+ algorithm, an ACK is generated for at least every second full-sized
+ segment (d=2), or if a second full-sized segment does not arrive
+ within a given timeout (which must not exceed 500 ms [RFC1122], and
+ is typically less than 200 ms). Relaxing the latter constraint
+ (i.e., allowing d>2) may generate Stretch ACKs [RFC2760]. This
+ provides a possible mitigation, which reduces the rate at which ACKs
+ are returned by the receiver. An implementer should only deviate
+ from this requirement after careful consideration of the implications
+ [RFC2581].
+
+ Reducing the number of ACKs per received data segment has a number of
+ undesirable effects including:
+
+ (i) Increased path RTT
+ (ii) Increased time for TCP to open the cwnd
+ (iii) Increased TCP sender burst size, since cwnd opens in larger
+ steps
+
+ In addition, a TCP receiver is often unable to determine an optimum
+ setting for a large d, since it will normally be unaware of the
+ details of the properties of the links that form the path in the
+ reverse direction.
+
+ RECOMMENDATION: A TCP receiver must use the standard TCP algorithm
+ for sending ACKs as specified in [RFC2581]. That is, it may delay
+ sending an ACK after it receives a data segment [RFC1122]. When ACKs
+ are delayed, the receiver must generate an ACK within 500 ms and the
+ ACK should be generated for at least every second full sized segment
+ (MSS) of received data [RFC2581]. This will result in an ACK delay
+ factor (d) that does not exceed a value of 2. Changing the algorithm
+ would require a host modification to the TCP receiver and awareness
+ by the receiving host that it is using a connection with an
+ asymmetric path. Such a change has many drawbacks in the general
+ case and is currently not recommended for use within the Internet.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 11]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+4.2 Use of Large MSS
+
+ A TCP sender that uses a large Maximum Segment Size (MSS) reduces the
+ number of ACKs generated per transmitted byte of data.
+
+ Although individual subnetworks may support a large MTU, the majority
+ of current Internet links employ an MTU of approx 1500 bytes (that of
+ Ethernet). By setting the Don't Fragment (DF) bit in the IP header,
+ Path MTU (PMTU) discovery [RFC1191] may be used to determine the
+ maximum packet size (and hence MSS) a sender can use on a given
+ network path without being subjected to IP fragmentation, and
+ provides a way to automatically select a suitable MSS for a specific
+ path. This also guarantees that routers will not perform IP
+ fragmentation of normal data packets.
+
+ By electing not to use PMTU Discovery, an end host may choose to use
+ IP fragmentation by routers along the path in the forward direction
+ [RFC793]. This allows an MSS larger than smallest MTU along the
+ path. However, this increases the unit of error recovery (TCP
+ segment) above the unit of transmission (IP packet). This is not
+ recommended, since it can increase the number of retransmitted
+ packets following loss of a single IP packet, leading to reduced
+ efficiency, and potentially aggravating network congestion [Ken87].
+ Choosing an MSS larger than the forward path minimum MTU also permits
+ the sender to transmit more initial packets (a burst of IP fragments
+ for each TCP segment) when a session starts or following RTO expiry,
+ increasing the aggressiveness of the sender compared to standard TCP
+ [RFC2581]. This can adversely impact other standard TCP sessions
+ that share a network path.
+
+ RECOMMENDATION:
+
+ A larger forward path MTU is desirable for paths with bandwidth
+ asymmetry. Network providers may use a large MTU on links in the
+ forward direction. TCP end hosts using Path MTU discovery may be
+ able to take advantage of a large MTU by automatically selecting an
+ appropriate larger MSS, without requiring modification. The use of
+ Path MTU discovery [RFC1191] is therefore recommended.
+
+ Increasing the unit of error recovery and congestion control (MSS)
+ above the unit of transmission and congestion loss (the IP packet) by
+ using a larger end host MSS and IP fragmentation in routers is not
+ recommended.
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 12]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+4.3 ACK Congestion Control
+
+ ACK Congestion Control (ACC) is an experimental technique that
+ operates end to end. ACC extends congestion control to ACKs, since
+ they may make non-negligible demands on resources (e.g., packet
+ buffers, and MAC transmission overhead) at an upstream bottleneck
+ link. It has two parts: (a) a network mechanism indicating to the
+ receiver that the ACK path is congested, and (b) the receiver's
+ response to such an indication.
+
+ A router feeding an upstream bottleneck link may detect incipient
+ congestion, e.g., using an algorithm based on RED (Random Early
+ Detection) [FJ93]. This may track the average queue size over a time
+ window in the recent past. If the average exceeds a threshold, the
+ router may select a packet at random. If the packet IP header has
+ the Explicit Congestion Notification Capable Transport (ECT) bit set,
+ the router may mark the packet, i.e., sets an Explicit Congestion
+ Notification (ECN) [RFC3168] bit(s) in the IP header, otherwise the
+ packet is normally dropped. The ECN notification received by the end
+ host is reflected back to the sending TCP end host, to trigger
+ congestion avoidance [RFC3168]. Note that routers implementing RED
+ with ECN, do not eliminate packet loss, and may drop a packet (even
+ when the ECT bit is set). It is also possible to use an algorithm
+ other than RED to decide when to set the ECN bit.
+
+ ACC extends ECN so that both TCP data packets and ACKs set the ECT
+ bit and are thus candidates for being marked with an ECN bit.
+ Therefore, upon receiving an ACK with the ECN bit set [RFC3168], a
+ TCP receiver reduces the rate at which it sends ACKs. It 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
+ multiplicatively decreasing the frequency of ACKs. For each
+ subsequent RTT (e.g., determined using the TCP RTTM option [RFC1323])
+ during which it does not receive an ECN, it linearly decreases the
+ factor d, 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.
+
+ The maximum value of d is determined by the TCP sender window size,
+ which could be conveyed to the receiver in a new (experimental) TCP
+ option. The receiver should send at least one ACK (preferably more)
+ for each window of data from the sender (i.e., d < (cwnd/mss)) to
+ prevent the sender from stalling until the receiver's delayed ACK
+ timer triggers an ACK to be sent.
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 13]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ RECOMMENDATION: ACK Congestion Control (ACC) is an experimental
+ technique that requires TCP sender and receiver modifications. There
+ is currently little experience of using such techniques in the
+ Internet. Future versions of TCP may evolve to include this or
+ similar techniques. These are the subject of ongoing research. ACC
+ is not recommended for use within the Internet in its current form.
+
+4.4 Window Prediction Mechanism
+
+ The Window Prediction Mechanism (WPM) is a TCP receiver side
+ mechanism [CLP98] that uses a dynamic ACK delay factor (varying d)
+ resembling the ACC scheme (section 4.3). The TCP receiver
+ reconstructs the congestion control behavior of the TCP sender by
+ predicting a cwnd value. This value is used along with the allowed
+ window to adjust the receiver's value of d. WPM accommodates for
+ unnecessary retransmissions resulting from losses due to link errors.
+
+ RECOMMENDATION: Window Prediction Mechanism (WPM) is an experimental
+ TCP receiver side modification. There is currently little experience
+ of using such techniques in the Internet. Future versions of TCP may
+ evolve to include this or similar techniques. These are the subjects
+ of ongoing research. WPM is not recommended for use within the
+ Internet in its current form.
+
+4.5 Acknowledgement based on Cwnd Estimation.
+
+ Acknowledgement based on Cwnd Estimation (ACE) [MJW00] attempts to
+ measure the cwnd at the TCP receiver and maintain a varying ACK delay
+ factor (d). The cwnd is estimated by counting the number of packets
+ received during a path RTT. The technique may improve accuracy of
+ prediction of a suitable cwnd.
+
+ RECOMMENDATION: Acknowledgement based on Cwnd Estimation (ACE) is an
+ experimental TCP receiver side modification. There is currently
+ little experience of using such techniques in the Internet. Future
+ versions of TCP may evolve to include this or similar techniques.
+ These are the subject of ongoing research. ACE is not recommended
+ for use within the Internet in its current form.
+
+4.6 TCP Sender Pacing
+
+ Reducing the frequency of ACKs may alleviate congestion of the
+ upstream bottleneck link, but can lead to increased size of TCP
+ sender bursts (section 4.1). This may slow the growth of cwnd, and
+ is undesirable when used over shared network paths since it may
+ significantly increase the maximum number of packets in the
+ bottleneck link buffer, potentially resulting in an increase in
+ network congestion. This may also lead to ACK Compression [ZSC91].
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 14]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ TCP Pacing [AST00], generally referred to as TCP Sender pacing,
+ employs an adapted TCP sender to alleviating transmission burstiness.
+ A bound is placed on the maximum number of packets the TCP sender can
+ transmit back-to-back (at local line rate), even if the window(s)
+ allow the transmission of more data. If necessary, more bursts of
+ data packets are scheduled for later points in time computed based on
+ the transmission rate of the TCP connection. The transmission rate
+ may be estimated from the ratio cwnd/srtt. Thus, large bursts of
+ data packets get broken up into smaller bursts spread over time.
+
+ A subnetwork may also provide pacing (e.g., Generic Traffic Shaping
+ (GTS)), but implies a significant increase in the per-packet
+ processing overhead and buffer requirement at the router where
+ shaping is performed (section 5.3.3).
+
+ RECOMMENDATIONS: TCP Sender Pacing requires a change to
+ implementation of the TCP sender. It may be beneficial in the
+ Internet and will significantly reduce the burst size of packets
+ transmitted by a host. This successfully mitigates the impact of
+ receiving Stretch ACKs. TCP Sender Pacing implies increased
+ processing cost per packet, and requires a prediction algorithm to
+ suggest a suitable transmission rate. There are hence performance
+ trade-offs between end host cost and network performance.
+ Specification of efficient algorithms remains an area of ongoing
+ research. Use of TCP Sender Pacing is not expected to introduce new
+ problems. It is an experimental mitigation for TCP hosts that may
+ control the burstiness of transmission (e.g., resulting from Type 1
+ techniques, section 5.1.2), however it is not currently widely
+ deployed. It is not recommended for use within the Internet in its
+ current form.
+
+4.7 TCP Byte Counting
+
+ The TCP sender can avoid slowing growth of cwnd by taking into
+ account the volume of data acknowledged by each ACK, rather than
+ opening the cwnd based on the number of received ACKs. So, if an ACK
+ acknowledges d data packets (or TCP data segments), the cwnd would
+ grow as if d separate ACKs had been received. This is called TCP
+ Byte Counting [RFC2581, RFC2760]. (One could treat the single ACK as
+ being equivalent to d/2, instead of d ACKs, to mimic the effect of
+ the TCP delayed ACK algorithm.) This policy works because cwnd
+ growth is only tied to the available capacity in the forward
+ direction, so the number of ACKs is immaterial.
+
+ This may mitigate the impact of asymmetry when used in combination
+ with other techniques (e.g., a combination of TCP Pacing
+ (section4.6), and ACC (section 4.3) associated with a duplicate ACK
+ threshold at the receiver.)
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 15]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ The main issue is that TCP byte counting may generate undesirable
+ long bursts of TCP packets at the sender host line rate. An
+ implementation must also consider that data packets in the forward
+ direction and ACKs in the reverse direction may both travel over
+ network paths that perform some amount of packet reordering.
+ Reordering of IP packets is currently common, and may arise from
+ various causes [BPS00].
+
+ RECOMMENDATION: TCP Byte Counting requires a small TCP sender
+ modification. In its simplest form, it can generate large bursts of
+ TCP data packets, particularly when Stretch ACKs are received.
+ Unlimited byte counting is therefore not allowed [RFC2581] for use
+ within the Internet.
+
+ It is therefore strongly recommended [RFC2581, RFC2760] that any byte
+ counting scheme should include a method to mitigate the potentially
+ large bursts of TCP data packets the algorithm can cause (e.g., TCP
+ Sender Pacing (section 4.6), ABC [abc-ID]). If the burst size or
+ sending rate of the TCP sender can be controlled then the scheme may
+ be beneficial when Stretch ACKs are received. Determining safe
+ algorithms remain an area of ongoing research. Further
+ experimentation will then be required to assess the success of these
+ safeguards, before they can be recommended for use in the Internet.
+
+4.8 Backpressure
+
+ Backpressure is a technique to enhance the performance of
+ bidirectional traffic for end hosts directly connected to the
+ upstream bottleneck link [KVR98]. A limit is set on how many data
+ packets of upstream transfers can be enqueued at the upstream
+ bottleneck link. In other words, the bottleneck link queue exerts
+ 'backpressure' on the TCP (sender) layer. This requires a modified
+ implementation, compared to that currently deployed in many TCP
+ stacks. Backpressure ensures that ACKs of downstream connections do
+ not get starved at the upstream bottleneck, thereby improving
+ performance of the downstream connections. Similar generic schemes
+ that may be implemented in hosts/routers are discussed in section
+ 5.4.
+
+ Backpressure can be unfair to a reverse direction connection and make
+ its throughput highly sensitive to the dynamics of the forward
+ connection(s).
+
+ RECOMMENDATION: Backpressure requires an experimental modification to
+ the sender protocol stack of a host directly connected to an upstream
+ bottleneck link. Use of backpressure is an implementation issue,
+ rather than a network protocol issue. Where backpressure is
+ implemented, the optimizations described in this section could be
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 16]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ desirable and can benefit bidirectional traffic for hosts.
+ Specification of safe algorithms for providing backpressure is still
+ a subject of ongoing research. The technique is not recommended for
+ use within the Internet in its current form.
+
+5. Improving TCP performance using Transparent Modifications
+
+ Various link and network layer techniques have been suggested to
+ mitigate the effect of an upstream bottleneck link. These techniques
+ may provide benefit without modification to either the TCP sender or
+ receiver, or may alternately be used in conjunction with one or more
+ of the schemes identified in section 4. In this document, these
+ techniques are known as "transparent" [RFC3135], because at the
+ transport layer, the TCP sender and receiver are not necessarily
+ aware of their existence. This does not imply that they do not
+ modify the pattern and timing of packets as observed at the network
+ layer. The techniques are classified here into three types based on
+ the point at which they are introduced.
+
+ Most techniques require the individual TCP connections passing over
+ the bottleneck link(s) to be separately identified and imply that
+ some per-flow state is maintained for active TCP connections. A link
+ scheduler may also be employed (section 5.4). The techniques (with
+ one exception, ACK Decimation (section 5.2.2) require:
+
+ (i) Visibility of an unencrypted IP and TCP packet header (e.g., no
+ use of IPSec with payload encryption [RFC2406]).
+ (ii) Knowledge of IP/TCP options and ability to inspect packets with
+ tunnel encapsulations (e.g., [RFC2784]) or to suspend
+ processing of packets with unknown formats.
+ (iii) Ability to demultiplex flows (by using address/protocol/port
+ number, or an explicit flow-id).
+
+ [RFC3135] describes a class of network device that provides more than
+ forwarding of packets, and which is known as a Protocol Enhancing
+ Proxy (PEP). A large spectrum of PEP devices exists, ranging from
+ simple devices (e.g., ACK filtering) to more sophisticated devices
+ (e.g., stateful devices that split a TCP connection into two separate
+ parts). The techniques described in section 5 of this document
+ belong to the simpler type, and do not inspect or modify any TCP or
+ UDP payload data. They also do not modify port numbers or link
+ addresses. Many of the risks associated with more complex PEPs do
+ not exist for these schemes. Further information about the operation
+ and the risks associated with using PEPs are described in [RFC3135].
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 17]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+5.1 TYPE 0: Header Compression
+
+ A client may reduce the volume of bits used to send a single ACK by
+ using compression [RFC3150, RFC3135]. Most modern dial-up modems
+ support ITU-T V.42 bulk compression. In contrast to bulk
+ compression, header compression is known to be very effective at
+ reducing the number of bits sent on the upstream link [RFC1144]. This
+ relies on the observation that most TCP packet headers vary only in a
+ few bit positions between successive packets in a flow, and that the
+ variations can often be predicted.
+
+5.1.1 TCP Header Compression
+
+ TCP header compression [RFC1144] (sometimes known as V-J compression)
+ is a Proposed Standard describing use over low capacity links running
+ SLIP or PPP [RFC3150]. 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).
+ However, this alone does not address all of the asymmetry issues:
+
+ (i) In some (e.g., wireless) subnetworks there is a significant
+ per-packet MAC overhead that is independent of packet size
+ (section 3.2).
+ (ii) A reduction in the size of ACKs does not prevent adverse
+ interaction with large upstream data packets in the presence
+ of bidirectional traffic (section 3.3).
+ (iii) TCP header compression cannot be used with packets that have
+ IP or TCP options (including IPSec [RFC2402, RFC2406], TCP
+ RTTM [RFC1323], TCP SACK [RFC2018], etc.).
+ (iv) The performance of header compression described by RFC1144 is
+ significantly degraded when compressed packets are lost. An
+ improvement, which can still incur significant penalty on
+ long network paths is described in [RFC2507]. This suggests
+ it should only be used on links (or paths) that experience a
+ low level of packet loss [RFC3150].
+ (v) The normal implementation of Header Compression inhibits
+ compression when IP is used to support tunneling (e.g., L2TP,
+ GRE [RFC2794], 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., due to router congestion along the tunnel path)
+ will result in discard of all packets for one RTT [RFC1144].
+
+ RECOMMENDATION: TCP Header Compression is a transparent modification
+ performed at both ends of the upstream bottleneck link. It offers no
+ benefit for flows employing IPSec [RFC2402, RFC2406], or when
+ additional protocol headers are present (e.g., IP or TCP options,
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 18]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ and/or tunnel encapsulation headers). The scheme is widely
+ implemented and deployed and used over Internet links. It is
+ recommended to improve TCP performance for paths that have a low-to-
+ medium bandwidth asymmetry (e.g., k<10).
+
+ In the form described in [RFC1144], TCP performance is degraded when
+ used over links (or paths) that may exhibit appreciable rates of
+ packet loss [RFC3150]. It may also not provide significant
+ improvement for upstream links with bidirectional traffic. It is
+ therefore not desirable for paths that have a high bandwidth
+ asymmetry (e.g., k>10).
+
+5.1.2 Alternate Robust Header Compression Algorithms
+
+ TCP header compression [RFC1144] and IP header compression [RFC2507]
+ do not perform well when subject to packet loss. Further, they do
+ not compress packets with TCP option fields (e.g., SACK [RFC2018] and
+ Timestamp (RTTM) [RFC1323]). However, recent work on more robust
+ schemes suggest that a new generation of compression algorithms may
+ be developed which are much more robust. The IETF ROHC working group
+ has specified compression techniques for UDP-based traffic [RFC3095]
+ and is examining a number of schemes that may provide improve TCP
+ header compression. These could be beneficial for asymmetric network
+ paths.
+
+ RECOMMENDATION: Robust header compression is a transparent
+ modification that may be performed at both ends of an upstream
+ bottleneck link. This class of techniques may also be suited to
+ Internet paths that suffer low levels of re-ordering. The techniques
+ benefit paths with a low-to-medium bandwidth asymmetry (e.g., k>10)
+ and may be robust to packet loss.
+
+ Selection of suitable compression algorithms remains an area of
+ ongoing research. It is possible that schemes may be derived which
+ support IPSec authentication, but not IPSec payload encryption. Such
+ schemes do not alone provide significant improvement in asymmetric
+ networks with a high asymmetry and/or bidirectional traffic.
+
+5.2 TYPE 1: Reverse Link Bandwidth Management
+
+ Techniques beyond Type 0 header compression are required to address
+ the performance problems caused by appreciable asymmetry (k>>1). One
+ set of techniques is implemented only at one point on the reverse
+ direction path, within the router/host connected to the upstream
+ bottleneck link. These use flow class or per-flow queues at the
+ upstream link interface to manage the queue of packets waiting for
+ transmission on the bottleneck upstream link.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 19]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ This type of technique bounds the upstream link buffer queue size,
+ and employs an algorithm to remove (discard) excess ACKs from each
+ queue. This relies on the cumulative nature of ACKs (section 4.1).
+ Two approaches are described which employ this type of mitigation.
+
+5.2.1 ACK Filtering
+
+ ACK Filtering (AF) [DMT96, BPK99] (also known as ACK Suppression
+ [SF98, Sam99, FSS01]) is a TCP-aware link-layer technique that
+ reduces the number of ACKs sent on the upstream link. This technique
+ has been deployed in specific production networks (e.g., asymmetric
+ satellite networks [ASB96]). The challenge is to ensure that the
+ sender does not stall waiting for ACKs, which may happen if ACKs are
+ indiscriminately removed.
+
+ When an ACK from the receiver is about to be enqueued at a upstream
+ bottleneck link interface, the router or the end host link layer (if
+ the host is directly connected to the upstream bottleneck link)
+ checks the transmit queue(s) for older ACKs belonging to the same TCP
+ connection. If ACKs are found, some (or all of them) are removed
+ from the queue, reducing the number of ACKs.
+
+ Some ACKs also have other functions in TCP [RFC1144], and should not
+ be deleted to ensure normal operation. AF should therefore not
+ delete an ACK that has any data or TCP flags set (SYN, RST, URG, and
+ FIN). In addition, it should avoid deleting a series of 3 duplicate
+ ACKs that indicate the need for Fast Retransmission [RFC2581] or ACKs
+ with the Selective ACK option (SACK)[RFC2018] from the queue to avoid
+ causing problems to TCP's data-driven loss recovery mechanisms.
+ Appropriate treatment is also needed to preserve correct operation of
+ ECN feedback (carried in the TCP header) [RFC3168].
+
+ A range of policies to filter ACKs may be used. These may be either
+ deterministic or random (similar to a random-drop gateway, but should
+ take into consideration the semantics of the items in the queue).
+ Algorithms have also been suggested to ensure a minimum ACK rate to
+ guarantee the TCP sender window is updated [Sam99, FSS01], and to
+ limit the number of data packets (TCP segments) acknowledged by a
+ Stretch ACK. Per-flow state needs to be maintained only for
+ connections with at least one packet in the queue (similar to FRED
+ [LM97]). This state is soft [Cla88], and if necessary, can easily be
+ reconstructed from the contents of the queue.
+
+ The undesirable effect of delayed DupACKs (section 3.4) can be
+ reduced by deleting duplicate ACKs above a threshold value [MJW00,
+ CLP98] allowing Fast Retransmission, but avoiding early TCP timeouts,
+ which may otherwise result from excessive queuing of DupACKs.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 20]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ Future schemes may include more advanced rules allowing removal of
+ selected SACKs [RFC2018]. Such a scheme could prevent the upstream
+ link queue from becoming filled by back-to-back ACKs with SACK
+ blocks. Since a SACK packet is much larger than an ACK, it would
+ otherwise add significantly to the path delay in the reverse
+ direction. Selection of suitable algorithms remains an ongoing area
+ of research.
+
+ RECOMMENDATION: ACK Filtering requires a modification to the upstream
+ link interface. The scheme has been deployed in some networks where
+ the extra processing overhead (per ACK) may be compensated for by
+ avoiding the need to modify TCP. ACK Filtering can generate Stretch
+ ACKs resulting in large bursts of TCP data packets. Therefore on its
+ own, it is not recommended for use in the general Internet.
+
+ ACK Filtering when used in combination with a scheme to mitigate the
+ effect of Stretch ACKs (i.e., control TCP sender burst size) is
+ recommended for paths with appreciable asymmetry (k>1) and/or with
+ bidirectional traffic. Suitable algorithms to support IPSec
+ authentication, SACK, and ECN remain areas of ongoing research.
+
+5.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., Weighted Fair Queuing, WFQ) at the upstream
+ bottleneck link, a similar effect to AF (section 5.2.1) 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 queuing and scheduling of ACKs and data packets in the
+ reverse direction. A small queue threshold is maintained to drop
+ excessive ACKs from the tail of each queue, in order to reduce ACK
+ Congestion. The inability to identify special ACK packets (c.f., AF)
+ introduces some major drawbacks to this approach, such as the
+ possibility of losing DupACKs, FIN/ACK, RST packets, or packets
+ carrying ECN information [RFC3168]. Loss of these packets does not
+ significantly impact network congestion, but does adversely impact
+ the performance of the TCP session observing the loss.
+
+ A WFQ scheduler may assign a higher priority to interactive traffic
+ (providing it has a mechanism to identify such traffic) and provide a
+ fair share of the remaining capacity to the bulk traffic. In the
+ presence of bidirectional traffic, and with a suitable scheduling
+ policy, this may ensure fairer sharing for ACK and data packets. An
+ increased forward transmission rate is achieved over asymmetric links
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 21]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ by an increased ACK Decimation rate, leading to generation of Stretch
+ ACKs. As in AF, TCP sender burst size increases when Stretch ACKs
+ are received unless other techniques are used in combination with
+ this technique.
+
+ This technique has been deployed in specific networks (e.g., a
+ network with high bandwidth asymmetry supporting high-speed data
+ services to in-transit mobile hosts [Seg00]). Although not optimal,
+ it offered a potential mitigation applicable when the TCP header is
+ difficult to identify or not visible to the link layer (e.g., due to
+ IPSec encryption).
+
+ RECOMMENDATION: ACK Decimation uses standard router mechanisms at the
+ upstream link interface to constrain the rate at which ACKs are fed
+ to the upstream link. The technique is beneficial with paths having
+ appreciable asymmetry (k>1). It is however suboptimal, in that it
+ may lead to inefficient TCP error recovery (and hence in some cases
+ degraded TCP performance), and provides only crude control of link
+ behavior. It is therefore recommended that where possible, ACK
+ Filtering should be used in preference to ACK Decimation.
+
+ When ACK Decimation is used on paths with an appreciable asymmetry
+ (k>1) (or with bidirectional traffic) it increases the burst size of
+ the TCP sender, use of a scheme to mitigate the effect of Stretch
+ ACKs or control burstiness is therefore strongly recommended.
+
+5.3 TYPE 2: Handling Infrequent ACKs
+
+ TYPE 2 mitigations perform TYPE 1 upstream link bandwidth management,
+ but also employ a second active element which mitigates the effect of
+ the reduced ACK rate and burstiness of ACK transmission. This is
+ desirable when end hosts use standard TCP sender implementations
+ (e.g., those not implementing the techniques in sections 4.6, 4.7).
+
+ Consider a path where a TYPE 1 scheme forwards a Stretch ACK covering
+ d TCP packets (i.e., where the acknowledgement number is d*MSS larger
+ than the last ACK received by the TCP sender). When the TCP sender
+ receives this ACK, it can send a burst of d (or d+1) TCP data
+ packets. The sender is also constrained by the current cwnd.
+ Received ACKs also serve to increase cwnd (by at most one MSS).
+
+ A TYPE 2 scheme mitigates the impact of the reduced ACK frequency
+ resulting when a TYPE 1 scheme is used. This is achieved by
+ interspersing additional ACKs before each received Stretch ACK. The
+ additional ACKs, together with the original ACK, provide the TCP
+ sender with sufficient ACKs to allow the TCP cwnd to open in the same
+ way as if each of the original ACKs sent by the TCP receiver had been
+ forwarded by the reverse path. In addition, by attempting to restore
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 22]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ the spacing between ACKs, such a scheme can also restore the TCP
+ self-clocking behavior, and reduce the TCP sender burst size. Such
+ schemes need to ensure conservative behavior (i.e., should not
+ introduce more ACKs than were originally sent) and reduce the
+ probability of ACK Compression [ZSC91].
+
+ The action is performed at two points on the return path: the
+ upstream link interface (where excess ACKs are removed), and a point
+ further along the reverse path (after the bottleneck upstream
+ link(s)), where replacement ACKs are inserted. This attempts to
+ reconstruct the ACK stream sent by the TCP receiver when used in
+ combination with AF (section 5.2.1), or ACK Decimation (section
+ 5.2.2).
+
+ TYPE 2 mitigations may be performed locally at the receive interface
+ directly following the upstream bottleneck link, or may alternatively
+ be applied at any point further along the reverse path (this is not
+ necessarily on the forward path, since asymmetric routing may employ
+ different forward and reverse internet paths). Since the techniques
+ may generate multiple ACKs upon reception of each individual Stretch
+ ACK, it is strongly recommended that the expander implements a scheme
+ to prevent exploitation as a "packet amplifier" in a Denial-of-
+ Service (DoS) attack (e.g., to verify the originator of the ACK).
+ Identification of the sender could be accomplished by appropriately
+ configured packet filters and/or by tunnel authentication procedures
+ (e.g., [RFC2402, RFC2406]). A limit on the number of reconstructed
+ ACKs that may be generated from a single packet may also be
+ desirable.
+
+5.3.1 ACK Reconstruction
+
+ ACK Reconstruction (AR) [BPK99] is used in conjunction with AF
+ (section 5.2.1). AR deploys a soft-state [Cla88] agent called an ACK
+ Reconstructor on the reverse path following the upstream bottleneck
+ link. The soft-state can be regenerated if lost, based on received
+ ACKs. When a Stretch ACK is received, AR introduces additional ACKs
+ by filling gaps in the ACK sequence. Some potential Denial-of-
+ Service vulnerabilities may arise (section 6) and need to be
+ addressed by appropriate security techniques.
+
+ The Reconstructor determines the number of additional ACKs, by
+ estimating the number of filtered ACKs. This uses implicit
+ information present in the received ACK stream by observing the ACK
+ sequence number of each received ACK. An example implementation
+ could set an ACK threshold, ackthresh, to twice the MSS (this assumes
+ the chosen MSS is known by the link). The factor of two corresponds
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 23]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ to standard TCP delayed-ACK policy (d=2). Thus, if successive ACKs
+ arrive separated by delta, the Reconstructor regenerates a maximum of
+ ((delta/ackthresh) - 2) ACKs.
+
+ To reduce the TCP sender burst size and allow the cwnd to increase at
+ a rate governed by the downstream link, the reconstructed ACKs must
+ be sent at a consistent rate (i.e., temporal spacing between
+ reconstructed ACKs). One method is for the Reconstructor to measure
+ the arrival rate of ACKs using an exponentially weighted moving
+ average estimator. This rate depends on the output rate from the
+ upstream link and on the presence of other traffic sharing the link.
+ The output of the estimator indicates the average temporal spacing
+ for the ACKs (and the average rate at which ACKs would reach the TCP
+ sender if there were no further losses or delays). This may be used
+ by the Reconstructor to set the temporal spacing of reconstructed
+ ACKs. The scheme may also be used in combination with TCP sender
+ adaptation (e.g., a combination of the techniques in sections 4.6 and
+ 4.7).
+
+ The trade-off in AR is between obtaining less TCP sender burstiness,
+ and a better rate of cwnd increase, with a reduction in RTT
+ variation, versus a modest increase in the path RTT. The technique
+ cannot perform reconstruction on connections using IPSec (AH
+ [RFC2402] or ESP [RFC2406]), since it is unable to generate
+ appropriate security information. It also cannot regenerate other
+ packet header information (e.g., the exact pattern of bits carried in
+ the IP packet ECN field [RFC3168] or the TCP RTTM option [RFC1323]).
+
+ An ACK Reconstructor operates correctly (i.e., generates no spurious
+ ACKs and preserves the end-to-end semantics of TCP), providing:
+
+ (i) the TCP receiver uses ACK Delay (d=2) [RFC2581]
+ (ii) the Reconstructor receives only in-order ACKs
+ (iii) all ACKs are routed via the Reconstructor
+ (iv) the Reconstructor correctly determines the TCP MSS used by
+ the session
+ (v) the packets do not carry additional header information (e.g.,
+ TCP RTTM option [RFC1323], IPSec using AH [RFC2402]or ESP
+ [RFC2406]).
+
+ RECOMMENDATION: ACK Reconstruction is an experimental transparent
+ modification performed on the reverse path following the upstream
+ bottleneck link. It is designed to be used in conjunction with a
+ TYPE 1 mitigation. It reduces the burst size of TCP transmission in
+ the forward direction, which may otherwise increase when TYPE 1
+ schemes are used alone. It requires modification of equipment after
+ the upstream link (including maintaining per-flow soft state). The
+ scheme introduces implicit assumptions about the network path and has
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 24]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ potential Denial-of-Service vulnerabilities (i.e., acting as a packet
+ amplifier); these need to be better understood and addressed by
+ appropriate security techniques.
+
+ Selection of appropriate algorithms to pace the ACK traffic remains
+ an open research issue. There is also currently little experience of
+ the implications of using such techniques in the Internet, and
+ therefore it is recommended that this technique should not be used
+ within the Internet in its current form.
+
+5.3.2 ACK Compaction and Companding
+
+ ACK Compaction and ACK Companding [SAM99, FSS01] are techniques that
+ operate at a point on the reverse path following the constrained ACK
+ bottleneck. Like AR (section 5.3.1), ACK Compaction and ACK
+ Companding are both used in conjunction with an AF technique (section
+ 5.2.1) and regenerate filtered ACKs, restoring the ACK stream.
+ However, they differ from AR in that they use a modified AF (known as
+ a compactor or compressor), in which explicit information is added to
+ all Stretch ACKs generated by the AF. This is used to explicitly
+ synchronize the reconstruction operation (referred to here as
+ expansion).
+
+ The modified AF combines two modifications: First, when the
+ compressor deletes an ACK from the upstream bottleneck link queue, it
+ appends explicit information (a prefix) to the remaining ACK (this
+ ACK is marked to ensure it is not subsequently deleted). The
+ additional information contains details the conditions under which
+ ACKs were previously filtered. A variety of information may be
+ encoded in the prefix. This includes the number of ACKs deleted by
+ the AF and the average number of bytes acknowledged. This may
+ subsequently be used by an expander at the remote end of the tunnel.
+ Further timing information may also be added to control the pacing of
+ the regenerated ACKs [FSS01]. The temporal spacing of the filtered
+ ACKs may also be encoded.
+
+ To encode the prefix requires the subsequent expander to recognize a
+ modified ACK header. This would normally limit the expander to
+ link-local operation (at the receive interface of the upstream
+ bottleneck link). If remote expansion is needed further along the
+ reverse path, a tunnel may be used to pass the modified ACKs to the
+ remote expander. The tunnel introduces extra overhead, however
+ networks with asymmetric capacity and symmetric routing frequently
+ already employ such tunnels (e.g., in a UDLR network [RFC3077], the
+ expander may be co-located with the feed router).
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 25]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ ACK expansion uses a stateless algorithm to expand the ACK (i.e.,
+ each received packet is processed independently of previously
+ received packets). It uses the prefix 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, nor
+ must it see all ACKs associated with the reverse path (e.g., it may
+ be compatible with schemes such as DAASS [RFC2760]).
+
+ Some potential Denial-of-Service vulnerabilities may arise (section
+ 6) and need to be addressed by appropriate security techniques. The
+ technique cannot perform reconstruction on connections using IPSec,
+ since they are unable to regenerate appropriate security information.
+ It is possible to explicitly encode IPSec security information from
+ suppressed packets, allowing operation with IPSec AH, however this
+ remains an open research issue, and implies an additional overhead
+ per ACK.
+
+ RECOMMENDATION: ACK Compaction and Companding are experimental
+ transparent modifications performed on the reverse path following the
+ upstream bottleneck link. They are designed to be used in
+ conjunction with a modified TYPE 1 mitigation and reduce the burst
+ size of TCP transmission in the forward direction, which may
+ otherwise increase when TYPE 1 schemes are used alone.
+
+ The technique is desirable, but requires modification of equipment
+ after the upstream bottleneck link (including processing of a
+ modified ACK header). Selection of appropriate algorithms to pace
+ the ACK traffic also remains an open research issue. Some potential
+ Denial-of-Service vulnerabilities may arise with any device that may
+ act as a packet amplifier. These need to be addressed by appropriate
+ security techniques. There is little experience of using the scheme
+ over Internet paths. This scheme is a subject of ongoing research
+ and is not recommended for use within the Internet in its current
+ form.
+
+5.3.3 Mitigating TCP packet bursts generated by Infrequent ACKs
+
+ The bursts of data packets generated when a Type 1 scheme is used on
+ the reverse direction path may be mitigated by introducing a router
+ supporting Generic Traffic Shaping (GTS) on the forward path [Seg00].
+ GTS is a standard router mechanism implemented in many deployed
+ routers. This technique does not eliminate the bursts of data
+ generated by the TCP sender, but attempts to smooth out the bursts by
+ employing scheduling and queuing techniques, producing traffic which
+ resembles that when TCP Pacing is used (section 4.6). These
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 26]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ techniques require maintaining per-flow soft-state in the router, and
+ increase per-packet processing overhead. Some additional buffer
+ capacity is needed to queue packets being shaped.
+
+ To perform GTS, the router needs to select appropriate traffic
+ shaping parameters, which require knowledge of the network policy,
+ connection behavior and/or downstream bottleneck characteristics. GTS
+ may also be used to enforce other network policies and promote
+ fairness between competing TCP connections (and also UDP and
+ multicast flows). It also reduces the probability of ACK Compression
+ [ZSC91].
+
+ The smoothing of packet bursts reduces the impact of the TCP
+ transmission bursts on routers and hosts following the point at which
+ GTS is performed. It is therefore desirable to perform GTS near to
+ the sending host, or at least at a point before the first forward
+ path bottleneck router.
+
+ RECOMMENDATIONS: Generic Traffic Shaping (GTS) is a transparent
+ technique employed at a router on the forward path. The algorithms
+ to implement GTS are available in widely deployed routers and may be
+ used on an Internet link, but do imply significant additional per-
+ packet processing cost.
+
+ Configuration of a GTS is a policy decision of a network service
+ provider. When appropriately configured the technique will reduce
+ size of TCP data packet bursts, mitigating the effects of Type 1
+ techniques. GTS is recommended for use in the Internet in
+ conjunction with type 1 techniques such as ACK Filtering (section
+ 5.2.1) and ACK Decimation (section 5.2.2).
+
+5.4 TYPE 3: Upstream Link Scheduling
+
+ Many of the above schemes imply using per flow queues (or per
+ connection queues in the case of TCP) at the upstream bottleneck
+ link. Per-flow queuing (e.g., FQ, CBQ) offers benefit when used on
+ any slow link (where the time to transmit a packet forms an
+ appreciable part of the path RTT) [RFC3150]. Type 3 schemes offer
+ additional benefit when used with one of the above techniques.
+
+5.4.1 Per-Flow queuing at the Upstream Bottleneck Link
+
+ When bidirectional traffic exists in a bandwidth asymmetric network
+ competing ACK and packet data flows along the return path may degrade
+ the performance of both upstream and downstream flows [KVR98].
+ Therefore, it is highly desirable to use a queuing strategy combined
+ with a scheduling mechanism at the upstream link. This has also been
+ called priority-based multiplexing [RFC3135].
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 27]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ On a slow upstream link, appreciable jitter may be introduced by
+ sending large data packets ahead of ACKs [RFC3150]. A simple scheme
+ may be implemented using per-flow queuing with a fair scheduler
+ (e.g., round robin service to all flows, or priority scheduling). A
+ modified scheduler [KVR98] could place a limit on the number of ACKs
+ a host is allowed to transmit upstream before transmitting a data
+ packet (assuming at least one data packet is waiting in the upstream
+ link queue). This guarantees at least a certain minimum share of the
+ capacity to flows in the reverse direction, while enabling flows in
+ the forward direction to improve TCP throughput.
+
+ Bulk (payload) compression, a small MTU, link level transparent
+ fragmentation [RFC1991, RFC2686] or link level suspend/resume
+ capability (where higher priority frames may pre-empt transmission of
+ lower priority frames) may be used to mitigate the impact (jitter) of
+ bidirectional traffic on low speed links [RFC3150]. More advanced
+ schemes (e.g., WFQ) may also be used to improve the performance of
+ transfers with multiple ACK streams such as http [Seg00].
+
+ RECOMMENDATION: Per-flow queuing is a transparent modification
+ performed at the upstream bottleneck link. Per-flow (or per-class)
+ scheduling does not impact the congestion behavior of the Internet,
+ and may be used on any Internet link. The scheme has particular
+ benefits for slow links. It is widely implemented and widely
+ deployed on links operating at less than 2 Mbps. This is recommended
+ as a mitigation on its own or in combination with one of the other
+ described techniques.
+
+5.4.2 ACKs-first Scheduling
+
+ ACKs-first Scheduling is an experimental technique to improve
+ performance of bidirectional transfers. In this case data packets
+ and ACKs compete for resources at the upstream bottleneck link
+ [RFC3150]. A single First-In First-Out, FIFO, queue for both data
+ packets and ACKs could impact the performance of forward transfers.
+ For example, if the upstream bottleneck link is a 28.8 kbps dialup
+ line, the transmission of a 1 Kbyte 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. If more than two data packets are queued up ahead of
+ an ACK, the ACKs would be delayed by even more [RFC3150].
+
+ A possible approach to alleviating this is to schedule data and ACKs
+ differently from FIFO. One algorithm, in particular, is ACKs-first
+ scheduling, which 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 time that ACKs
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 28]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ spend queued behind data packets at the upstream link. At the same
+ time, with Type 0 techniques such as header compression [RFC1144],
+ the transmission time of ACKs becomes small enough that the impact on
+ subsequent data packets is minimal. (Subnetworks in which the per-
+ packet overhead of the upstream link is large, e.g., packet radio
+ subnetworks, are an exception, section 3.2.) This scheduling scheme
+ does not require the upstream bottleneck router/host to explicitly
+ identify or maintain state for individual TCP connections.
+
+ ACKs-first scheduling does not help avoid a delay due to a data
+ packet in transmission. Link fragmentation or suspend/resume may be
+ beneficial in this case.
+
+ RECOMMENDATION: ACKs-first scheduling is an experimental transparent
+ modification performed at the upstream bottleneck link. If it is
+ used without a mechanism (such as ACK Congestion Control (ACC),
+ section 4.3) to regulate the volume of ACKs, it could lead to
+ starvation of data packets. This is a performance penalty
+ experienced by end hosts using the link and does not modify Internet
+ congestion behavior. Experiments indicate that ACKs-first scheduling
+ in combination with ACC is promising. However, there is little
+ experience of using the technique in the wider Internet. Further
+ development of the technique remains an open research issue, and
+ therefore the scheme is not currently recommended for use within the
+ Internet.
+
+6. Security Considerations
+
+ The recommendations contained in this document do not impact the
+ integrity of TCP, introduce new security implications to the TCP
+ protocol, or applications using TCP.
+
+ Some security considerations in the context of this document arise
+ from the implications of using IPSec by the end hosts or routers
+ operating along the return path. Use of IPSec prevents, or
+ complicates, some of the mitigations. For example:
+
+ (i) When IPSec ESP [RFC2406] is used to encrypt the IP payload, the
+ TCP header can neither be read nor modified by intermediate
+ entities. This rules out header compression, ACK Filtering, ACK
+ Reconstruction, and the ACK Compaction.
+
+ (ii) The TCP header information may be visible, when some forms of
+ network layer security are used. For example, using IPSec AH
+ [RFC2402], the TCP header may be read, but not modified, by
+ intermediaries. This may in future allow extensions to support
+ ACK Filtering, but rules out the generation of new
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 29]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ packets by intermediaries (e.g., ACK Reconstruction). The
+ enhanced header compression scheme discussed in [RFC2507] would
+ also work with IPSec AH.
+
+ There are potential Denial-of-Service (DoS) implications when using
+ Type 2 schemes. Unless additional security mechanisms are used, a
+ Reconstructor/expander could be exploited as a packet amplifier. A
+ third party may inject unauthorized Stretch ACKs into the reverse
+ path, triggering the generation of additional ACKs. These ACKs would
+ consume capacity on the return path and processing resources at the
+ systems along the path, including the destination host. This
+ provides a potential platform for a DoS attack. The usual
+ precautions must be taken to verify the correct tunnel end point, and
+ to ensure that applications cannot falsely inject packets that expand
+ to generate unwanted traffic. Imposing a rate limit and bound on the
+ delayed ACK factor(d) would also lessen the impact of any undetected
+ exploitation.
+
+7. Summary
+
+ This document considers several TCP performance constraints that
+ arise from asymmetry in the properties of the forward and reverse
+ paths across an IP network. Such performance constraints arise,
+ e.g., as a result of both bandwidth (capacity) asymmetry, asymmetric
+ shared media in the reverse direction, and interactions with Media
+ Access Control (MAC) protocols. Asymmetric capacity may cause TCP
+ Acknowledgments (ACKs) to be lost or become inordinately delayed
+ (e.g., when a bottleneck link is shared between many flows, or when
+ there is bidirectional traffic). This effect may be exacerbated with
+ media-access delays (e.g., in certain multi-hop radio subnetworks,
+ satellite Bandwidth on Demand access). Asymmetry, and particular
+ high asymmetry, raises a set of TCP performance issues.
+
+ A set of techniques providing performance improvement is surveyed.
+ These include techniques to alleviate ACK Congestion and techniques
+ that enable a TCP sender to cope with infrequent ACKs without
+ destroying TCP self-clocking. These techniques include both end-to-
+ end, local link-layer, and subnetwork schemes. Many of these
+ techniques have been evaluated in detail via analysis, simulation,
+ and/or implementation on asymmetric subnetworks forming part of the
+ Internet. There is however as yet insufficient operational
+ experience for some techniques, and these therefore currently remain
+ items of on-going research and experimentation.
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 30]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ The following table summarizes the current recommendations.
+ Mechanisms are classified as recommended (REC), not recommended (NOT
+ REC) or experimental (EXP). Experimental techniques may not be well
+ specified. These techniques will require further operational
+ experience before they can be recommended for use in the public
+ Internet.
+
+ The recommendations for end-to-end host modifications are summarized
+ in table 1. This lists each technique, the section in which each
+ technique is discussed, and where it is applied (S denotes the host
+ sending TCP data packets in the forward direction, R denotes the host
+ which receives these data packets).
+
+ +------------------------+-------------+------------+--------+
+ | Technique | Use | Section | Where |
+ +------------------------+-------------+------------+--------+
+ | Modified Delayed ACKs | NOT REC | 4.1 | TCP R |
+ | Large MSS & NO FRAG | REC | 4.2 | TCP SR |
+ | Large MSS & IP FRAG | NOT REC | 4.2 | TCP SR |
+ | ACK Congestion Control | EXP | 4.3 | TCP SR |
+ | Window Pred. Mech (WPM)| NOT REC | 4.4 | TCP R |
+ | Window Cwnd. Est. (ACE)| NOT REC | 4.5 | TCP R |
+ | TCP Sender Pacing | EXP *1 | 4.6 | TCP S |
+ | Byte Counting | NOT REC *2 | 4.7 | TCP S |
+ | Backpressure | EXP *1 | 4.8 | TCP R |
+ +------------------------+-------------+------------+--------+
+
+ Table 1: Recommendations concerning host modifications.
+
+ *1 Implementation of the technique may require changes to the
+ internal design of the protocol stack in end hosts.
+ *2 Dependent on a scheme for preventing excessive TCP transmission
+ burst.
+
+ The recommendations for techniques that do not require the TCP sender
+ and receiver to be aware of their existence (i.e., transparent
+ techniques) are summarized in table 2. Each technique is listed
+ along with the section in which each mechanism is discussed, and
+ where the technique is applied (S denotes the sending interface prior
+ to the upstream bottleneck link, R denotes receiving interface
+ following the upstream bottleneck link).
+
+
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 31]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ +------------------------+-------------+------------+--------+
+ | Mechanism | Use | Section | Type |
+ +------------------------+-------------+------------+--------+
+ | Header Compr. (V-J) | REC *1 | 5.1.1 | 0 SR |
+ | Header Compr. (ROHC) | REC *1 *2 | 5.1.2 | 0 SR |
+ +------------------------+-------------+------------+--------+
+ | ACK Filtering (AF) | EXP *3 | 5.2.1 | 1 S |
+ | ACK Decimation | EXP *3 | 5.2.2 | 1 S |
+ +------------------------+-------------+------------+--------+
+ | ACK Reconstruction (AR)| NOT REC | 5.3.1 | 2 *4 |
+ | ACK Compaction/Compand.| EXP | 5.3.2 | 2 S *4 |
+ | Gen. Traff. Shap. (GTS)| REC | 5.3.3 | 2 *5 |
+ +------------------------+-------------+------------+--------+
+ | Fair Queueing (FQ) | REC | 5.4.1 | 3 S |
+ | ACKs-First Scheduling | NOT REC | 5.4.2 | 3 S |
+ +------------------------+-------------+------------+--------+
+
+ Table 2: Recommendations concerning transparent modifications.
+
+ *1 At high asymmetry these schemes may degrade TCP performance, but
+ are not considered harmful to the Internet.
+ *2 Standardisation of new TCP compression protocols is the subject of
+ ongoing work within the ROHC WG, refer to other IETF RFCs on the
+ use of these techniques.
+ *3 Use in the Internet is dependent on a scheme for preventing
+ excessive TCP transmission burst.
+ *4 Performed at a point along the reverse path after the upstream
+ bottleneck link.
+ *5 Performed at a point along the forward path.
+
+8. Acknowledgments
+
+ This document has benefited from comments from the members of the
+ Performance Implications of Links (PILC) Working Group. In
+ particular, the authors would like to thank John Border, Spencer
+ Dawkins, Aaron Falk, Dan Grossman, Randy Katz, Jeff Mandin, Rod
+ Ragland, Ramon Segura, Joe Touch, and Lloyd Wood for their useful
+ comments. They also acknowledge the data provided by Metricom Inc.,
+ concerning operation of their packet data network.
+
+9. References
+
+ References of the form RFCnnnn are Internet Request for Comments
+ (RFC) documents available online at http://www.rfc-editor.org/.
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 32]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+9.1 Normative References
+
+ [RFC793] Postel, J., "Transmission Control Protocol", STD 7, RFC
+ 793, September 1981.
+
+ [RFC1122] Braden, R., Ed., "Requirements for Internet Hosts -
+ Communication Layers", STD 3, RFC 1122, October 1989.
+
+ [RFC1144] Jacobson, V., "Compressing TCP/IP Headers for Low-Speed
+ Serial Links", RFC 1144, February 1990.
+
+ [RFC1191] Mogul, J. and S. Deering, "Path MTU Discovery", RFC 1191,
+ November 1990.
+
+ [RFC2581] Allman, M., Paxson, V. and W. Stevens, "TCP Congestion
+ Control", RFC 2581, April 1999.
+
+ [RFC2784] Farinacci, D., Li, T., Hanks, S., Meyer, D. and P. Traina,
+ "Generic Routing Encapsulation (GRE)", RFC 2784, March
+ 2000.
+
+ [RFC3135] Border, J., Kojo, M., Griner, J., Montenegro, G. and Z.
+ Shelby, "Performance Enhancing Proxies Intended to Mitigate
+ Link-Related Degradations", RFC 3135, June 2001.
+
+9.2 Informative References
+
+ [abc-ID] Allman, M., "TCP Congestion Control with Appropriate Byte
+ Counting", Work in Progress.
+
+ [All97b] Allman, M., "Fixing Two BSD TCP Bugs", Technical Report
+ CR-204151, NASA Lewis Research Center, October 1997.
+
+ [ANS01] ANSI Standard T1.413, "Network to Customer Installation
+ Interfaces - Asymmetric Digital Subscriber Lines (ADSL)
+ Metallic Interface", November 1998.
+
+ [ASB96] Arora, V., Suphasindhu, N., Baras, J.S. and D. Dillon,
+ "Asymmetric Internet Access over Satellite-Terrestrial
+ Networks", Proc. AIAA: 16th International Communications
+ Satellite Systems Conference and Exhibit, Part 1,
+ Washington, D.C., February 25-29, 1996, pp.476-482.
+
+ [AST00] Aggarwal, A., Savage, S., and T. Anderson, "Understanding
+ the Performance of TCP Pacing", Proc. IEEE INFOCOM, Tel-
+ Aviv, Israel, V.3, March 2000, pp. 1157-1165.
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 33]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ [Bal98] Balakrishnan, H., "Challenges to Reliable Data Transport
+ over Heterogeneous Wireless Networks", Ph.D. Thesis,
+ University of California at Berkeley, USA, August 1998.
+ http://nms.lcs.mit.edu/papers/hari-phd/
+
+ [BPK99] Balakrishnan, H., Padmanabhan, V. N., and R. H. Katz, "The
+ Effects of Asymmetry on TCP Performance", ACM Mobile
+ Networks and Applications (MONET), Vol.4, No.3, 1999, pp.
+ 219-241. An expanded version of a paper published at Proc.
+ ACM/IEEE Mobile Communications Conference (MOBICOM), 1997.
+
+ [BPS00] Bennett, J. C., Partridge, C., and N. Schectman, "Packet
+ Reordering is Not Pathological Network Behaviour", IEEE/ACM
+ Transactions on Networking, Vol. 7, Issue. 6, 2000,
+ pp.789-798.
+
+ [Cla88] Clark, D.D, "The Design Philosophy of the DARPA Internet
+ Protocols", ACM Computer Communications Review (CCR), Vol.
+ 18, Issue 4, 1988, pp.106-114.
+
+ [CLC99] Clausen, H., Linder, H., and B. Collini-Nocker, "Internet
+ over Broadcast Satellites", IEEE Communications Magazine,
+ Vol. 37, Issue. 6, 1999, pp.146-151.
+
+ [CLP98] Calveras, A., Linares, J., and J. Paradells, "Window
+ Prediction Mechanism for Improving TCP in Wireless
+ Asymmetric Links". Proc. IEEE Global Communications
+ Conference (GLOBECOM), Sydney Australia, November 1998,
+ pp.533-538.
+
+ [CR98] Cohen, R., and Ramanathan, S., "Tuning TCP for High
+ Performance in Hybrid Fiber Coaxial Broad-Band Access
+ Networks", IEEE/ACM Transactions on Networking, Vol.6,
+ No.1, 1998, pp.15-29.
+
+ [DS00] Cable Television Laboratories, Inc., Data-Over-Cable
+ Service Interface Specifications---Radio Frequency
+ Interface Specification SP-RFIv1.1-I04-00407, 2000
+
+ [DS01] Data-Over-Cable Service Interface Specifications, Radio
+ Frequency Interface Specification 1.0, SP-RFI-I05-991105,
+ Cable Television Laboratories, Inc., November 1999.
+
+ [DMT96] Durst, R., Miller, G., and E. Travis, "TCP Extensions for
+ Space Communications", ACM/IEEE Mobile Communications
+ Conference (MOBICOM), New York, USA, November 1996, pp.15-
+ 26.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 34]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ [EN97] "Digital Video Broadcasting (DVB); DVB Specification for
+ Data Broadcasting", European Standard (Telecommunications
+ series) EN 301 192, 1997.
+
+ [EN00] "Digital Video Broadcasting (DVB); Interaction Channel for
+ Satellite Distribution Systems", Draft European Standard
+ (Telecommunications series) ETSI, Draft EN 301 790, v.1.2.1
+
+ [FJ93] Floyd, S., and V. Jacobson, "Random Early Detection
+ gateways for Congestion Avoidance", IEEE/ACM Transactions
+ on Networking, Vol.1, No.4, 1993, pp.397-413.
+
+ [FSS01] Fairhurst, G., Samaraweera, N.K.G, Sooriyabandara, M.,
+ Harun, H., Hodson, K., and R. Donardio, "Performance Issues
+ in Asymmetric Service Provision using Broadband Satellite",
+ IEE Proceedings on Communication, Vol.148, No.2, 2001,
+ pp.95-99.
+
+ [ITU01] ITU-T Recommendation E.681, "Traffic Engineering Methods
+ For IP Access Networks Based on Hybrid Fiber/Coax System",
+ September 2001.
+
+ [ITU02] ITU-T Recommendation G.992.1, "Asymmetrical Digital
+ Subscriber Line (ADSL) Transceivers", July 1999.
+
+ [Jac88] Jacobson, V., "Congestion Avoidance and Control", Proc. ACM
+ SIGCOMM, Stanford, CA, ACM Computer Communications Review
+ (CCR), Vol.18, No.4, 1988, pp.314-329.
+
+ [Ken87] Kent C.A., and J. C. Mogul, "Fragmentation Considered
+ Harmful", Proc. ACM SIGCOMM, USA, ACM Computer
+ Communications Review (CCR), Vol.17, No.5, 1988, pp.390-
+ 401.
+
+ [KSG98] Krout, T., Solsman, M., and J. Goldstein, "The Effects of
+ Asymmetric Satellite Networks on Protocols", Proc. IEEE
+ Military Communications Conference (MILCOM), Bradford, MA,
+ USA, Vol.3, 1998, pp.1072-1076.
+
+ [KVR98] Kalampoukas, L., Varma, A., and Ramakrishnan, K.K.,
+ "Improving TCP Throughput over Two-Way Asymmetric Links:
+ Analysis and Solutions", Proc. ACM SIGMETRICS, Medison,
+ USA, 1998, pp.78-89.
+
+ [LM97] Lin, D., and R. Morris, "Dynamics of Random Early
+ Detection", Proc. ACM SIGCOMM, Cannes, France, ACM Computer
+ Communications Review (CCR), Vol.27, No.4, 1997, pp.78-89.
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 35]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ [LMS97] Lakshman, T.V., Madhow, U., and B. Suter, "Window-based
+ Error Recovery and Flow Control with a Slow Acknowledgement
+ Channel: A Study of TCP/IP Performance", Proc. IEEE
+ INFOCOM, Vol.3, Kobe, Japan, 1997, pp.1199-1209.
+
+ [MJW00] Ming-Chit, I.T., Jinsong, D., and W. Wang,"Improving TCP
+ Performance Over Asymmetric Networks", ACM SIGCOMM, ACM
+ Computer Communications Review (CCR), Vol.30, No.3, 2000.
+
+ [Pad98] Padmanabhan, V.N., "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.cs.berkeley.edu/~padmanab/phd-
+ thesis.html
+
+ [RFC1323] Jacobson, V., Braden, R. and D. Borman, "TCP Extensions for
+ High Performance", RFC 1323, May 1992.
+
+ [RFC2018] Mathis, B., Mahdavi, J., Floyd, S. and A. Romanow, "TCP
+ Selective Acknowledgment Options", RFC 2018, October 1996.
+
+ [RFC2402] Kent, S. and R. Atkinson, "IP Authentication Header", RFC
+ 2402, November 1998.
+
+ [RFC2406] Kent, S. and R. Atkinson, "IP Encapsulating Security
+ Payload (ESP)", RFC 2406, November 1998.
+
+ [RFC2507] Degermark, M., Nordgren, B. and S. Pink, "IP Header
+ Compression", RFC 2507, February 1999.
+
+ [RFC2525] Paxson, V., Allman, M., Dawson, S., Heavens, I. and B.
+ Volz, "Known TCP Implementation Problems", RFC 2525, March
+ 1999.
+
+ [RFC2686] Bormann, C., "The Multi-Class Extension to Multi-Link PPP",
+ RFC 2686, September 1999.
+
+ [RFC2760] Allman, M., Dawkins, S., Glover, D., Griner, J., Henderson,
+ T., Heidemann, J., Kruse, H., Ostermann, S., Scott, K.,
+ Semke, J., Touch, J. and D. Tran, "Ongoing TCP Research
+ Related to Satellites", RFC 2760, February 2000.
+
+ [RFC2988] Paxson, V. and M. Allman, "Computing TCP's Retransmission
+ Timer", RFC 2988, November 2000.
+
+ [RFC3077] Duros, E., Dabbous, W., Izumiyama, H., Fujii, N. and Y.
+ Zhang, "A link Layer tunneling mechanism for unidirectional
+ links", RFC 3077, March 2001.
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 36]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ [RFC3095] Bormann, C., Burmeister, C., Degermark, M., Fukushima, H.,
+ Hannu, H., Jonsson, E., Hakenberg, R., Koren, T., Le, K.,
+ Liu, Z., Martensson, A., Miyazaki, A., Svanbro, K., Wiebke,
+ T., Yoshimura, T. and H. Zheng, "RObust Header Compression
+ (ROHC): Framework and four profiles: RTP, UDP ESP and
+ uncompressed", RFC 3095, July 2001.
+
+ [RFC3150] Dawkins, S., Montenegro, G., Kojo, M. and V. Magret, "End-
+ to-end Performance Implications of Slow Links", BCP 48, RFC
+ 3150, July 2001.
+
+ [RFC3168] Ramakrishnan K., Floyd, S. and D. Black, "A Proposal to add
+ Explicit Congestion Notification (ECN) to IP", RFC 3168,
+ September 2001.
+
+ [Sam99] Samaraweera, N.K.G, "Return Link Optimization for Internet
+ Service Provision Using DVB-S Networks", ACM Computer
+ Communications Review (CCR), Vol.29, No.3, 1999, pp.4-19.
+
+ [Seg00] Segura R., "Asymmetric Networking Techniques For Hybrid
+ Satellite Communications", NC3A, The Hague, Netherlands,
+ NATO Technical Note 810, August 2000, pp.32-37.
+
+ [SF98] Samaraweera, N.K.G., and G. Fairhurst. "High Speed Internet
+ Access using Satellite-based DVB Networks", Proc. IEEE
+ International Networks Conference (INC98), Plymouth, UK,
+ 1998, pp.23-28.
+
+ [ZSC91] Zhang, L., Shenker, S., and D. D. Clark, "Observations and
+ Dynamics of a Congestion Control Algorithm: The Effects of
+ Two-Way Traffic", Proc. ACM SIGCOMM, ACM Computer
+ Communications Review (CCR), Vol 21, No 4, 1991, pp.133-
+ 147.
+
+10. IANA Considerations
+
+ There are no IANA considerations associated with this document.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 37]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+Appendix - Examples of Subnetworks Exhibiting Network Path Asymmetry
+
+ This appendix provides a list of some subnetworks which are known to
+ experience network path asymmetry. The asymmetry in capacity of
+ these network paths can require mitigations to provide acceptable
+ overall performance. Examples include the following:
+
+ - IP service over some wide area and local area wireless networks.
+ In such networks, the predominant network path asymmetry arises
+ from the hub-and-spokes architecture of the network (e.g., a
+ single base station that communicates with multiple mobile
+ stations), this requires a Ready To Send / Clear To Send (RTS/CTS)
+ protocol and a Medium Access Control (MAC) protocol which needs to
+ accommodate the significant turn-around time for the radios. A
+ high per-packet transmission overhead may lead to significant
+ network path asymmetry.
+
+ - IP service over a forward satellite link utilizing Digital Video
+ Broadcast (DVB) transmission [EN97] (e.g., 38-45 Mbps), and a
+ slower upstream link using terrestrial network technology (e.g.,
+ dial-up modem, line of sight microwave, cellular radio) [CLC99].
+ Network path asymmetry arises from a difference in the upstream
+ and downstream link capacities.
+
+ - Certain military networks [KSG98] providing Internet access to
+ in-transit or isolated hosts [Seg00] using a high capacity
+ downstream satellite link (e.g., 2-3 Mbps) with a narrowband
+ upstream link (e.g., 2.4-9.6 kbps) using either Demand Assigned
+ Multiple Access (DAMA) or fixed rate satellite links. The main
+ factor contributing to network path asymmetry is the difference in
+ the upstream and downstream link capacities. Some differences
+ between forward and reverse paths may arise from the way in which
+ upstream link capacity is allocated.
+
+ - Most data over cable TV networks (e.g., DOCSIS [ITU01, DS00]),
+ where the analogue channels assigned for upstream communication
+ (i.e., in the reverse direction) are narrower and may be more
+ noisy than those assigned for the downstream link. As a
+ consequence, the upstream and downstream links differ in their
+ transmission rate. For example, in DOCSIS 1.0 [DS00], the
+ downstream transmission rate is either 27 or 52 Mbps. Upstream
+ transmission rates may be dynamically selected to be one of a
+ series of rates which range between 166 kbps to 9 Mbps. Operators
+ may assign multiple upstream channels per downstream channel.
+ Physical layer (PHY) overhead (which accompanies upstream
+ transmissions, but is not present in the downstream link) can also
+ increase the network path asymmetry. The Best Effort service,
+ which is typically used to carry TCP, uses a
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 38]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+ contention/reservation MAC protocol. A cable modem (CM) sending
+ an isolated packet (such as a TCP ACK) on the upstream link must
+ contend with other CMs to request capacity from the central cable
+ modem termination system (CMTS). The CMTS then grants timeslots
+ to a CM for the upstream transmission. The CM may "piggyback"
+ subsequent requests onto upstream packets, avoiding contention
+ cycles; as a result, spacing of TCP ACKs can be dramatically
+ altered due to minor variations in load of the cable data network
+ and inter-arrival times of TCP DATA packets. Numerous other
+ complexities may add to, or mitigate, the asymmetry in rate and
+ access latency experienced by packets sent on the upstream link
+ relative to downstream packets in DOCSIS. The asymmetry
+ experienced by end hosts may also change dynamically (e.g., with
+ network load), and when best effort services share capacity with
+ services that have symmetric reserved capacity (e.g., IP telephony
+ over the Unsolicited Grant service) [ITU01].
+
+ - Asymmetric Digital Subscriber Line (ADSL), by definition, offers a
+ downstream link transmission rate that is higher than that of the
+ upstream link. The available rates depend upon channel quality
+ and system configuration. For example, one widely deployed ADSL
+ technology [ITU02, ANS01] operates at rates that are multiples of
+ 32 kbps (up to 6.144 Mbps) in the downstream link, and up to 640
+ kbps for the upstream link. The network path asymmetry
+ experienced by end hosts may be further increased when best effort
+ services, e.g., Internet access over ADSL, share the available
+ upstream capacity with reserved services (e.g., constant bit rate
+ voice telephony).
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 39]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+Authors' Addresses
+
+ Hari Balakrishnan
+ Laboratory for Computer Science
+ 200 Technology Square
+ Massachusetts Institute of Technology
+ Cambridge, MA 02139
+ USA
+
+ Phone: +1-617-253-8713
+ 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
+ EMail: padmanab@microsoft.com
+ Web: http://www.research.microsoft.com/~padmanab/
+
+
+ Godred Fairhurst
+ Department of Engineering
+ Fraser Noble Building
+ University of Aberdeen
+ Aberdeen AB24 3UE
+ UK
+
+ 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
+
+ EMail: mahesh@erg.abdn.ac.uk
+ Web: http://www.erg.abdn.ac.uk/users/mahesh
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 40]
+
+RFC 3449 PILC - Asymmetric Links December 2002
+
+
+Full Copyright Statement
+
+ Copyright (C) The Internet Society (2002). 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.
+
+ This document and the information contained herein is provided on an
+ "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
+ TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
+ BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
+ HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
+ MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
+
+Acknowledgement
+
+ Funding for the RFC Editor function is currently provided by the
+ Internet Society.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+Balakrishnan et. al. Best Current Practice [Page 41]
+