A Conservative Loss Recovery Algorithm Based on Selective Acknowledgment (SACK) for TCP
RFC 6675
Document | Type |
RFC - Proposed Standard
(August 2012; No errata)
Obsoletes RFC 3517
|
|
---|---|---|---|
Authors | Ethan Blanton , Mark Allman , Lili Wang , Ilpo Järvinen , Markku Kojo , Yoshifumi Nishida | ||
Last updated | 2015-10-14 | ||
Replaces | draft-blanton-tcpm-3517bis | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized bibtex | ||
Reviews | |||
Stream | WG state | WG Document | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 6675 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Wesley Eddy | ||
IESG note | Pasi Sarolahti (pasi.sarolahti@iki.fi) is the document shepherd | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) E. Blanton Request for Comments: 6675 Purdue University Obsoletes: 3517 M. Allman Category: Standards Track ICSI ISSN: 2070-1721 L. Wang Juniper Networks I. Jarvinen M. Kojo University of Helsinki Y. Nishida WIDE Project August 2012 A Conservative Loss Recovery Algorithm Based on Selective Acknowledgment (SACK) for TCP Abstract This document presents a conservative loss recovery algorithm for TCP that is based on the use of the selective acknowledgment (SACK) TCP option. The algorithm presented in this document conforms to the spirit of the current congestion control specification (RFC 5681), but allows TCP senders to recover more effectively when multiple segments are lost from a single flight of data. This document obsoletes RFC 3517 and describes changes from it. Status of This Memo This is an Internet Standards Track document. 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). Further information on Internet Standards is available in 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/rfc6675. Blanton, et al. Standards Track [Page 1] RFC 6675 SACK Loss Recovery Algorithm for TCP August 2012 Copyright Notice Copyright (c) 2012 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. 1. Introduction This document presents a conservative loss recovery algorithm for TCP that is based on the use of the selective acknowledgment (SACK) TCP option. While the TCP SACK option [RFC2018] is being steadily deployed in the Internet [All00], there is evidence that hosts are not using the SACK information when making retransmission and congestion control decisions [PF01]. The goal of this document is to outline one straightforward method for TCP implementations to use SACK information to increase performance. [RFC5681] allows advanced loss recovery algorithms to be used by TCP [RFC793] provided that they follow the spirit of TCP's congestion control algorithms [RFC5681] [RFC2914]. [RFC6582] outlines one such advanced recovery algorithm called NewReno. This document outlines a loss recovery algorithm that uses the SACK TCP option [RFC2018] to enhance TCP's loss recovery. The algorithm outlined in this document, heavily based on the algorithm detailed in [FF96], is a conservative replacement of the fast recovery algorithm [Jac90] [RFC5681]. The algorithm specified in this document is a straightforward SACK-based loss recovery strategy that follows the guidelines set in [RFC5681] and can safely be used in TCP implementations. Alternate SACK-based loss recovery methods can be used in TCP as implementers see fit (as long as the alternate algorithms follow the guidelines provided in [RFC5681]). Please note, however, that the SACK-based decisions in this document (such as what segments are to be sent at what time) are largely decoupled from the congestion control algorithms, and as such can be treated as separate issues if so desired. This document represents a revision of [RFC3517] to address several situations that are not handled explicitly in that document. A Blanton, et al. Standards Track [Page 2] RFC 6675 SACK Loss Recovery Algorithm for TCP August 2012 summary of the changes between this document and [RFC3517] can beShow full document text