Re: [tcpm] New Version Notification for draft-touch-tcpm-tcp-edo-01.txt
John Leslie <john@jlc.net> Sat, 31 May 2014 01:46 UTC
Return-Path: <john@jlc.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 581251A0671 for <tcpm@ietfa.amsl.com>; Fri, 30 May 2014 18:46:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.851
X-Spam-Level:
X-Spam-Status: No, score=-4.851 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.651] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JdTC7lbM5BbH for <tcpm@ietfa.amsl.com>; Fri, 30 May 2014 18:46:20 -0700 (PDT)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id 045D11A02BE for <tcpm@ietf.org>; Fri, 30 May 2014 18:46:20 -0700 (PDT)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 07EC0C94BF; Fri, 30 May 2014 21:46:12 -0400 (EDT)
Date: Fri, 30 May 2014 21:46:12 -0400
From: John Leslie <john@jlc.net>
To: Joe Touch <touch@isi.edu>
Message-ID: <20140531014612.GF23373@verdi>
References: <201405221710.s4MHAY4S002037@bagheera.jungle.bt.co.uk> <537E3ACD.5000308@isi.edu> <1AD79820-22C1-4500-84D1-1383F264D68C@weston.borman.com> <201405231213.s4NCDa5P005525@bagheera.jungle.bt.co.uk> <537F8202.4020907@isi.edu> <201405281715.s4SHFMm0014634@bagheera.jungle.bt.co.uk> <538623B9.2060209@isi.edu> <201405301642.s4UGgcvY030471@bagheera.jungle.bt.co.uk> <5388EB6F.4010405@isi.edu> <5389263C.8010202@isi.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <5389263C.8010202@isi.edu>
User-Agent: Mutt/1.4.1i
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/QtZlSjSTagXMMCUKeHL-n05IyGo
Cc: "tcpm@ietf.org" <tcpm@ietf.org>
Subject: Re: [tcpm] New Version Notification for draft-touch-tcpm-tcp-edo-01.txt
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 31 May 2014 01:46:22 -0000
Joe Touch <touch@isi.edu> wrote: > > Some additional information below about "another trick" I proposed, > inspired by Bob's dual-SYN mechanism, courtesy a few long discussions > today with Ted Faber. This _is- as interesting idea... > I'll be glad to offer this as a potential solution in the doc. I'd _much_ rather this be detailed in a separate document. The edo proposal is reasonably easy to understand, while this contains multiple layers of complexity. I _don't_ claim to understand it all -- if we try to publish this in an RFC, a _lot_ of work will be needed to clarify everything... > On 5/30/2014 1:34 PM, Joe Touch wrote: > ... >> Here's another trick that might clean up the above a little: > > FWIW, I had explained it below as being based on sending out-of-window > data; Ted pointed out that I had been assuming that the FBP ACK bit > wasn't set - which means the sequence number might be more usefully > matched to that of the SYN. I see you now give the "second" packet the same sequence number. I feel a need to describe the FBP more exactly. I'm guessing it's the same port pair (but I very much dislike guessing!). Obviously it's the same IP-address pair (but can we really depend upon middleboxes to translate both packets the same?). I won't venture a guess as to whether it has the SYN bit set (but thanks for saying the ACK bit is clear). Et cetera... > See below... > >> aso - after SYN option This is an option within the Options field of the first SYN, right? > length = 2 (just a flag) > length = 3 (or 4) indicating the length of the > FBP expected What does length==2 tell us about the FBP? >> FBP - front bumper packet (best I could do on names today) >> a packet > ISN = same as the associated SYN > ACK = cleared (i.e., a data packet NOT part of > synchronized connection - see why that's useful below) Does this have SYN set? How does the sender of the FBP learn what the receiver of the FBP took it to mean? (Assuming, of course, it was received at all...) >> new endpoint sends: What's a "new endpoint"? >> SYN + aso + fix_opt >> FBP + aso + extra_opt > > extra_opt in the data field > total length < min MTU (576 for IPv4, 1280 for IPv6) > again ACK bit is zero I get very nervous about using the data field before the handshake is complete. >> legacy endpoint sends back one connections: >> SYN-ACK + fix_opt Presumably the legacy endpoint ignores the FBP... but what happens if only the FBP arrives (the initial SYN being lost or mangled by a middlebox)? >> if seg arrives before SYN, Am I supposed to assume "seg" here means FBP? > it is silently dropped, because > the ACK bit is clear (this is > explicit in RFC793) > > > if seg arrives after SYN, > > it is silently dropped, because > the ACK bit is clear (this is also > explicit in RFC793) >> ---- >> >> new endpoint sends back one connection: >> >> SYN-ACK + options + .... >> >> a) if FBP arrives before SYN, > > it can be silently dropped, but > it's probably useful for new endpoints > to hold onto these (without action) > for a while; they can be silently > discarded if there are too many > (which will just result in a > retransmission and an extra RTT) Your hands are waving... >> b) if FPB arrives with the SYN, they can be >> processed together >> >> the SYN-ACK can include responses to >> the extra_opts in addition to the >> fix_opts, and says "FBP received" How would it say "FBP received"? >> c) if FPB arrives after the SYN: >> >> SYN-ACK proceeds, but sends >> back "wait for option response". How would it send that? >> at this point, the source re-sends FBP >> until an ACK is received that indicates >> "FBP received", or times-out as with >> any connection that doesn't finish TWHS This sounds like the timeout wouldn't be rare -- a middlebox might pretty automatically drop the FBP, depending... >> I'm still thinking as to whether the ACK number >> might indicate whether FBP has been received, That sounds strange... > There are a few ways to handle this, but IMO the best is to have: > > SYN-ACK aso with length=2 means "waiting for FBP" > > SYN-ACK aso with length=3 (or 4) could mean > "got the FBP", or might even indicate how > many bytes the FBP extension contained That's limiting... > Note - the SYN-ACK and all subsequent segments can assume that aso == > edo, i.e., they can use the same EDO as spec'd in version 01 of this draft. Please! No! (Option numbers aren't that scarce.) -- John Leslie <john@jlc.net>
- [tcpm] Fwd: New Version Notification for draft-to… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Pasi Sarolahti
- Re: [tcpm] New Version Notification for draft-tou… Wesley Eddy
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Yoshifumi Nishida
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Scharf, Michael (Michael)
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Olivier Bonaventure
- Re: [tcpm] New Version Notification for draft-tou… Scharf, Michael (Michael)
- Re: [tcpm] New Version Notification for draft-tou… Costin Raiciu
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Wesley Eddy
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Costin Raiciu
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Scheffenegger, Richard
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Wesley Eddy
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… David Borman
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… David Borman
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- [tcpm] timestamp options (was Re: New Version Not… Eggert, Lars
- Re: [tcpm] timestamp options (was Re: New Version… Brian Trammell
- Re: [tcpm] timestamp options (was Re: New Version… Scharf, Michael (Michael)
- Re: [tcpm] timestamp options (was Re: New Version… Scheffenegger, Richard
- Re: [tcpm] timestamp options (was Re: New Version… Scharf, Michael (Michael)
- Re: [tcpm] timestamp options (was Re: New Version… Scheffenegger, Richard
- Re: [tcpm] timestamp options (was Re: New Version… Scharf, Michael (Michael)
- Re: [tcpm] timestamp options (was Re: New Version… Yoshifumi Nishida
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Yoshifumi Nishida
- Re: [tcpm] timestamp options (was Re: New Version… Scheffenegger, Richard
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Christoph Paasch
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… Bob Briscoe
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Olivier Bonaventure
- Re: [tcpm] New Version Notification for draft-tou… Olivier Bonaventure
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… John Leslie
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Olivier Bonaventure
- Re: [tcpm] New Version Notification for draft-tou… Olivier Bonaventure
- [tcpm] More TCP option space on SYNs Bob Briscoe
- Re: [tcpm] More TCP option space on SYNs Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- Re: [tcpm] New Version Notification for draft-tou… Joe Touch
- [tcpm] SYN extension using ACK=0 data packets Bob Briscoe
- Re: [tcpm] SYN extension using ACK=0 data packets Joe Touch
- Re: [tcpm] More TCP option space on SYNs Bob Briscoe
- Re: [tcpm] SYN extension using ACK=0 data packets Bob Briscoe
- Re: [tcpm] timestamp options (was Re: New Version… Yoshifumi Nishida
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Mark Allman
- Re: [tcpm] timestamp options (was Re: New Version… Mark Allman
- Re: [tcpm] timestamp options (was Re: New Version… Scharf, Michael (Michael)
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Scharf, Michael (Michael)
- Re: [tcpm] timestamp options (was Re: New Version… Mark Allman
- Re: [tcpm] timestamp options (was Re: New Version… Mark Allman
- Re: [tcpm] timestamp options (was Re: New Version… Joe Touch
- Re: [tcpm] timestamp options (was Re: New Version… Yoshifumi Nishida
- Re: [tcpm] timestamp options (was Re: New Version… Yuchung Cheng
- Re: [tcpm] timestamp options (was Re: New Version… Mark Allman
- Re: [tcpm] timestamp options (was Re: New Version… Yuchung Cheng
- Re: [tcpm] More TCP option space on SYNs Martin Duke
- Re: [tcpm] More TCP option space on SYNs Joe Touch