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

"Zimmermann, Alexander" <Alexander.Zimmermann@netapp.com> Thu, 25 September 2014 15:14 UTC

Return-Path: <Alexander.Zimmermann@netapp.com>
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 94FF71A6FFC for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 08:14:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.688
X-Spam-Level:
X-Spam-Status: No, score=-7.688 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.786, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] 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 DDpj5ucaBkaW for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 08:14:55 -0700 (PDT)
Received: from mx11.netapp.com (mx11.netapp.com [216.240.18.76]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 29C651A6FFB for <tcpm@ietf.org>; Thu, 25 Sep 2014 08:14:55 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="5.04,597,1406617200"; d="asc'?scan'208";a="155553449"
Received: from hioexcmbx04-prd.hq.netapp.com ([10.122.105.37]) by mx11-out.netapp.com with ESMTP; 25 Sep 2014 08:14:55 -0700
Received: from HIOEXCMBX06-PRD.hq.netapp.com (10.122.105.39) by hioexcmbx04-prd.hq.netapp.com (10.122.105.37) with Microsoft SMTP Server (TLS) id 15.0.913.22; Thu, 25 Sep 2014 08:13:47 -0700
Received: from HIOEXCMBX06-PRD.hq.netapp.com ([::1]) by hioexcmbx06-prd.hq.netapp.com ([fe80::20d9:8f0e:9660:40ad%21]) with mapi id 15.00.0913.011; Thu, 25 Sep 2014 08:13:47 -0700
From: "Zimmermann, Alexander" <Alexander.Zimmermann@netapp.com>
To: Bob Briscoe <bob.briscoe@bt.com>
Thread-Topic: [tcpm] More TCP option space in a SYN: draft-briscoe-tcpm-syn-op-sis-02
Thread-Index: AQHP2EaESdm1As8t2kS65+j3HwAI4JwSEseAgABY4oA=
Date: Thu, 25 Sep 2014 15:13:46 +0000
Message-ID: <BBC3AC96-CB06-4448-A4D5-70EDEEDD1A99@netapp.com>
References: <201409222045.s8MKjZdD002071@bagheera.jungle.bt.co.uk> <542344DA.9020905@isi.edu> <201409250956.s8P9uae9013452@bagheera.jungle.bt.co.uk>
In-Reply-To: <201409250956.s8P9uae9013452@bagheera.jungle.bt.co.uk>
Accept-Language: de-DE, en-US
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-mailer: Apple Mail (2.1878.6)
x-originating-ip: [10.122.56.79]
Content-Type: multipart/signed; boundary="Apple-Mail=_2C23F7FB-4C50-4B9E-9B8B-FF46ECC1B462"; protocol="application/pgp-signature"; micalg="pgp-sha1"
MIME-Version: 1.0
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/4cxJMhApQ6tRkjqfb491XMcLeIU
Cc: tcpm IETF list <tcpm@ietf.org>, Joe Touch <touch@isi.edu>
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: Thu, 25 Sep 2014 15:14:57 -0000

Bob,

Am 25.09.2014 um 05:56 schrieb Bob Briscoe <bob.briscoe@bt.com>:

> Joe,
> 
> At 23:25 24/09/2014, Joe Touch wrote:
>> 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).
> 
> That's why I prefer syn-op-sis because it only uses 2 SYNs for transition.
> 
> I've included a new section on ways to use only 1 SYN during transition (building a white-list) and ultimately moving to 1 SYN in the future, only falling back to the legacy SYN in series rather than parallel if you hit a legacy listener.
> 
> The other two in tcp-syn-ext-opt have to be 2-SYN for ever.
> 
>> 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.
> 
> That's the architectural point.
> There's also a tactical point. It should get through every middle box.

but do we have not exactly the same problem w/ TCPinc. With TCPinc we have
the problem too that a middle box doesn’t see any understandable after the
legacy TCP header (e.g. no HTTP header after TCP port 80). So, why it’s
acceptable for TCPinc but not for extending SYN option space? BTW any
tcpdump user will love to have the options in front of a segment and not
at the end ;-)

Alex

> 
>> 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...
> 
> Yes, I'm already repeating myself - you're right we need wider opinions.
> 
> 
> 
> Bob
> 
> 
>> 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
> 
> ________________________________________________________________
> Bob Briscoe,                                                  BT 
> _______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm