[EME] Re: transport recovery at the APP layer ?
Rémi Després <remi.despres@wanadoo.fr> Fri, 17 November 2006 11:24 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gl1pV-0002x0-0I; Fri, 17 Nov 2006 06:24:21 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Gl1pT-0002mY-KX for eme@irtf.org; Fri, 17 Nov 2006 06:24:19 -0500
Received: from smtp20.orange.fr ([80.12.242.27] helo=smtp-msa-out20.orange.fr) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Gl1pS-0000LP-6z for eme@irtf.org; Fri, 17 Nov 2006 06:24:19 -0500
Received: from [127.0.0.1] (APuteaux-152-1-23-6.w82-120.abo.wanadoo.fr [82.120.85.6]) by mwinf2009.orange.fr (SMTP Server) with ESMTP id B1A0B1C000A3; Fri, 17 Nov 2006 12:24:06 +0100 (CET)
X-ME-UUID: 20061117112406727.B1A0B1C000A3@mwinf2009.orange.fr
Message-ID: <455D9BD5.7000900@wanadoo.fr>
Date: Fri, 17 Nov 2006 12:24:05 +0100
From: Rémi Després <remi.despres@wanadoo.fr>
User-Agent: Thunderbird 1.5.0.8 (Windows/20061025)
MIME-Version: 1.0
To: Joe Touch <touch@ISI.EDU>, Yangwoo Ko <newcat@icu.ac.kr>, Paul Francis <francis@cs.cornell.edu>
References: <E6F7A586E0A3F94D921755964F6BE00662575C@EXCHANGE2.cs.cornell.edu> <4559FC5C.1090803@rd-iptech.com> <455A14AA.6010007@isi.edu> <455B3DDC.2060903@rd-iptech.com> <455B4094.1080400@isi.edu> <455B472A.9000303@wanadoo.fr> <455B48BD.5050201@isi.edu> <455B56C9.7080307@rd-iptech.com> <455B6358.4000703@isi.edu> <455C38AC.1090306@rd-iptech.com> <455CDFFF.8000500@isi.edu>
In-Reply-To: <455CDFFF.8000500@isi.edu>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: f4c2cf0bccc868e4cc88dace71fb3f44
Cc: eme@irtf.org
Subject: [EME] Re: transport recovery at the APP layer ?
X-BeenThere: eme@irtf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: end-middle-end research group <eme.irtf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/eme>, <mailto:eme-request@irtf.org?subject=unsubscribe>
List-Archive: <http://www1.ietf.org/pipermail/eme>
List-Post: <mailto:eme@irtf.org>
List-Help: <mailto:eme-request@irtf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/eme>, <mailto:eme-request@irtf.org?subject=subscribe>
Errors-To: eme-bounces@irtf.org
This discussion is IMO indeed relevant here (answer to Yangwoo). The reason is that part of the subject at hand is what middleboxes should do. This does depend on the E2E functions of protocols on which these middleboxes have an action. Among these protocols, TCP has a prominent position, in particular in NAT boxes.. Whether a connection close has to guarantee, or not, delivery to the destination application of the last data sent to it, is IMU a significant E2E aspect of TCP. IMU, requirements on NATs do depend significantly on the answer. I do agree (answer to Paul Francis) that the TCP checksum provides no more than what its simple design permits, and harder protections (e.g. that of SCTP) would be more appropriate for various applications. One way to deal with this could be to add at the transport API some indication of which level of data integrity guarantee is required.. Concerning what the TCP based transport service does, comments below. Joe Touch wrote : > An ACK is generated - but if there is outstanding data, it will not ACK > the seq num of the FIN. > This is not IMU what the TCP spec says.. > When your side registers a CLOSED state, it means that the other side > has issued a CLOSE, which means the app has received all the data. It > may not have acted on it (which would require the app to ACK), but the > app has it. > True. A host that receives a close knows that he has received all data sent to it before the close. But if a host sends a close, its local transport stack receiving a transport layer acknowledgment for the close tells only that a transport stack, somewhere on the way to the application, has seen the close. This is true even if there is no middlebox between the hosts. Consequently, a NAT or even a TCP relay, doesn't change the nature of what applications may expect of the transport layer. NOTE: In practice, for Request-Response protocols, e.g. . HTTP, a simple precaution at the application layer is sufficient to provide the desirable guarantee. The first end to close its transmit direction (active close) must be the one that receives the last response of the dialog. Before doing its active close, this "last receiver" must be sure, at the application layer, that the received response is for its complete request.. Then the other end, the "last transmitter" receiving a close sends a close for the other direction (passive close). This way, the active closer knows that all data it has sent have been received (it received an application anwer for all of them). It also knows also that it received all data sent to it since it received the passive close. RD _______________________________________________ EME mailing list EME@irtf.org https://www1.ietf.org/mailman/listinfo/eme
- [EME] The virtual circuit trap mentioned in the E… Rémi Després
- Re: [Fwd: [EME] The virtual circuit trap mentione… Rémi Després
- RE: [EME] The virtual circuit trap mentioned in t… Paul Francis
- Re: [EME] The virtual circuit trap mentioned in t… Rémi Després
- Re: [EME] The virtual circuit trap mentioned in t… Joe Touch
- Re: [EME] The virtual circuit trap mentioned in t… Scott W Brim
- Re: [EME] The virtual circuit trap mentioned in t… Rémi Després
- RE: [EME] The virtual circuit trap mentioned in t… Paul Francis
- Re: [EME] The virtual circuit trap mentioned in t… Rémi Després
- Re: [EME] The virtual circuit trap mentioned in t… Rémi Després
- Re: [EME] The virtual circuit trap mentioned in t… Rémi Després
- Re: [EME] The virtual circuit trap mentioned in t… Joe Touch
- [EME] transport recovery at the APP layer ? Rémi Després
- [EME] Re: transport recovery at the APP layer ? Joe Touch
- RE: [EME] Re: transport recovery at the APP layer… Henry Sinnreich
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- [EME] Re: transport recovery at the APP layer ? Rémi Després
- RE: [EME] Re: transport recovery at the APP layer… Paul Francis
- Re: [EME] Re: transport recovery at the APP layer… Rémi Després
- RE: [EME] Re: transport recovery at the APP layer… Paul Francis
- [EME] Re: transport recovery at the APP layer ? Joe Touch
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- Re: [EME] Re: transport recovery at the APP layer… Yangwoo Ko
- [EME] Re: transport recovery at the APP layer ? Rémi Després
- Re: [EME] Re: transport recovery at the APP layer… Saikat Guha
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- Re: [EME] Re: transport recovery at the APP layer… Mark Baker
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- Re: [EME] Re: transport recovery at the APP layer… Mark Baker
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- Re: [EME] Re: transport recovery at the APP layer… Mark Baker
- Re: [EME] Re: transport recovery at the APP layer… Saikat Guha
- Re: [EME] Re: transport recovery at the APP layer… Joe Touch
- [EME] Relationship betwen Rémi Després
- [EME] TCP close semantics Rémi Després
- [EME] Re: TCP close semantics Joe Touch
- [EME] Re: TCP close semantics Rémi Després
- Re: [EME] Relationship betwen Lars Eggert