Re: [tcpm] draft-ietf-tcpm-tcp-uto-02
Ted Faber <faber@ISI.EDU> Fri, 16 December 2005 21:27 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 1EnN6v-0004ZF-0w; Fri, 16 Dec 2005 16:27:29 -0500
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by megatron.ietf.org with esmtp (Exim 4.32) id 1EnN6r-0004X8-Af for tcpm@megatron.ietf.org; Fri, 16 Dec 2005 16:27:27 -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 QAA20703 for <tcpm@ietf.org>; Fri, 16 Dec 2005 16:26:24 -0500 (EST)
Received: from boreas.isi.edu ([128.9.160.161]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1EnN8W-00014m-47 for tcpm@ietf.org; Fri, 16 Dec 2005 16:29:09 -0500
Received: from hut.isi.edu (hut.isi.edu [128.9.168.160]) by boreas.isi.edu (8.11.6p2+0917/8.11.2) with ESMTP id jBGLQYe02092; Fri, 16 Dec 2005 13:26:34 -0800 (PST)
Received: (from faber@localhost) by hut.isi.edu (8.13.4/8.13.4/Submit) id jBGLQJ3c074429; Fri, 16 Dec 2005 13:26:19 -0800 (PST) (envelope-from faber)
Date: Fri, 16 Dec 2005 13:26:19 -0800
From: Ted Faber <faber@ISI.EDU>
To: Fernando Gont <fernando@gont.com.ar>
Subject: Re: [tcpm] draft-ietf-tcpm-tcp-uto-02
Message-ID: <20051216212619.GB66551@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> <6.2.0.14.0.20051216101920.04459230@localhost>
Mime-Version: 1.0
In-Reply-To: <6.2.0.14.0.20051216101920.04459230@localhost>
User-Agent: Mutt/1.4.2.1i
X-url: http://www.isi.edu/~faber
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: faber@hut.isi.edu
X-Spam-Score: 0.0 (/)
X-Scan-Signature: 6d95a152022472c7d6cdf886a0424dc6
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>
Content-Type: multipart/mixed; boundary="===============1185978879=="
Sender: tcpm-bounces@ietf.org
Errors-To: tcpm-bounces@ietf.org
On Fri, Dec 16, 2005 at 10:32:00AM -0800, Fernando Gont wrote: > 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". Correct is hard to dispute. If TCP behaves properly and the application behaves as I specified, both ends know if the transfer succeeds or fails; that's correct. I think you mean that you find it distasteful. :-) I can't argue with that. > > 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") I understand that you can incorrectly use code an application using TCP. That doesn't mean you can't code an application that uses it correctly. > >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. That's why I identified the transport as TCP, which has this property. The inclusion of that property is intentional. Depending on non-existant properties is certainly a bad design. :-) > I'd not put such a requirement on the underlying transport protocol if I > were to design an application layer protocol. There are good reasons for an engineer not to design an app the way I suggested. I don't think it's particularly clean myself, but I do think it's correct and I do think it's done. And it has the benefit of not having to redesign TCP's state synchronization machinery at the application. > > > >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. Again, I'm not arguing that all applications must be designed the way I layed out. There are certainly applications that can't be. You said that the app must be broken w/o additional application layer processing, which I took to mean that breaking applications w/o that processing by changing UTO semantics was acceptable to you. I presented a single instance of an application that used TCP signalling to signal application level state as a counter example. I just want those sorts of applications taken into account when we discuss UTO changes. That's my whole point. -- Ted Faber http://www.isi.edu/~faber PGP: http://www.isi.edu/~faber/pubkeys.asc Unexpected attachment on this mail? See http://www.isi.edu/~faber/FAQ.html#SIG
_______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Wesley Eddy
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Lars Eggert
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Ted Faber
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Joe Touch
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Gorry Fairhurst
- Re: [tcpm] draft-ietf-tcpm-tcp-uto-02 Fernando Gont