Re: [tcpm] More TCP option space in a SYN: draft-briscoe-tcpm-syn-op-sis-02
John Leslie <john@jlc.net> Mon, 06 October 2014 00:38 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 CB6D01A01D5 for <tcpm@ietfa.amsl.com>; Sun, 5 Oct 2014 17:38:08 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.772
X-Spam-Level:
X-Spam-Status: No, score=-0.772 tagged_above=-999 required=5 tests=[BAYES_50=0.8, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.786, URIBL_RHS_DOB=1.514] 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 mtnUjibnKHSG for <tcpm@ietfa.amsl.com>; Sun, 5 Oct 2014 17:38:07 -0700 (PDT)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id 9B4EB1A01C6 for <tcpm@ietf.org>; Sun, 5 Oct 2014 17:38:05 -0700 (PDT)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 15521C94BF; Sun, 5 Oct 2014 20:38:01 -0400 (EDT)
Date: Sun, 05 Oct 2014 20:38:01 -0400
From: John Leslie <john@jlc.net>
To: Bob Briscoe <bob.briscoe@bt.com>
Message-ID: <20141006003801.GB72713@verdi>
References: <542344DA.9020905@isi.edu> <201409250956.s8P9uae9013452@bagheera.jungle.bt.co.uk> <alpine.OSX.2.00.1409251716260.69041@ayourtch-mac> <201409251842.s8PIgUdQ015414@bagheera.jungle.bt.co.uk> <alpine.OSX.2.00.1409260049040.69041@ayourtch-mac> <201409260957.s8Q9vmEd018560@bagheera.jungle.bt.co.uk> <20140926145037.GA82183@verdi> <201409261716.s8QHGC7I020142@bagheera.jungle.bt.co.uk> <20140926195338.GH83009@verdi> <201409301554.s8UFsjCl006183@bagheera.jungle.bt.co.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <201409301554.s8UFsjCl006183@bagheera.jungle.bt.co.uk>
User-Agent: Mutt/1.4.1i
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/L1pnQWGJ6XfIV5iSHBP9G8A0O38
Cc: tcpm IETF list <tcpm@ietf.org>
Subject: Re: [tcpm] More TCP option space in a SYN: draft-briscoe-tcpm-syn-op-sis-02
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: Mon, 06 Oct 2014 00:38:08 -0000
Bob Briscoe <bob.briscoe@bt.com> wrote: > > I've got a bit behind in this conversation - I'm on another part of > my job at the mo. So apologies that my response to this old posting > on this thread arrives out of order. I've been over-extended myself this past week. :^( I'm not sure this still deserves a response, but I'd like to cover a few points... > At 20:53 26/09/2014, John Leslie wrote: >> Bob Briscoe <bob.briscoe@bt.com> wrote: >>> At 15:50 26/09/2014, John Leslie wrote: >>>> Bob Briscoe <bob.briscoe@bt.com> wrote: > >>>> For any Experimental-status document, I recommend: >>>>... >>>> - that any acknowledgment of extra option space in an initial SYN >>>> include a checksum or hash of the extra options to ensure that both >>>> ends have the same view of what options have been signaled; >>> >>> Not convinced on this one. Each TCP option has its own way for the >>> 'server' to confirm whether it supports an option requested by the >>> client. >> >> And this one should also have its own way. I see so many things that >> could get in the way that I _strongly_ recommend some checksum/hash. >> >>> And support for the option to extend the option space is confirmed by >>> the server. >> >> One bit of information (support-yes-or-no) just isn't sufficient, >> IMHO. > > I believe you're trying to recover some determinism because of the > non-determinism I've introduced. No. I'm trying to detect an arbitrarily-large class of implementation problems which may pop up. Granted, there's nothing to _do_ about them except recognize that _somebody_ isn't speaking the protocol we specify; but for something this radical, that's important information. :^( > If so, I strongly believe that it's better to lessen the original > non-determinism (e.g. by a larger magic number), rather than to add > more message exchanges. (I don't see any additional "message exchange" here: like any checksum, discarding packets which fail the checksum is the default behavior.) > If both achieve the same higher level of determinism, I'd much rather > use the one that avoids adding more branches to the protocol logic. As I said, that's not my aim. >>> So it seems redundant for the server to feedback yet another >>> confirmation via a checksum of all the extra options requested. >> >> Redundancy is your friend when complexity multiplies. > > I believe the opposite is true. If you provide two different ways to > say the same thing, you create more complexity - to check they are > both saying the same thing. And if they are not, you have to decide > which one not to believe. This makes the spec and the code more complex. This isn't two ways to say the same thing: it's just a sanity check to see if I should trust what you're saying at all. Once implemenations settle down (ROTFL), the checksum will never fail. >... >>>> IMHO, the SYN sender should never use SYN-U unless extra option >>>> space in the SYN is needed; and it's probably better to never use >>>> SYN-U for connections where latency of setup is the over-riding factor. >>>> But YMMV. I wonder whether such overlap is worth the trouble to try >>>> to design into the protocol. > > You're allowed your humble opinion. However, if you analyse the > SYNOPSIS protocol, you will conclude with absolute certainty that the > upgraded SYNOPSIS connection has no latency cost. So if a SYN-U gets > options through middleboxes, I predict it will be used whether or not > the extra space is needed. This issue is partly Overcome-By-Events, since Bob is working on a version of syn-op-sis to cover _every_ packet in a TCP connection. I will wait to read it... >>> In the syn-op-sis spec there is a choice between two variants of the >>> protocol (I recommend the choice can be made by implementers, not the >>> IETF). >> >> This is a dangerous idea. Experimental results get hopelessly cloudy >> when implementations are _fundamentally_ different... > > I've put forward two pairs of variants. For the first pair of > variants, I have asked the IETF to decide between them (so I put the > one I least recommend in an Appendix). I'm not sure we all feel competent to make that choice... :^( > But for the other pair of variants, I realised that the choice of > variants can be left to the implementer, so I put it in the body > (Section 6). (This really does complicate evaluation of the Experiment...) > I didn't come to these conclusions without a lot of thought (whereas > up to draft-01 I hadn't fully thought this through)... > > The only difference in the section 6 variant is the SYN-L. It became > clear to me that this is not a fundamental difference when I realised > that a middlebox could reduce the SYN-L to a SYN and it would turn > the protocol into the other variant. So the rest of the protocol is > identical. > > The reason for allowing either at run-time is that the SYN-L variant > is more likely to be preferred after most servers have been upgraded, > but not at the start of deployment (explained in the Appendix linked below). That sounds like looking too far ahead. During an Experimental period, rather few servers will be updated. >>> The choice I've recommended removes any risk of extra latency >>> on the upgraded connection. I've included a discussion of the >>> tradeoff between them in Appendix B.1: >>> >> <http://tools.ietf.org/html/draft-briscoe-tcpm-syn-op-sis-02#appendix-B.1> Interesting reading... But I'd prefer keeping the Experiment simple. -- John Leslie <john@jlc.net>
- [tcpm] More TCP option space in a SYN: draft-bris… Bob Briscoe
- Re: [tcpm] draft-briscoe-tcpm-syn-op-sis-02 John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Zimmermann, Alexander
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Andrew Yourtchenko
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Andrew Yourtchenko
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Andrew Yourtchenko
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Andrew Yourtchenko
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Andrew Yourtchenko
- Re: [tcpm] More TCP option space in a SYN: draft-… John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Joe Touch
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe
- Re: [tcpm] More TCP option space in a SYN: draft-… Scharf, Michael (Michael)
- Re: [tcpm] More TCP option space in a SYN: draft-… John Leslie
- Re: [tcpm] More TCP option space in a SYN: draft-… Bob Briscoe