Re: [EME] Re: transport recovery at the APP layer ?
Yangwoo Ko <newcat@icu.ac.kr> Fri, 17 November 2006 06:43 UTC
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1GkxS6-0005y8-26; Fri, 17 Nov 2006 01:43:54 -0500
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1GkxS5-0005y3-8U for eme@irtf.org; Fri, 17 Nov 2006 01:43:53 -0500
Received: from sniper.icu.ac.kr ([210.107.128.51]) by ietf-mx.ietf.org with smtp (Exim 4.43) id 1GkxS2-0002Sh-Bq for eme@irtf.org; Fri, 17 Nov 2006 01:43:53 -0500
Received: (snipe 2740 invoked by uid 0); 17 Nov 2006 15:45:00 +0900
Received: from newcat@icu.ac.kr with Spamsniper 2.96.00 (Processed in 0.027156 secs);
Received: from unknown (HELO ?192.168.10.132?) (Z???own@210.107.250.150) by unknown with SMTP; 17 Nov 2006 15:45:00 +0900
X-RCPTTO: touch@ISI.EDU, remi.despres@rd-iptech.com, eme@irtf.org
Message-ID: <455D5A15.6050503@icu.ac.kr>
Date: Fri, 17 Nov 2006 15:43:33 +0900
From: Yangwoo Ko <newcat@icu.ac.kr>
User-Agent: Thunderbird 1.5.0.4 (Windows/20060516)
MIME-Version: 1.0
To: Joe Touch <touch@ISI.EDU>
Subject: Re: [EME] Re: transport recovery at the APP layer ?
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: 8bit
X-Spam-Score: 0.0 (/)
X-Scan-Signature: d185fa790257f526fedfd5d01ed9c976
Cc: eme@irtf.org
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
Please pardon my very rude interrupt. Are these on-topic? It is really interesting to re-consider what successful delivery in transport layer means and how much we can be assured by just looking at packets. But, I think that this is useful only when this RG (implicitly or explicitly) decides to make middleboxes do the right things by watching these packets. Regards Joe Touch wrote: > > Rémi Després wrote: >> Joe Touch wrote: >>> Rémi Després wrote: >>> >>>> ... A transport layer acknowledgement (TCP ACK) doesn't mean that the >>>> destination application has seen the data. >>>> >>> It never did. But receiving an ACK to a FIN does. >>> >> However regrettable it may be :'( , it's no true in all cases either. >> If a FIN is received by a TCP stack, it MUST be acked within 0.5 s to >> conform to RFC1122 - 4.2.3.2. >> It MAY be acked long before that. . >> If the application hasn't absorbed all buffered data before the ACK is >> sent, remaining data MAY never be received by the app. > > An ACK is generated - but if there is outstanding data, it will not ACK > the seq num of the FIN. > > The ACK _of the FIN_ means that all subsequent data has been received > correctly (as determined by the TCP checksum, which is not strong) by > the TCP at the other end. > > As per below, there are other steps I should have noted to ensure that > the app has _read_ the data. As you and Paul observe, that may be > semantically insufficient - even if the app reads the data, if you want > to know if the app acted on it (e.g., a bank transaction), knowing that > the item was delivered or even received by the app is insufficient. > >> Since changing all TCP stacks would not be realistic, this fact of life >> has to be faced. > >>>> I guess what is meant by "E2E" should be clarified: transport stack >>>> to transport stack, or app to app? >>>> TCP provides only the former. >>>> What TCP does guarantee is that all received data have been sent, in >>>> the same order and with no intermediate omission. >>>> >>> when the connection closes, the app HAS received the data. >>> >> See above. > > 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. > >>> ... if the TCP >>> connection closes it knows that the other application has received the >>> data. That's no longer true in spliced connections. >>> >> It's NEVER true (see above). > > I've tried to show how this is ensured above. Please indicate where that > is incorrect. I admit I'm not absolutely sure of the mechanistic > details, but a successful close means the application has _read_ the > data you sent (which again may be insufficient). > > > > ------------------------------------------------------------------------ > > _______________________________________________ > EME mailing list > EME@irtf.org > https://www1.ietf.org/mailman/listinfo/eme _______________________________________________ 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