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

Joe Touch <touch@ISI.EDU> Sun, 02 December 2007 17:05 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 1IysFs-0000pZ-0Z; Sun, 02 Dec 2007 12:05:20 -0500
Received: from tcpm by megatron.ietf.org with local (Exim 4.43) id 1IysFq-0000nw-O6 for tcpm-confirm+ok@megatron.ietf.org; Sun, 02 Dec 2007 12:05:18 -0500
Received: from [10.90.34.44] (helo=chiedprmail1.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1IysFq-0000nF-Cv for tcpm@ietf.org; Sun, 02 Dec 2007 12:05:18 -0500
Received: from vapor.isi.edu ([128.9.64.64]) by chiedprmail1.ietf.org with esmtp (Exim 4.43) id 1IysFp-0001P3-TL for tcpm@ietf.org; Sun, 02 Dec 2007 12:05:18 -0500
Received: from [192.168.1.46] (pool-71-106-88-149.lsanca.dsl-w.verizon.net [71.106.88.149]) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id lB2H56tf019221; Sun, 2 Dec 2007 09:05:07 -0800 (PST)
Message-ID: <4752E5A9.3000502@isi.edu>
Date: Sun, 02 Dec 2007 09:04:41 -0800
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: MURALI BASHYAM <murali_bashyam@yahoo.com>
Subject: Re: Summary of responses so far and proposal moving forward[WasRe:[tcpm] Is this a problem?]
References: <442337.83267.qm@web31704.mail.mud.yahoo.com>
In-Reply-To: <442337.83267.qm@web31704.mail.mud.yahoo.com>
X-Enigmail-Version: 0.95.5
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d185fa790257f526fedfd5d01ed9c976
Cc: Anantha Ramaiah <ananth@cisco.com>, TCP Maintenance and Minor Extensions WG <tcpm@ietf.org>, David Borman <david.borman@windriver.com>
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>
Content-Type: multipart/mixed; boundary="===============1488158378=="
Errors-To: tcpm-bounces@ietf.org


MURALI BASHYAM wrote:
...
>>
>> MURALI BASHYAM wrote:
>> ...
>>> The issue here is that TCP cannot inform the application and have the
>>> application initiate the abort, because it is  not necessary that
>>> the application has that connection state around anymore, it
>>> could have been destroyed already, i've alluded to this issue
>>> before.
>> 
>> And I have already shown how to address it - SO_LINGER.
>> 
>> In the case of a Unix close() call, this can be used to cause 
>> close() to block until either the graceful shutdown completes
>> (i.e., all data is sent and ack'd, and the other end closes) OR a
>> timer expires.
>>
>> SO_LINGER already supports a timer for this purpose.
>>
>> Can we please stop trying to add to TCP that which ***ALREADY*** exists
>> in the implementation?
> 
> Turning SO_LINGER on causes the application to pay a penalty in the normal
> scenario, where the close call will block even with a legitimate receiver (or a slow
> network). This is precisely why applications do not use it, it ties up resources 
> unnecessarily, and how about applications that want non-blocking semantics?. High
> performance applications care about non-blocking semantics.

Modern applications programmers are aware of multithreading.

You can either leave the app around watching the connection, or offload
that to a socket library - i.e., a SOCKET timer (note - note a protocol
timer).

> Let's stop recommending to applications how to use the 
> socket layer, we have to approach this in a manner that doesn't question or change
> their socket layer usage model.

But you want to change their protocol interface model instead?

> Application changes should be incremental and not
> disruptive, that's the idea of doing this in the transport layer in the first place.

Applications should have changed long ago. Some definitely need to catch
up. There is no way to handle DOS attacks with legacy applications
written in a legacy manner.

Joe

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