datatracker.ietf.org
Sign in
Version 5.6.4.p1, 2014-10-20
Report a bug

Proportional Rate Reduction for TCP
RFC 6937

Internet Engineering Task Force (IETF)                         M. Mathis
Request for Comments: 6937                                  N. Dukkipati
Category: Experimental                                          Y. Cheng
ISSN: 2070-1721                                             Google, Inc.
                                                                May 2013

                  Proportional Rate Reduction for TCP

Abstract

   This document describes an experimental Proportional Rate Reduction
   (PRR) algorithm as an alternative to the widely deployed Fast
   Recovery and Rate-Halving algorithms.  These algorithms determine the
   amount of data sent by TCP during loss recovery.  PRR minimizes
   excess window adjustments, and the actual window size at the end of
   recovery will be as close as possible to the ssthresh, as determined
   by the congestion control algorithm.

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/rfc6937.

Mathis, et al.                Experimental                      [Page 1]
RFC 6937               Proportional Rate Reduction              May 2013

Copyright Notice

   Copyright (c) 2013 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 ....................................................2
   2. Definitions .....................................................5
   3. Algorithms ......................................................6
      3.1. Examples ...................................................6
   4. Properties ......................................................9
   5. Measurements ...................................................11
   6. Conclusion and Recommendations .................................12
   7. Acknowledgements ...............................................13
   8. Security Considerations ........................................13
   9. References .....................................................13
      9.1. Normative References ......................................13
      9.2. Informative References ....................................14
   Appendix A. Strong Packet Conservation Bound ......................15

1.  Introduction

   This document describes an experimental algorithm, PRR, to improve
   the accuracy of the amount of data sent by TCP during loss recovery.

   Standard congestion control [RFC5681] requires that TCP (and other
   protocols) reduce their congestion window (cwnd) in response to
   losses.  Fast Recovery, described in the same document, is the
   reference algorithm for making this adjustment.  Its stated goal is
   to recover TCP's self clock by relying on returning ACKs during
   recovery to clock more data into the network.  Fast Recovery
   typically adjusts the window by waiting for one half round-trip time
   (RTT) of ACKs to pass before sending any data.  It is fragile because
   it cannot compensate for the implicit window reduction caused by the
   losses themselves.

Mathis, et al.                Experimental                      [Page 2]
RFC 6937               Proportional Rate Reduction              May 2013

   RFC 6675 [RFC6675] makes Fast Recovery with Selective Acknowledgement
   (SACK) [RFC2018] more accurate by computing "pipe", a sender side
   estimate of the number of bytes still outstanding in the network.
   With RFC 6675, Fast Recovery is implemented by sending data as
   necessary on each ACK to prevent pipe from falling below slow-start

[include full document text]