Re: [tcpm] draft-ietf-tcpm-tcp-uto-02

Fernando Gont <fernando@gont.com.ar> Fri, 16 December 2005 19:02 UTC

Received: from localhost.cnri.reston.va.us ([127.0.0.1] helo=megatron.ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EnKq8-0002C5-N6; Fri, 16 Dec 2005 14:02:00 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EnKq4-0002A5-VP for tcpm@megatron.ietf.org; Fri, 16 Dec 2005 14:01:58 -0500
Received: from ietf-mx.ietf.org (ietf-mx [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id OAA01146 for <tcpm@ietf.org>; Fri, 16 Dec 2005 14:00:49 -0500 (EST)
Received: from server.frh.utn.edu.ar ([170.210.17.146] ident=qmailr) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EnKg4-0002Iw-Fd for tcpm@ietf.org; Fri, 16 Dec 2005 13:51:38 -0500
Received: (qmail 28746 invoked from network); 16 Dec 2005 18:49:52 -0000
Received: from ftp.frh.utn.edu.ar (HELO fgont.gont.com.ar) (gont-fernando@170.210.17.150) by server.frh.utn.edu.ar with SMTP; 16 Dec 2005 18:49:52 -0000
Message-Id: <6.2.0.14.0.20051216101920.04459230@localhost>
X-Mailer: QUALCOMM Windows Eudora Version 6.2.0.14
Date: Fri, 16 Dec 2005 10:32:00 -0800
To: Ted Faber <faber@ISI.EDU>
From: Fernando Gont <fernando@gont.com.ar>
Subject: Re: [tcpm] draft-ietf-tcpm-tcp-uto-02
In-Reply-To: <20051214171952.GC20929@hut.isi.edu>
References: <BF9BD734.4234%gorry@erg.abdn.ac.uk> <6.2.0.14.0.20051201035418.0323fc48@localhost> <4390569C.6050004@erg.abdn.ac.uk> <6.2.0.14.0.20051202201002.048b5de8@localhost> <20051208222808.GB22920@hut.isi.edu> <6.2.0.14.0.20051208164304.041ead70@localhost> <20051209182531.GC1177@hut.isi.edu> <6.2.0.14.0.20051209201513.05519d10@localhost> <20051214171952.GC20929@hut.isi.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"; format="flowed"
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 538aad3a3c4f01d8b6a6477ca4248793
Cc: gorry@erg.abdn.ac.uk, Lars Eggert <lars.eggert@netlab.nec.de>, tcpm@ietf.org, "mallman@icir.org" <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>
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org

At 09:19 a.m. 14/12/2005, Ted Faber wrote:

> > The point is that if you;re really concerned about data being delivered,
> > you should be implementing an application layer timeout mechanism.
> > If there's no TCP timeout, it does not mean that the data were delivered.
>
>I understand the difference between a transport ack and acknowledgements
>from higher layers.  Some applications (correctly!) use transport state
>to synchronize application state.

Well, I'm not sure to what extent this is "correct".

For example, if BGP connections were "decoupled" from the underlying TCP 
connection, then we'd not care about reset attacks against TCP, for 
example. (Or, well, at least we'd not be so "scared")



>Consider a file transfer appliaction that opens a TCP connection for
>each file.  The connection is closed when the file is saved to disk.  A
>transmitter knows the file has been delivered correctly if and only if
>the receiver closes its connection correctly.  The receiver knows the
>whole file has been transmitted when the sender closes its side of the
>connection (a receiver never closes its connection before a sender
>does).  Voila, application synchronization using TCP signalling.

This assumes that the underlying transport protocol allows each direction 
of the connection to be closed independently of the other.
I'd not put such a requirement on the underlying transport protocol if I 
were to design an application layer protocol.


>Such an application may well want to use TCP's existing UTO mechanism as
>a timeout.

The timeout may help in some scenarios, but still does not solve the usual 
requirement of the application layer.

If the point of using the TCP timeout is just to avoid waiting forever, 
okay. But, in the more general case of an application wanting to know what 
the result of the last command sent was, you will still need the 
application-layer thing.

Kindest regards,

--
Fernando Gont
e-mail: fernando@gont.com.ar || fgont@acm.org






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