TCP Performance Implications of Network Path Asymmetry
RFC 3449

Document Type RFC - Best Current Practice (December 2002; No errata)
Also known as BCP 69
Last updated 2015-10-14
Stream IETF
Formats plain text html pdf htmlized bibtex
Stream WG state (None)
Document shepherd No shepherd assigned
IESG IESG state RFC 3449 (Best Current Practice)
Consensus Boilerplate Unknown
Telechat date
Responsible AD Allison Mankin
IESG note Responsible: Authors, ADs
Send notices to <falk@isi.edu>
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
Show full document text