Re: [tcpm] More TCP option space in a SYN: draft-briscoe-tcpm-syn-op-sis-02
John Leslie <john@jlc.net> Mon, 29 September 2014 16:58 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 0646F1A88B1 for <tcpm@ietfa.amsl.com>; Mon, 29 Sep 2014 09:58:44 -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 3Zp7uj31X0SB for <tcpm@ietfa.amsl.com>; Mon, 29 Sep 2014 09:58:42 -0700 (PDT)
Received: from mailhost.jlc.net (mailhost.jlc.net [199.201.159.4]) by ietfa.amsl.com (Postfix) with ESMTP id 0F47A1A883A for <tcpm@ietf.org>; Mon, 29 Sep 2014 09:58:42 -0700 (PDT)
Received: by mailhost.jlc.net (Postfix, from userid 104) id 5FE2EC94C0; Mon, 29 Sep 2014 12:58:39 -0400 (EDT)
Date: Mon, 29 Sep 2014 12:58:39 -0400
From: John Leslie <john@jlc.net>
To: Joe Touch <touch@isi.edu>
Message-ID: <20140929165839.GJ83009@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> <542979DC.7090601@isi.edu>
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <542979DC.7090601@isi.edu>
User-Agent: Mutt/1.4.1i
Archived-At: http://mailarchive.ietf.org/arch/msg/tcpm/oh-gbXU6UF1wG6XB62PPFotdzPg
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, 29 Sep 2014 16:58:44 -0000
Joe Touch <touch@isi.edu> wrote: > On 9/26/2014 12:53 PM, John Leslie wrote: >> Bob Briscoe <bob.briscoe@bt.com> wrote: >>> " If an upgraded TCP client includes the TCP Fast Open option >>> " [I-D.ietf-tcpm-fastopen] in the SYN, it MUST be placed with the extra >>> " TCP options after the end of the payload. >> >> Indeed, that is a good way to ensure that the SYN receiver is aware >> of the sender's intent to place something _after_ the data intended to >> be passed to the application. > > I'd like to understand the logic behind this claim. Good! > Regardless of where signalling information is placed: > > - legacy servers will (irrevocably) accept it as > application data; the only way to undo it is to > terminate the connection* > > - upgraded servers will know where to find it > > Except to make parsing more complex, what is the perceived benefit of > using trailer-based signalling? Bob, I believe, thinks he can outwit meddleboxes. I'll let him make that case. Myself, I see it a a way to coexist with things to come. Joe, I suspect, is thinking how to do this in hardware. Indeed, to a middlebox, harder-to-find translates to "expensive", possibly prohibitively expensive. To an actual endpoint, the expense is bearable -- if you need to act on both anyway, it's a toss-up... But myself, I think in terms of how to coexist with future things like FastOpen. I believe we've got a better shot at ensuring that nothing _follows_ our extended options than ensuring that nothing precedes them. Repeating Bob's words: > >>> " If an upgraded TCP client includes the TCP Fast Open option >>> " [I-D.ietf-tcpm-fastopen] in the SYN, it MUST be placed with the extra >>> " TCP options after the end of the payload. and recalling that extended options _can't_ be parsed until the inital TCP option invoking extended options is parsed, we see that the receiving endpoint _must_ know about the overlap of extended-options and fast-open. That brings us to the tussle of whether either _must_ play with the data the other wants to add. To me, the simplest case is that fast-open does its job first (hopefully someday to include a byte-count), while extended-options comes along and puts its data after fast-open's data (and anything else which may come along), trusting the receiver to remove it from anything to be passed to the application. I am convinced we will see cases where both fast-open and extended- options need to be used. While this tussle could go either way, I prefer to place the complexity in extended-options. > *- TCP-FO is particularly dangerous when coupled with dual-SYN (DS) > variants when the connection uses a cookie from a previous connection; > non-DS FO servers can't prevent passing invalid data to the application > by terminating the connection when the SYN-ACK is received by the client. I had to read this twice to get Joe's point. :^( Dual-SYN solutions would be expected to place fast-open in both SYNs, probably with the same cookie. In the legacy case, nothing can prevent the payload being passed to the application long before the sender becomes aware of the state of the other SYN. This probably deserves mention in any dual-SYN proposal. (Obviously, if the legacy SYN is postponed long enough, this ceases to be a problem; but by then you've lost most of the latency advantage.) -- 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