RFC 2582 (rfc2582) - Page 1 of 12
The NewReno Modification to TCP's Fast Recovery Algorithm
Alternative Format: Original Text Document
Network Working Group S. Floyd
Request for Comments: 2582 ACIRI
Category: Experimental T. Henderson
U.C. Berkeley
April 1999
The NewReno Modification to TCP's Fast Recovery Algorithm
Status of this Memo
This memo defines an Experimental Protocol for the Internet
community. It does not specify an Internet standard of any kind.
Discussion and suggestions for improvement are requested.
Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
RFC 2001 [RFC 2001] documents the following four intertwined TCP
congestion control algorithms: Slow Start, Congestion Avoidance, Fast
Retransmit, and Fast Recovery. RFC 2581 [RFC 2581] explicitly allows
certain modifications of these algorithms, including modifications
that use the TCP Selective Acknowledgement (SACK) option [MMFR96],
and modifications that respond to "partial acknowledgments" (ACKs
which cover new data, but not all the data outstanding when loss was
detected) in the absence of SACK. This document describes a specific
algorithm for responding to partial acknowledgments, referred to as
NewReno. This response to partial acknowledgments was first proposed
by Janey Hoe in [Hoe95].
1. Introduction
For the typical implementation of the TCP Fast Recovery algorithm
described in [RFC 2581] (first implemented in the 1990 BSD Reno
release, and referred to as the Reno algorithm in [FF96]), the TCP
data sender only retransmits a packet after a retransmit timeout has
occurred, or after three duplicate acknowledgements have arrived
triggering the Fast Retransmit algorithm. A single retransmit
timeout might result in the retransmission of several data packets,
but each invocation of the Reno Fast Retransmit algorithm leads to
the retransmission of only a single data packet.
Floyd & Henderson Experimental