As per Relevance of the word congestion, we have this rfc below:
Network Working Group M.
Request for Comments: 3042 NASA GRC/
Category: Standards Track H.
S.
January 2001
Enhancing TCP's Loss Recovery Using Limited
Status of this
This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited
Copyright
Copyright (C) The Internet Society (2001). All Rights Reserved
This document proposes a new Transmission Control Protocol (TCP
mechanism that can be used to more effectively recover lost
when a connection's congestion window is small, or when a
number of segments are lost in a single transmission window.
"Limited Transmit" algorithm calls for sending a new data segment
response to each of the first two duplicate acknowledgments
arrive at the sender. Transmitting these segments increases
probability that TCP can recover from a single lost segment using
fast retransmit algorithm, rather than using a costly
timeout. Limited Transmit can be used both in conjunction with,
in the absence of, the TCP selective acknowledgment (SACK) mechanism
1
A number of researchers have observed that TCP's loss
strategies do not work well when the congestion window at a
sender is small. This can happen, for instance, because there
only a limited amount of data to send, or because of the
imposed by the receiver-advertised window, or because of
constraints imposed by end-to-end congestion control over
connection with a small bandwidth-delay
[Riz96,Mor97,BPS+98,Bal98,LK98]. When a TCP detects a
segment, it enters a loss recovery phase using one of two methods
Allman, et al. Standards Track [Page 1]
RFC 3042 Enhancing TCP Loss Recovery January 2001
First, if an acknowledgment (ACK) for a given segment is not
in a certain amount of time a retransmission timeout occurs and
segment is resent [RFC793,PA00]. Second, the "Fast Retransmit
algorithm resends a segment when three duplicate ACKs arrive at
sender [Jac88,RFC2581]. However, because duplicate ACKs from
receiver are also triggered by packet reordering in the Internet,
TCP sender waits for three duplicate ACKs in an attempt
disambiguate segment loss from packet reordering. Once in a
recovery phase, a number of techniques can be used to retransmit
segments, including slow start-based recovery or Fast
[RFC2581], NewReno [RFC2582], and loss recovery based on
acknowledgments (SACKs) [RFC2018,FF96].
TCP's retransmission timeout (RTO) is based on measured round-
times (RTT) between the sender and receiver, as specified in [PA00].
To prevent spurious retransmissions of segments that are only
and not lost, the minimum RTO is conservatively chosen to be 1
second. Therefore, it behooves TCP senders to detect and
from as many losses as possible without incurring a lengthy
when the connection remains idle. However, if not enough
ACKs arrive from the receiver, the Fast Retransmit algorithm is
triggered---this situation occurs when the congestion window is
or if a large number of segments in a window are lost. For instance
consider a congestion window (cwnd) of three segments. If
segment is dropped by the network, then at most two duplicate
will arrive at the sender. Since three duplicate ACKs are
to trigger Fast Retransmit, a timeout will be required to resend
dropped packet
[BPS+97] found that roughly 56% of retransmissions sent by a busy
server were sent after the RTO expires, while only 44% were
by Fast Retransmit. In addition, only 4% of the RTO-
retransmissions could have been avoided with SACK, which of
has to continue to disambiguate reordering from genuine loss.
contrast, using the technique outlined in this document and
[Bal98], 25% of the RTO-based retransmissions in that dataset
have likely been avoided
The next section of this document outlines small changes to
senders that will decrease the reliance on the retransmission timer
and thereby improve TCP performance when Fast Retransmit is
triggered. These changes do not adversely affect the performance
TCP nor interact adversely with other connections, in
circumstances
Allman, et al. Standards Track [Page 2]
RFC 3042 Enhancing TCP Loss Recovery January 2001
1.1
In this document, he key words "MUST", "MUST NOT", "REQUIRED",
"SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY",
AND "OPTIONAL" are to be interpreted as described in RFC 2119 [1]
indicate requirement levels for protocols
2 The Limited Transmit
When a TCP sender has previously unsent data queued for
it SHOULD use the Limited Transmit algorithm, which calls for a
sender to transmit new data upon the arrival of the first
consecutive duplicate ACKs when the following conditions
satisfied
* The receiver's advertised window allows the transmission of
segment
* The amount of outstanding data would remain less than or
to the congestion window plus 2 segments. In other words,
sender can only send two segments beyond the congestion
(cwnd).
The congestion window (cwnd) MUST NOT be changed when these
segments are transmitted. Assuming that these new segments and
corresponding ACKs are not dropped, this procedure allows the
to infer loss using the standard Fast Retransmit threshold of
duplicate ACKs [RFC2581]. This is more robust to reordered
than if an old packet were retransmitted on the first or
duplicate ACK
Note: If the connection is using selective acknowledgments [RFC2018],
the data sender MUST NOT send new segments in response to
ACKs that contain no new SACK information, as a misbehaving
can generate such ACKs to trigger inappropriate transmission of
segments. See [SCWA99] for a discussion of attacks by
receivers
Limited Transmit follows the "conservation of packets"
control principle [Jac88]. Each of the first two duplicate
indicate that a segment has left the network. Furthermore,
sender has not yet decided that a segment has been dropped
therefore has no reason to assume that the current congestion
state is inaccurate. Therefore, transmitting segments does
deviate from the spirit of TCP's congestion control principles
Allman, et al. Standards Track [Page 3]
RFC 3042 Enhancing TCP Loss Recovery January 2001
[BPS99] shows that packet reordering is not a rare network event
[RFC2581] does not provide for sending of data on the first
duplicate ACKs that arrive at the sender. This causes a burst
segments to be sent when an ACK for new data does arrive
packet reordering. Using Limited Transmit, data packets will
clocked out by incoming ACKs and therefore transmission will not
as bursty
Note: Limited Transmit is implemented in the ns simulator [NS].
Researchers wishing to investigate this mechanism further can do
by enabling "singledup_" for the given TCP connection
3 Related
Deployment of Explicit Congestion Notification (ECN) [Flo94,RFC2481]
may benefit connections with small congestion window sizes [SA00].
ECN provides a method for indicating congestion to the end-
without dropping segments. While some segment drops may still occur
ECN may allow TCP to perform better with small congestion
sizes because the sender can avoid many of the Fast Retransmits
Retransmit Timeouts that would otherwise have been needed to
dropped segments [SA00].
When ECN-enabled TCP traffic competes with non-ECN-enabled
traffic, ECN-enabled traffic can receive up to 30% higher goodput
For bulk transfers, the relative performance benefit of ECN
greatest when on average each flow has 3-4 outstanding packets
each round-trip time [ZQ00]. This should be a good estimate for
performance impact of a flow using Limited Transmit, since both
and Limited Transmit reduce the reliance on the retransmission
for signaling congestion
The Rate-Halving congestion control algorithm [MSML99] uses a form
limited transmit, as it calls for transmitting a data segment
every second duplicate ACK that arrives at the sender. The
decouples the decision of what to send from the decision of when
send. However, similar to Limited Transmit the algorithm will
send a new data segment on the second duplicate ACK that arrives
the sender
4 Security
The additional security implications of the changes proposed in
document, compared to TCP's current vulnerabilities, are minimal
The potential security issues come from the subversion of end-to-
congestion control from "false" duplicate ACKs, where a "false
duplicate ACK is a duplicate ACK that does not actually
new data received at the TCP receiver. False duplicate ACKs
Allman, et al. Standards Track [Page 4]
RFC 3042 Enhancing TCP Loss Recovery January 2001
result from duplicate ACKs that are themselves duplicated in
network, or from misbehaving TCP receivers that send false
ACKs to subvert end-to-end congestion control [SCWA99,RFC2581].
When the TCP data receiver has agreed to use the SACK option, the
data sender has fairly strong protection against false
ACKs. In particular, with SACK, a duplicate ACK that
new data arriving at the receiver reports the sequence numbers
that new data. Thus, with SACK, the TCP sender can verify that
arriving duplicate ACK acknowledges data that the TCP sender
actually sent, and for which no previous acknowledgment has
received, before sending new data as a result of that acknowledgment
For further protection, the TCP sender could keep a record of
boundaries for transmitted data packets, and recognize at most
valid acknowledgment for each packet (e.g., the first
acknowledging the receipt of all of the sequence numbers in
packet).
One could imagine some limited protection against false
ACKs for a non-SACK TCP connection, where the TCP sender keeps
record of the number of packets transmitted, and recognizes at
one acknowledgment per packet to be used for triggering the
of new data. However, this accounting of packets transmitted
acknowledged would require additional state and extra complexity
the TCP sender, and does not seem necessary
The most important protection against false duplicate ACKs comes
the limited potential of duplicate ACKs in subverting end-to-
congestion control. There are two separate cases to consider:
the TCP sender receives less than a threshold number of
ACKs, and when the TCP sender receives at least a threshold number
duplicate ACKs. In the latter case a TCP with Limited Transmit
behave essentially the same as a TCP without Limited Transmit in
the congestion window will be halved and a loss recovery period
be initiated
When a TCP sender receives less than a threshold number of
ACKs a misbehaving receiver could send two duplicate ACKs after
regular ACK. One might imagine that the TCP sender would send
three times its allowed sending rate. However, using
Transmit as outlined in section 2 the sender is only allowed
exceed the congestion window by less than the duplicate ACK
(of three segments), and thus would not send a new packet for
duplicate ACK received
Allman, et al. Standards Track [Page 5]
RFC 3042 Enhancing TCP Loss Recovery January 2001
Bill Fenner, Jamshid Mahdavi and the Transport Area Working
provided valuable feedback on an early version of this document
[Bal98] Hari Balakrishnan. Challenges to Reliable Data
over Heterogeneous Wireless Networks. Ph.D. Thesis
University of California at Berkeley, August 1998.
[BPS+97] Hari Balakrishnan, Venkata Padmanabhan, Srinivasan Seshan
Mark Stemm, and Randy Katz. TCP Behavior of a Busy
Server: Analysis and Improvements. Technical
UCB/CSD-97-966, August 1997. Available
http://nms.lcs.mit.edu/~hari/papers/csd-97-966.ps. (
in Proc. IEEE INFOCOM Conf., San Francisco, CA,
1998.)
[BPS99] Jon Bennett, Craig Partridge, Nicholas Shectman.
Reordering is Not Pathological Network Behavior. IEEE/
Transactions on Networking, December 1999.
[FF96] Kevin Fall, Sally Floyd. Simulation-based Comparisons
Tahoe, Reno, and SACK TCP. ACM Computer
Review, July 1996.
[Flo94] Sally Floyd. TCP and Explicit Congestion Notification
ACM Computer Communication Review, October 1994.
[Jac88] Van Jacobson. Congestion Avoidance and Control.
SIGCOMM 1988.
[LK98] Dong Lin, H.T. Kung. TCP Fast Recovery Strategies
Analysis and Improvements. Proceedings of InfoCom,
1998.
[MSML99] Matt Mathis, Jeff Semke, Jamshid Mahdavi, Kevin Lahey.
Rate Halving Algorithm, 1999. URL
http://www.psc.edu/networking/rate_halving.html
[Mor97] Robert Morris. TCP Behavior with Many Flows.
of the Fifth IEEE International Conference on
Protocols. October 1997.
[NS] Ns network simulator. URL: http://www.isi.edu/nsnam/.
Allman, et al. Standards Track [Page 6]
RFC 3042 Enhancing TCP Loss Recovery January 2001
[PA00] Paxson, V. and M. Allman, "Computing TCP's
Timer", RFC 2988, November 2000.
[Riz96] Luigi Rizzo. Issues in the Implementation of
Acknowledgments for TCP. January, 1996. URL
http://www.iet.unipi.it/~luigi/selack.
[SA00] Hadi Salim, J. and U. Ahmed, "Performance Evaluation
Explicit Congestion Notification (ECN) in IP Networks",
2884, July 2000.
[SCWA99] Stefan Savage, Neal Cardwell, David Wetherall,
Anderson. TCP Congestion Control with a
Receiver. ACM Computer Communications Review,
1999.
[RFC793] Postel, J., "Transmission Control Protocol", STD 7,
793, September 1981.
[RFC2018] Mathis, M., Mahdavi, J., Floyd, S. and A. Romanow, "
Selective Acknowledgement Options", RFC 2018, October 1996.
[RFC2119] Bradner, S., "Key words for use in RFCs to
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2481] Ramakrishnan, K. and S. Floyd, "A Proposal to Add
Congestion Notification (ECN) to IP", RFC 2481,
1999.
[RFC2581] Allman, M., Paxson, V. and W. Stevens, "TCP
Control", RFC 2581, April 1999.
[RFC2582] Floyd, S. and T. Henderson, "The NewReno Modification
TCP's Fast Recovery Algorithm", RFC 2582, April 1999.
[ZQ00] Yin Zhang and Lili Qiu, Understanding the End-to-
Performance Impact of RED in a Heterogeneous Environment
Cornell CS Technical Report 2000-1802, July 2000.
http://www.cs.cornell.edu/yzhang/papers.htm
Allman, et al. Standards Track [Page 7]
RFC 3042 Enhancing TCP Loss Recovery January 2001
Authors'
Mark
NASA Glenn Research Center/BBN
Lewis
21000 Brookpark Rd. MS 54-5
Cleveland, OH 44135
Phone: +1-216-433-6586
Fax: +1-216-433-8705
EMail: mallman@grc.nasa.
http://roland.grc.nasa.gov/~
Hari
Laboratory for Computer
545 Technology
Massachusetts Institute of
Cambridge, MA 02139
EMail: hari@lcs.mit.
http://nms.lcs.mit.edu/~hari
Sally
AT&T Center for Internet Research at ICSI (ACIRI
1947 Center St, Suite 600
Berkeley, CA 94704
Phone: +1-510-666-2989
EMail: floyd@aciri.
http://www.aciri.org/floyd
Allman, et al. Standards Track [Page 8]
RFC 3042 Enhancing TCP Loss Recovery January 2001
Full Copyright
Copyright (C) The Internet Society (2001). All Rights Reserved
This document and translations of it may be copied and furnished
others, and derivative works that comment on or otherwise explain
or assist in its implementation may be prepared, copied,
and distributed, in whole or in part, without restriction of
kind, provided that the above copyright notice and this paragraph
included on all such copies and derivative works. However,
document itself may not be modified in any way, such as by
the copyright notice or references to the Internet Society or
Internet organizations, except as needed for the purpose
developing Internet standards in which case the procedures
copyrights defined in the Internet Standards process must
followed, or as required to translate it into languages other
English
The limited permissions granted above are perpetual and will not
revoked by the Internet Society or its successors or assigns
This document and the information contained herein is provided on
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED,
BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE
Funding for the RFC Editor function is currently provided by
Internet Society
Allman, et al. Standards Track [Page 9]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX