Updating TCP to Support Rate-Limited Traffic
RFC 7661

Document Type RFC - Experimental (October 2015; No errata)
Obsoletes RFC 2861
Last updated 2015-10-27
Replaces draft-fairhurst-tcpm-newcwv
Stream IETF
Formats plain text pdf html bibtex
Reviews
Stream WG state Submitted to IESG for Publication Nov 2013
Document shepherd Yoshifumi Nishida
Shepherd write-up Show (last changed 2015-04-29)
IESG IESG state RFC 7661 (Experimental)
Consensus Boilerplate Yes
Telechat date
Responsible AD Martin Stiemerling
Send notices to (None)
IANA IANA review state Version Changed - Review Needed
IANA action state No IC
Internet Engineering Task Force (IETF)                      G. Fairhurst
Request for Comments: 7661                               A. Sathiaseelan
Obsoletes: 2861                                                R. Secchi
Category: Experimental                            University of Aberdeen
ISSN: 2070-1721                                             October 2015

              Updating TCP to Support Rate-Limited Traffic

Abstract

   This document provides a mechanism to address issues that arise when
   TCP is used for traffic that exhibits periods where the sending rate
   is limited by the application rather than the congestion window.  It
   provides an experimental update to TCP that allows a TCP sender to
   restart quickly following a rate-limited interval.  This method is
   expected to benefit applications that send rate-limited traffic using
   TCP while also providing an appropriate response if congestion is
   experienced.

   This document also evaluates the Experimental specification of TCP
   Congestion Window Validation (CWV) defined in RFC 2861 and concludes
   that RFC 2861 sought to address important issues but failed to
   deliver a widely used solution.  This document therefore reclassifies
   the status of RFC 2861 from Experimental to Historic.  This document
   obsoletes RFC 2861.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for examination, experimental implementation, and
   evaluation.

   This document defines an Experimental Protocol for the Internet
   community.  This document is a product of the Internet Engineering
   Task Force (IETF).  It represents the consensus of the IETF
   community.  It has received public review and has been approved for
   publication by the Internet Engineering Steering Group (IESG).  Not
   all documents approved by the IESG are a candidate for any level of
   Internet Standard; see Section 2 of RFC 5741.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   http://www.rfc-editor.org/info/rfc7661.

Fairhurst, et al.             Experimental                      [Page 1]
RFC 7661                         New CWV                    October 2015

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1. Introduction ....................................................3
      1.1. Implementation of New CWV ..................................5
      1.2. Standards Status of This Document ..........................5
   2. Reviewing Experience with TCP-CWV ...............................5
   3. Terminology .....................................................7
   4. A New Congestion Window Validation Method .......................8
      4.1. Initialisation .............................................8
      4.2. Estimating the Validated Capacity Supported by a Path ......8
      4.3. Preserving cwnd during a Rate-Limited Period ..............10
      4.4. TCP Congestion Control during the Non-validated Phase .....11
           4.4.1. Response to Congestion in the Non-validated Phase ..12
           4.4.2. Sender Burst Control during the
                  Non-validated Phase ................................14
           4.4.3. Adjustment at the End of the Non-validated
                  Period (NVP) .......................................14
      4.5. Examples of Implementation ................................15
           4.5.1. Implementing the pipeACK Measurement ...............15
           4.5.2. Measurement of the NVP and pipeACK Samples .........16
           4.5.3. Implementing Detection of the cwnd-Limited
                  Condition ..........................................17
   5. Determining a Safe Period to Preserve cwnd .....................17
   6. Security Considerations ........................................18
   7. References .....................................................18
      7.1. Normative References ......................................18
      7.2. Informative References ....................................19
   Acknowledgments ...................................................21
Show full document text