Re: [tcpm] More TCP option space in a SYN: draft-briscoe-tcpm-syn-op-sis-02

John Leslie <john@jlc.net> Fri, 26 September 2014 18:29 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 14E211A00F3 for <tcpm@ietfa.amsl.com>; Fri, 26 Sep 2014 11:29:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.986
X-Spam-Level:
X-Spam-Status: No, score=-4.986 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, RP_MATCHES_RCVD=-0.786] 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 IQ8HyGtxBCUh for <tcpm@ietfa.amsl.com>; Fri, 26 Sep 2014 11:29:21 -0700 (PDT)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id 1DFAE1A00EF for <tcpm@ietf.org>; Fri, 26 Sep 2014 11:29:21 -0700 (PDT)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 0B15CC94BF; Fri, 26 Sep 2014 14:29:15 -0400 (EDT)
Date: Fri, 26 Sep 2014 14:29:15 -0400
From: John Leslie <john@jlc.net>
To: Joe Touch <touch@isi.edu>
Message-ID: <20140926182914.GG83009@verdi>
References: <201409222045.s8MKjZdD002071@bagheera.jungle.bt.co.uk> <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> <54259727.5090500@isi.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <54259727.5090500@isi.edu>
User-Agent: Mutt/1.4.1i
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/NVbzIilxYsUxFXD7SMZj4G0WOLo
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: Fri, 26 Sep 2014 18:29:23 -0000

Joe Touch <touch@isi.edu> wrote:
> On 9/26/2014 7:50 AM, John Leslie wrote:
> 
>> For any Experimental-status document, I recommend:
>> 
>> - that the various on-the-wire formats be kept as similar as possible;
> 
> I disagree; there's no reason for that.

   "As possible" to be intepreted liberally...

>> - 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;
> 
> Disagree. Options are ACKd by confirming the options - not by merely
> sending an ACK.

   No thanks! _This_ option deserves its own confirmation. We're putting
options in a funny place -- any number of things could go wrong with
that. :^(

   (But, of course, the individual options in the extended option space
should get their own confirmations.)

>> - that any timing questions be specifically explored as part of the
>>   experiment. (This includes _whether_ there should be any overlap
>>   between the experimental SYN and the legacy SYN.)
> 
> Yes.
> 
> > - that an explicit allocation of one (or more, possibly) dedicated
> >   option number be requested from IANA.
> 
> These can and IMO should use the experimental option IDs until we're
> ready to move forward.

   Absolutely. I only meant when we issue a formal Experimental RFC.

>> The question of separating payload data to go to the application
>> from extended TCP options clearly requires action by the SYN receiver.
>> This is fairly simple if the SYN sender can ensure that _none_ of the
>> payload data should go to the application (and thus not use fastopen
>> at all): of course the connection must still be aborted if the SYN
>> receiver doesn't acknowledge separating out the extended options.
> 
> I don't think that's tenable.

   What specifically isn't tenable?

> SYNs have always been able to include data.

   Indeed! That by itself complicates things.

> Fastopen just helps that data get to the user faster.

   Specifically, fastopen (when used) removes the opportunity to abort
before the application sees the payload data.

   With 20/20 hindsight, it's obvious that fastopen would have been
better if it included a byte-count of data to pass to the application
before the three-way-handshake completes.

--
John Leslie <john@jlc.net>