One document matched: draft-iyengar-burst-mitigation-00.txt
Internet Engineering Task Force Janardhan Iyengar
INTERNET DRAFT University of Delaware
draft-iyengar-burst-mitigation-00.txt
Expires: May 31, 2006 Ethan Blanton
Purdue University
Mark Allman
ICIR/ICSI
November 30, 2005
TCP Burst Mitigation Through Congestion Window Limiting
draft-iyengar-burst-mitigation-00.txt
Status of this Memo
By submitting this Internet-Draft, each author represents that any
applicable patent or other IPR claims of which he or she is aware have
been or will be disclosed, and any of which he or she becomes aware
will be disclosed, in accordance with Section 6 of BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task
Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at
http://www.ietf.org/shadow.html.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This document describes Congestion Window Limiting, a method for
mitigating micro-bursts in TCP by limiting the congestion window
during loss of TCP's ack clock.
Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The reader is expected to be familiar with terminology from
[RFC2581].
Iyengar, Blanton, Allman [Page 1]
draft-iyengar-burst-mitigation-00.txt November 2005
1. Introduction
TCP injects two kinds of bursts in the network, which we refer to as
micro-bursts and macro-bursts.
Micro-bursts: Each TCP segment carrying a cumulative acknowledgment
(ACK) that slides the sender's transmission window allows previously
unsent data segments to be transmitted (when application data is
available). These segments are (ideally) transmitted at the line rate
of the sender's network (assuming the host's CPU can produce packets
fast enough). We refer to such bursts of segments sent in response to
receipt of a single ACK as "micro-bursts".
Macro-bursts: While in slow start [RFC2581], a TCP sender increases
the congestion window (cwnd) by a multiple of 1.5-2 in subsequent
round-trip times (RTTs). The exact factor of the increase depends on
whether the TCP receiver generates delayed acknowledgments
[RFC1122,RFC2581], whether the sender employs byte counting [RFC3465]
and network dynamics. Bursts are also caused by ACK compression
[ZSC91], where ACKs are received closer together than when they were
sent due to queueing dynamics in the network. We refer to bursts due
to slow start and ACK compression as "macro-bursts" since they occur
on longer timescales than micro-bursts.
In this document, we consider only micro-bursts. Several situations
can cause micro-bursting:
* Although TCP's cumulative ACK mechanism is robust to loss, ACK
loss causes a TCP sender's transmission window to slide by a
greater amount with lesser frequency, potentially triggering large
micro-bursts in the process.
* An application can send data in a bursty fashion, causing TCP to
transmit micro-bursts.
* Reordered ACKs cause an ACK stream that appears similar to an ACK
stream with loss, causing similar micro-bursting.
These and other causes of bursting are described in more detail in
[AB05, JD03].
In this document, we present one possible method for mitigating TCP
micro-bursts called Congestion Window Limiting, which is based on work
in [HTH01] and originally outlined in [AB05]. Alternate schemes have
been proposed to mitigate the impact of micro-bursts, as discussed
below. We note that the question of whether or not micro-bursts need
mitigation remains open. [JD03] suggests that TCP's bursting may need
mitigation from the perspective of the network, while [BA05] suggests
that micro-bursts often do not cause loss within the bursting
connection. This document, therefore, intends to draw community
attention to the issue of micro-bursts, and attempts to generate
discussion and further exploration in the area.
Iyengar, Blanton, Allman [Page 2]
draft-iyengar-burst-mitigation-00.txt November 2005
2. Congestion Window Limiting (CWL)
The Congestion Window Limiting (CWL) algorithm first appeared in
[AB05] and is based on work in [HTH01]. CWL introduces a new parameter
called "MaxBurst", which represents the largest acceptable micro-burst
a TCP should transmit.
Each time an ACK is received, the cwnd modification (increase or
decrease) procedures outlined in [RFC2581] MUST be applied. When
using CWL and before any data is sent in response to the received
ACK the following steps must be executed.
(1) If cwnd > (FlightSize + MaxBurst) TCP will likely send a
micro-burst and steps (2) and (3) are used. (If this condition
holds, the only case where a micro-burst will not occur is when
not enough application data is available to transmit). If the
condition does not hold, data should be transmitted as usual
(skipping steps (2) and (3)).
(2) If ssthresh < cwnd then ssthresh MUST be set to cwnd.
(3) Set cwnd = (FlightSize + MaxBurst).
After these steps, available application data should be transmitted as
allowed by the cwnd and the receiver's advertised window.
CWL controls bursts by clamping down cwnd when the ACK clock is lost
or interrupted. History information maintained in ssthresh allows
exponential cwnd increase (via slow start) as the sender
re-establishes the ACK clock.
MaxBurst SHOULD be chosen such that bursts are no larger than those
allowed by [RFC3390]. From [RFC3390], we therefore choose:
MaxBurst = min (4*MSS, max (2*MSS, 4380 bytes)) (1)
If useful, MaxBurst MAY be smaller than allowed by equation (1).
3. Related Work
Congestion Window Validation [RFC2861] recommends (i) not increasing
the cwnd when it is not fully used by an application-limited sender
and (ii) decaying the cwnd of an idle sender after a sufficiently long
period to avoid use of an invalid cwnd ([RFC2861] suggests reducing
the cwnd of an application-limited sender by half for each idle RTO
interval.) While it attempts to protect the network from a sender's
incorrect or stale view of available bandwidth, [RFC2861] steers clear
of micro-burst avoidance; [RFC2861] concerns itself with maintaining a
"valid" cwnd and considers micro-burst avoidance an orthogonal
problem. CWL prevents micro-bursts by reducing cwnd when appropriate,
and in doing so, protects the network from an application-limited
sender with stale cwnd information. CWL also prevents a cwnd from
increasing during application-limited periods by limiting it to
Iyengar, Blanton, Allman [Page 3]
draft-iyengar-burst-mitigation-00.txt November 2005
(FlightSize + MaxBurst). Note that CWL is more aggressive in reducing
cwnd than [RFC2861].
Several techniques have been proposed in the past for controlling
micro-bursts. [FF96] introduces a simple mechanism that limits the
number of segments sent in response to an ack. [HTH01] introduces an
algorithm called "Use it or Lose it" (UI/LI) which modifies the cwnd
to reflect the actual outstanding number of bytes, thereby controlling
bursts in response to an ack. This algorithm is used in SCTP
[RFC2960][RA+05] and provides the basis for CWL. CWL extends UI/LI by
modifying ssthresh and enabling a sender to slow start up to the last
known safe cwnd (step (2) in the algo above).
Pacing mechanisms such as Rate Based Pacing [VH97] impose a limitation
on the rate of sending, and prevent bursts by pacing the data into the
network until the ACK clock is established. This solution however,
requires a new timer, and the parameter values used to pace out the
data require more research.
4. Discussion
We emphasize that the question of whether or not micro-bursts need
mitigation remains open. While this document provides one mitigation
scheme based on current knowledge, continued research on bursts and
alternative mitigation mechanisms is strongly encouraged.
Finally, we note that some TCP stacks may already implement some form
of micro-burst mitigation, although the mechanisms used may not be
well understood and have not been through IETF community review. This
document presents an initial step towards encouraging better
understood and community reviewed micro-burst mitigation mechanisms.
5. Security Considerations
This document calls for reducing the congestion window during loss of
TCP's ack clock. An attacker can therefore reduce throughput of a TCP
connection by causing ack loss or reordering of data or acks.
6. IANA Considerations
None.
Acknowledgments
Normative References
[RFC2119] S. Bradner. Key words for use in RFCs to Indicate
Requirement Levels, March 1997. BCP 14, RFC 2119.
Iyengar, Blanton, Allman [Page 4]
draft-iyengar-burst-mitigation-00.txt November 2005
[RFC2581] M. Allman, V. Paxson, W. Stevens. TCP Congestion Control,
April 1999. RFC 2581.
Informative References
[RFC2861] M. Handley, J. Padhye, S. Floyd. TCP Congestion Window
Validation, June 2000. RFC 2861.
[RFC3465] M. Allman. TCP Congestion Control with Appropriate Byte
Counting (ABC), February 2003. RFC 3465.
[AB05] M. Allman, E. Blanton. Notes on Burst Mitigation for Transport
Protocols. ACM Computer Communication Review, 35(2), April 2005.
[BA05] E. Blanton, M. Allman. On the Impact of Bursting on TCP
Performance. Proceedings of the Workshop for Passive and Active
Measurement, March 2005.
[FF96] K. Fall, S. Floyd. Simulation-based Comparisons of Tahoe, Reno,
and SACK TCP. Computer Communication Review, 26(3), July 1996.
[HTH01] A. Hughes, J. Touch, J. Heidemann. Issues in TCP Slow-Start
Restart After Idle. Internet draft <draft-hughes-restart-00.txt>,
December 2001 (expired).
URL: http://www.isi.edu/touch/pubs/draft-hughes-restart-00.txt.
[JD03] H. Jiang, C. Dovrolis. Source-Level IP Packet Bursts: Causes
and Effects. In ACM SIGCOMM/Usenix Internet Measurement
Conference, October 2003.
[SA+05] R. Stewart, I. Arias-Rodriguez, K. Poon, A. Caro,
M. Tuexen. SCTP Specification Errata and Issues. Internet draft
<draft-ietf-tsvwg-sctpimpguide-16.txt>, October 2005 (work in
progress).
[VH97] V. Visweswaraiah and J. Heidemann. Improving Restart of
Idle TCP Connections. Technical Report 97-661, University of
Southern California, November 1997.
[ZSC91] L. Zhang, S. Shenker, and D. Clark. Observations on the
Dynamics of a Congestion Control Algorithm: The Effects of Two- Way
Traffic. ACM SIGCOMM, September 1991.
Author's Addresses
Janardhan Iyengar
Protocol Engineering Lab, CIS Department
University of Delaware
103 Smith Hall
Newark, DE 19716
Email: iyengar@cis.udel.edu
URL: http//www.cis.udel.edu/~iyengar/
Iyengar, Blanton, Allman [Page 5]
draft-iyengar-burst-mitigation-00.txt November 2005
Ethan Blanton
Purdue University Computer Sciences
250 North University Street
West Lafayette, IN 47907
Email: eblanton@cs.purdue.edu
URL: http://www.cs.purdue.edu/homes/eblanton/
Mark Allman
ICSI Center for Internet Research
1947 Center Street, Suite 600
Berkeley, CA 94704-1198
Phone: (440) 235-1792
Email: mallman@icir.org
URL: http://www.icir.org/mallman/
Intellectual Property Statement
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be found
in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this specification
can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Disclaimer of Validity
This document and the information contained herein are provided on
an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE
REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE
INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
Iyengar, Blanton, Allman [Page 6]
draft-iyengar-burst-mitigation-00.txt November 2005
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the
Internet Society.
Iyengar, Blanton, Allman [Page 7]
| PAFTECH AB 2003-2026 | 2026-04-24 09:02:26 |