Re: Summary of responses so far and proposal moving forward[WasRe: [tcpm] Is this a problem?]

David Borman <david.borman@windriver.com> Wed, 28 November 2007 16:40 UTC

Return-path: <tcpm-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxPxY-0001Hp-4h; Wed, 28 Nov 2007 11:40:24 -0500
Received: from tcpm by megatron.ietf.org with local (Exim 4.43) id 1IxPxX-0001He-5Y for tcpm-confirm+ok@megatron.ietf.org; Wed, 28 Nov 2007 11:40:23 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IxPxW-0001HS-Qy for tcpm@ietf.org; Wed, 28 Nov 2007 11:40:22 -0500
Received: from mail.windriver.com ([147.11.1.11] helo=mail.wrs.com) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IxPxW-0005Yr-85 for tcpm@ietf.org; Wed, 28 Nov 2007 11:40:22 -0500
Received: from ALA-MAIL03.corp.ad.wrs.com (ala-mail03 [147.11.57.144]) by mail.wrs.com (8.13.6/8.13.6) with ESMTP id lASGeEU9010110; Wed, 28 Nov 2007 08:40:14 -0800 (PST)
Received: from ala-mail06.corp.ad.wrs.com ([147.11.57.147]) by ALA-MAIL03.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 28 Nov 2007 08:40:14 -0800
Received: from [172.25.34.21] ([172.25.34.21]) by ala-mail06.corp.ad.wrs.com with Microsoft SMTPSVC(6.0.3790.1830); Wed, 28 Nov 2007 08:40:14 -0800
Message-Id: <7B02FD5F-2D84-452B-95D4-61F809CD5992@windriver.com>
From: David Borman <david.borman@windriver.com>
To: MURALI BASHYAM <murali_bashyam@yahoo.com>
In-Reply-To: <362265.35986.qm@web31708.mail.mud.yahoo.com>
Content-Type: text/plain; charset="US-ASCII"; format="flowed"; delsp="yes"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (Apple Message framework v915)
Subject: Re: Summary of responses so far and proposal moving forward[WasRe: [tcpm] Is this a problem?]
Date: Wed, 28 Nov 2007 10:40:12 -0600
References: <362265.35986.qm@web31708.mail.mud.yahoo.com>
X-Mailer: Apple Mail (2.915)
X-OriginalArrivalTime: 28 Nov 2007 16:40:14.0196 (UTC) FILETIME=[59AAD340:01C831DD]
X-Spam-Score: -1.0 (-)
X-Scan-Signature: 7aafa0432175920a4b3e118e16c5cb64
Cc: TCP Maintenance and Minor Extensions WG <tcpm@ietf.org>, Joe Touch <touch@isi.edu>, Mark Allman <mallman@icir.org>
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
Errors-To: tcpm-bounces@ietf.org

On Nov 27, 2007, at 5:51 PM, MURALI BASHYAM wrote:

>> Now, it might be that connections that have been in persist state for
>> a long period of time are good candidates for the OS to abort to free
>> up resources.  But doing that has to be a decision of the OS or the
>> application, not of TCP.  TCP can keep track of how long connections
>> are in persist state, so that if the OS or application asks, it can
>> judiciously choose which ones are the best to abort.
>
> Since you going down this path, what's wrong with TCP doing it by  
> itself having
> received go-ahead from the application and/or the administrator of  
> the system?
> Seems as if we are going to extreme lengths and playing with system  
> boundary
> definitions here to avoid making a change where it hurts most (TCP).

Ok.

Don't confuse the protocol design with the implementation.  To  
paraphrase David Clark from many years ago: Strict protocol layering  
is a great way to design a protocol, but a terrible way to implement  
it.  In the RFCs, we are dealing with the protocol design, not the  
implementation, so we need crisp boundaries, and clarity on which side  
of the boundary things are on.  The implementation is free to do as  
much blurring between the boundaries as it wants, as long as what goes  
on the wire is still correct.

RFC 793 and 1122 talk about how to process a *single* TCP stream.   
They do not discuss interaction between TCP multiple streams (because  
from a protocol design standpoint, there shouldn't be any).  When we  
get into the area of resource starvation, we are now talking about how  
multiple TCP streams interact between each other through the use of  
common resources.  Dealing with that is not part of the design of TCP.

If the user timeout on the SEND call is not sufficient for the  
application when dealing with a connection, then we would need a  
proposal to add a new timer to TCP, with a clear description of how  
the application sets the timer, when TCP should clear/restart the  
timer, and what to do when the timer goes off.  That has nothing to do  
resource starvation.  If the timeout on the SEND call would be  
sufficient for the application, but the TCP implementation does not  
provide the ability to set a timer on the SEND call, then that is an  
implementation issue.

If you want to have a higher-level view that goes through and aborts  
connections in persist state when resources are low, perhaps based on  
how long they've been in persist state, that is not part of the TCP  
design.  It might be *implemented* right in the middle of the TCP  
code, but it is not part of the TCP protocol design.

			-David Borman



_______________________________________________
tcpm mailing list
tcpm@ietf.org
https://www1.ietf.org/mailman/listinfo/tcpm