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

Lloyd Wood <> Tue, 27 November 2007 11:30 UTC

Return-path: <>
Received: from [] ( by with esmtp (Exim 4.43) id 1Iwye2-00041I-HY; Tue, 27 Nov 2007 06:30:26 -0500
Received: from tcpm by with local (Exim 4.43) id 1Iwye0-00041B-Qy for; Tue, 27 Nov 2007 06:30:25 -0500
Received: from [] ( by with esmtp (Exim 4.43) id 1Iwydv-0003s4-95 for; Tue, 27 Nov 2007 06:30:19 -0500
Received: from ([]) by with esmtp (Exim 4.43) id 1Iwydr-0002ma-Q1 for; Tue, 27 Nov 2007 06:30:19 -0500
X-IronPort-AV: E=Sophos;i="4.23,219,1194217200"; d="scan'208";a="158876090"
Received: from ([]) by with ESMTP; 27 Nov 2007 12:30:13 +0100
Received: from ( []) by (8.12.11/8.12.11) with ESMTP id lARBUCs0003127; Tue, 27 Nov 2007 12:30:12 +0100
Received: from ( []) by (8.12.10/8.12.6) with ESMTP id lARBUBZZ015330; Tue, 27 Nov 2007 11:30:11 GMT
Received: from ( []) by (8.8.8-Cisco List Logging/8.8.8) with ESMTP id LAA11778; Tue, 27 Nov 2007 11:30:09 GMT
Message-Id: <>
X-Mailer: QUALCOMM Windows Eudora Version
Date: Tue, 27 Nov 2007 11:30:06 +0000
To: Joe Touch <touch@ISI.EDU>
From: Lloyd Wood <>
Subject: Re: Summary of responses so far and proposal moving forward[WasRe: [tcpm] Is this a problem?]
In-Reply-To: <>
References: <> <> <> <>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Authentication-Results: ams-dkim-2;; dkim=neutral
X-Spam-Score: -4.0 (----)
X-Scan-Signature: e8a67952aa972b528dd04570d58ad8fe
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <>
List-Unsubscribe: <>, <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>

At Monday 26/11/2007 19:46 -0800, Joe Touch wrote:
>Lloyd Wood wrote:
>> At Monday 26/11/2007 08:58 -0800, Joe Touch wrote:
>>> I see an OS that has to decide how to allocate resources:
>>>        a- leave them with existing apps and prohibit new ones
>>>        b- terminate existing apps to make room for new ones
>>> I expect that a reasonable, modern OS would do (a).
>> That presumes that all TCP connections are long-lived. It permits a
>> few long-lived connections to tie up resources that could service
>> short-lived connections.
>> (http, beep, xml-rpc and other short-lived transactions over TCP
>> weren't invented when RFC1122 was written.) 
>It presumes only that a connection shouldn't be terminated to make room
>for new ones. It says nothing about the duration of the connection.

well, obviously. that's because all connections were presumed to be long-lived.

>1122 says that connections that are active - i.e., actively exchanging
>packets - MUST NOT be terminated. 

If only it said connections actively exchanging data...

>Connections are terminated only when
>applications indicate, OR when the endpoints cannot communicate.
>If you start "robbing Peter to pay Paul" - i.e., killing some
>connections to make room for others - you end up with a very unreliable
>kind of TCP. One where connections just disappear.

I'd argue we have that unreliable TCP already - e.g. varying # of SYNs repeated to ensure a connection is opened on different OSs, with different application behaviour as a result. Your connection just disappeared because the SYN and the sole repeat Windows sends were lost? Hit reload in your web browser! (How applications handle end-to-end reliability across TCP is a separate problem, but the end-to-end argument suggests that TCP can be unreliable - it's not the highest level.)

>Modern OS's don't kill apps to make room for new ones (presuming they're
>static in resource use). This is the connection equivalant.

What's the connection equivalent of swapping an unused app out to virtual memory and forgetting about it?


>I agree that having the OS - who is SOLELY in view of shared resources -
>informing the application when resources are critical, and applications
>being designed to decide which connections to keep and which to drop
>based on *knowlege about the connections they alone possess*.
>However, once a connection is opened, I don't agree that it's the OS's
>perogative to kill it for any reason, any more than it would kill a
>process that isn't running away. Holding resources already granted is
>how current app/OS interfaces work; revocation isn't normal.
>Yes, this means that *applications* can be DOS attacked, and they need
>to be written to react accordingly.

tcpm mailing list