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

Joe Touch <touch@isi.edu> Fri, 26 September 2014 18:41 UTC

Return-Path: <touch@isi.edu>
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 987391A017F for <tcpm@ietfa.amsl.com>; Fri, 26 Sep 2014 11:41:13 -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 UxBKtnIuDxxV for <tcpm@ietfa.amsl.com>; Fri, 26 Sep 2014 11:41:12 -0700 (PDT)
Received: from boreas.isi.edu (boreas.isi.edu [128.9.160.161]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 0CDD01A007B for <tcpm@ietf.org>; Fri, 26 Sep 2014 11:41:12 -0700 (PDT)
Received: from [10.123.102.67] (usc-secure-wireless-206-067.usc.edu [68.181.206.67]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id s8QIdTWH013156 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Fri, 26 Sep 2014 11:39:38 -0700 (PDT)
Message-ID: <5425B2E1.2090301@isi.edu>
Date: Fri, 26 Sep 2014 11:39:29 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0
MIME-Version: 1.0
To: John Leslie <john@jlc.net>
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> <20140926182914.GG83009@verdi>
In-Reply-To: <20140926182914.GG83009@verdi>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/raZ0l6zOM4Gc7nDo2x_EVHR6FbY
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:41:13 -0000


On 9/26/2014 11:29 AM, John Leslie wrote:
> 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 imposes a goal that will require cycles to resolve, one that serves
no purpose unless the two options converge naturally.

>>> - 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. :^(

If the extension works, then you have the extension place in which to
send option confirmation. The extension itself clearly needs to be
confirmed too - like any other options. I don't see the reason for a hash.

...
>>> - 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.

It depends on the experiment. The ExID is intended for the potential to
use an option in the public that we might not end up keeping.

>>> 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?

I don't think we should declare that SYNs don't have data.

>> SYNs have always been able to include data.
> 
>    Indeed! That by itself complicates things.

But we should allow it.

>> 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.

TCP is a bytestream protocol. Even with the PSH bit, there's no
guarantee of that boundary anyway.

Joe