draft-ietf-tcpm-persist-06.txt   draft-ietf-tcpm-persist-07.txt 
TCP Maintenance and Minor Extensions M. Bashyam TCP Maintenance and Minor Extensions M. Bashyam
Working Group Ocarina Networks, Inc Working Group Ocarina Networks, Inc
Internet-Draft M. Jethanandani Internet-Draft M. Jethanandani
Intended status: Informational A. Ramaiah Intended status: Informational A. Ramaiah
Expires: March 12, 2012 Cisco Expires: March 18, 2012 Cisco
September 9, 2011 September 15, 2011
Clarification of sender behavior in persist condition. TCP sender clarification for Persist Condition.
draft-ietf-tcpm-persist-06.txt draft-ietf-tcpm-persist-07.txt
Abstract Abstract
This document clarifies the Zero Window Probes (ZWP) described in This document clarifies the Zero Window Probes (ZWP) described in
Requirements for Internet Hosts [RFC1122]. In particular, it Requirements for Internet Hosts [RFC1122]. In particular, it
clarifies the actions that can be taken on connections which are clarifies the actions that can be taken on connections which are
experiencing the ZWP condition. This draft clarifies what has been experiencing the ZWP condition. This draft clarifies what has been
till now a misinterpretation of the standard as specified in RFC 1122 till now a misinterpretation of the standard as specified in RFC 1122
[RFC1122] rather than making a change to the standard. [RFC1122] rather than making a change to the standard.
skipping to change at page 1, line 37 skipping to change at page 1, line 37
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on March 12, 2012. This Internet-Draft will expire on March 18, 2012.
Copyright Notice Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 3, line 12 skipping to change at page 3, line 12
8.2. Informative References . . . . . . . . . . . . . . . . . . 10 8.2. Informative References . . . . . . . . . . . . . . . . . . 10
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 11
1. Introduction 1. Introduction
Section 4.2.2.17 of Requirements for Internet Hosts [RFC1122] says: Section 4.2.2.17 of Requirements for Internet Hosts [RFC1122] says:
"A TCP MAY keep its offered receive window closed indefinitely. "A TCP MAY keep its offered receive window closed indefinitely.
As long as the receiving TCP continues to send acknowledgments in As long as the receiving TCP continues to send acknowledgments in
response to the probe segments, the sending TCP MUST allow the response to the probe segments, the sending TCP MUST allow the
connection to stay open." connection to stay open.
DISCUSSION: DISCUSSION:
It is extremely important to remember that ACK (acknowledgment) It is extremely important to remember that ACK (acknowledgment)
segments that contain no data are not reliably transmitted by segments that contain no data are not reliably transmitted by
TCP. TCP."
Therefore zero window probing needs to be supported to prevent a Therefore zero window probing needs to be supported to prevent a
connection from hanging forever if ACK segments that re-opens the connection from hanging forever if ACK segments that re-opens the
window is lost. The condition where the sender goes into the Zero window is lost. The condition where the sender goes into the Zero
Window Probe (ZWP) mode is typically known as the 'persist Window Probe (ZWP) mode is typically known as the 'persist
condition'. condition'.
This guidance is not intended to preclude resource management by the This guidance is not intended to preclude resource management by the
operating system or application, which may request connections to be operating system or application, which may request connections to be
aborted regardless of them being in the persist condition, and the aborted regardless of them being in the persist condition, and the
skipping to change at page 4, line 24 skipping to change at page 4, line 24
which the printer runs out of paper and is waiting for the user which the printer runs out of paper and is waiting for the user
intervention to reload the paper tray. The printer may not be intervention to reload the paper tray. The printer may not be
reading data from the printing application during this time. reading data from the printing application during this time.
Although this may result in a prolonged ZWP state, it would be Although this may result in a prolonged ZWP state, it would be
premature for TCP to take action on its own and close the printer premature for TCP to take action on its own and close the printer
connecting merely due to its lack of progress. Once the printer's connecting merely due to its lack of progress. Once the printer's
paper tray is reloaded (which may be minutes, hours, or days later), paper tray is reloaded (which may be minutes, hours, or days later),
the print job needs to be able to continue uninterrupted over the the print job needs to be able to continue uninterrupted over the
same TCP connection. same TCP connection.
Systems that misinterpret the above section of Requirements for However, systems that misinterpret the above section of Requirements
Internet Hosts [RFC1122] may fall victim to DoS attacks, by not for Internet Hosts [RFC1122] may fall victim to DoS attacks, by not
supporting sufficient mechanisms to allow release of system resources supporting sufficient mechanisms to allow release of system resources
tied up by connections in the persist condition during times of tied up by connections in the persist condition during times of
resource exhaustion. For example, if we take the case of a busy resource exhaustion. For example, if we take the case of a busy
server where multiple (attacker) clients can advertise a zero window server where multiple (attacker) clients can advertise a zero window
forever (by reliably acknowledging the ZWPs). This could eventually forever (by reliably acknowledging the ZWPs). This could eventually
lead to the resource exhaustion in the server system. In such cases lead to the resource exhaustion in the server system. In such cases
the application or operating system would need to take appropriate the application or operating system would need to take appropriate
action on the TCP connection to reclaim their resources and continue action on the TCP connection to reclaim their resources and continue
to maintain legitimate connections. to maintain legitimate connections.
 End of changes. 6 change blocks. 
9 lines changed or deleted 9 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/