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

Joe Touch <touch@isi.edu> Wed, 24 September 2014 22:26 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 A21F81A1ADD for <tcpm@ietfa.amsl.com>; Wed, 24 Sep 2014 15:26:34 -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 sjJlpIESbBPt for <tcpm@ietfa.amsl.com>; Wed, 24 Sep 2014 15:26:31 -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 36A421A1AC8 for <tcpm@ietf.org>; Wed, 24 Sep 2014 15:26:31 -0700 (PDT)
Received: from [128.9.160.211] (mul.isi.edu [128.9.160.211]) (authenticated bits=0) by boreas.isi.edu (8.13.8/8.13.8) with ESMTP id s8OMPU09003034 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Wed, 24 Sep 2014 15:25:31 -0700 (PDT)
Message-ID: <542344DA.9020905@isi.edu>
Date: Wed, 24 Sep 2014 15:25:30 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.1.1
MIME-Version: 1.0
To: Bob Briscoe <bob.briscoe@bt.com>
References: <201409222045.s8MKjZdD002071@bagheera.jungle.bt.co.uk>
In-Reply-To: <201409222045.s8MKjZdD002071@bagheera.jungle.bt.co.uk>
Content-Type: text/plain; charset="windows-1252"
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/i_toq9EpEdlsyWD01ZK_GbmTsDs
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: Wed, 24 Sep 2014 22:26:34 -0000

Hi, Bob (et al.),

It's good to have a more detailed description of the proposal.

I still find a dual-SYN solution untenable, though, as it has been for
other upgrade paths in the past (e.g., IPv6).

Also, I don't particularly think that putting the options at the end of
the segment serves any useful purpose other than to make this option
handle the option space in a different way than the default DO header field.

I'm glad to hear what others think and agree that an unbiased comparison
of the approaches would be a useful place to for the discussion to start...

Joe

On 9/22/2014 7:55 AM, Bob Briscoe wrote:
> Joe,
> 
> I've just posted a revision here:
> <http://tools.ietf.org/html/draft-briscoe-tcpm-syn-op-sis-02>
> 
> * I've taken more care to explain it. It was a bit terse before. So it's
> ready for the list to review properly now.
> 
> It would be useful if someone wrote a comparison with the other ideas on
> how to do this, including the ones we wrote jointly and SLO, LOIC and
> DBormam's 4-way HS. Better someone independent of all the authors does
> this. But I want to get syn-op-sis right first, a comparison won't be
> much use until its stable.
> 
> 
> The underlying idea is still the same. The reasons I've updated it are
> many (the change log taken from the appendix is pasted at the end of
> this email for convenience).
> 
> * Mainly I've articulated that all these approaches that add TCP options
> after the Data Offset are not just hacks to get more space; they add a
> new architectural capability to TCP - a distinction between TCP options
> that might be relevant to middleboxes, and ones that are only for the
> destination (a bit like destopt in IPv6 - needing to specify which TCP
> options are for the destination only is ironic but necessary).
> 
> * I've also realised that this approach will ultimately return to a
> single SYN solution, whereas both the ideas in
> draft-touch-tcpm-tcp-syn-ext-opt will always require two SYNs.
> 
> 
> 
> Bob
> 
> Pasted from the change log:
> 
>    From briscoe...-01 to briscoe...-02:
> 
>       Technical changes:
> 
>       *  Defined the client behaviour dependent on which response
>          arrives first.
> 
>       *  Allowed retransmission of either SYN or SYN-U if no response
>          from either.
> 
>       *  Redefined EOO as an offset from the end of the packet, not from
>          the beginning of the payload.
> 
>       *  Added section on Migration to a Single Handshake.  Reworded
>          dual handshake so that it is not mandatory for the client to
>          send dual SYNs simultaneously; only the relation between the
>          SYNs and the response to either is mandatory, while parallel
>          SYNs is purely for latency reduction.
> 
>       *  Added rules for writing TCP options, i.e. i) options like TFO
>          MUST NOT be located in the TCP header and ii) add no-ops to
>          align on 4-octet boundary.
> 
>       *  Added rules for forwarding TCP options, i.e. only the
>          destination looks for TCP options after the Data Offset, not
>          middleboxes.
> 
>       *  Moved the Explicit Handshake variant (SYN-L) into the body from
>          the appendix, and recommended the choice could be down to
>          implementers or apps.  Included section on corner cases.
> 
>       *  Introduced more normative language throughout the Protocol
>          Spec.
> 
>       Editorial changes:
> 
>       *  Added temporary motivation section
> 
>       *  Added confusible terminology to Terminology section.
> 
>       *  Divided protocol spec into sub-sections.
> 
>       *  Handshake table: Clarified that the two columns under each
>          server represent separate threads, that may run on separate
>          servers, without co-ordination.  Represented message
>          dependencies in the alignment of the rows.
> 
>       *  Explained the table.
> 
>       *  Explained why a legacy server won't ever pass SYN-U to the app.
> 
>       *  More precisely described loss as 'not arrived before a
>          timeout', and explained the tradeoff between latency and extra
>          TCP options.
> 
>       *  Gave reasoning for locating TCP options in three groups.
> 
>       *  Acknowledged Rob Hancock for the architectural idea of hiding
>          an extension to a protocol in the layer above.
> 
>       *  Appendix about protocol alternatives now only presents the SYN-
>          UD alternative, given the implicit/explicit handshake choice
>          has been moved to the body.
> 
>       *  Rewrote appendix about comparing the choices to treat the two
>          pairs of choices separately, rather than discussing all four
>          combinations of pairs of choices.
> 
> ________________________________________________________________
> Bob Briscoe,                                                  BT