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

Joe Touch <touch@isi.edu> Thu, 25 September 2014 17:17 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 747161A028B for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 10:17:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.386
X-Spam-Level:
X-Spam-Status: No, score=-4.386 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_14=0.6, 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 ExnKUAZt9d7H for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 10:17:54 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 18B3D1A8732 for <tcpm@ietf.org>; Thu, 25 Sep 2014 10:17:45 -0700 (PDT)
Received: from [128.9.160.211] (mul.isi.edu [128.9.160.211]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id s8PHGrJ5028104 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 25 Sep 2014 10:16:53 -0700 (PDT)
Message-ID: <54244E05.9040009@isi.edu>
Date: Thu, 25 Sep 2014 10:16:53 -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: Andrew Yourtchenko <ayourtch@cisco.com>, Bob Briscoe <bob.briscoe@bt.com>
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>
In-Reply-To: <alpine.OSX.2.00.1409251716260.69041@ayourtch-mac>
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/KbCW0sErReXcIGgO_gsQoIdlOfw
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: Thu, 25 Sep 2014 17:17:55 -0000


On 9/25/2014 9:41 AM, Andrew Yourtchenko wrote:
> Bob, Joe, all,
> 
> some comments below, maybe with some obvious questions as I did not
> follow the latest discussions very closely.
> 
> On Thu, 25 Sep 2014, Bob Briscoe wrote:
> 
>> 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.
> 
> Both syn-op-sis and tcp-syn-ext-opt talk about using
> different port pairs 

tcp-syn-ext-opt describes two different approaches:

	SYN-EOS-OOB	uses one port pair, sends only one SYN

	SYN-EOS-DS	uses two port pairs

the DS variant is very similar to the one in syn-op-sis; both are Bob's
suggestion. Mine was SYN-EOS-OOB.

Bob - let me know if its useful to retain SYN-EOS-DS or if you want to
replace it with syn-op-sis.

> - is this due to the explosion with the number of
> possibilities for the three-way handshake recovery ?

Two ports are used only when two SYNs are sent, largely to avoid the
second SYN from affecting the progress of the first that arrives at a
legacy endpoint.

> (Of course the application will anyway see only 1 file descriptor, which
> will assume the identity of the connection that succeeds, right ?)

Yes.

>> 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 fundamental difference between the transition to the extended option
> space and IPv4->IPv6 transition is the absence of the DNS to signal the
> capabilities of the endpoint before the connection even starts - if the
> target host has A&AAAA you only have to deal with the failures on the
> path, while if the target host does not have AAAA record, it's worthless
> to try IPv6.
> 
> OTOH, when attempt to negotiate the extended option space, you do not
> have any hints about the remote end - besides maybe past memory.

You could have similar hints in SRV records, though those are used much
less frequently.

...
> In today's conditions, a simple 300ms headstart for IPv6 if AAAA is
> advertised might be sufficient, as the subpar IPv6 connectivity
> disappears, and more of the corner cases get into play for RTTs.
> 
> So, depending on how much of a drop rate we'd expect for a "new" SYN
> across the variety of network scenarios, the simpler approach of just
> using 300ms delay could be reasonable due to its simplicity - an
> experiment could show.

Sure, but it also has creates delay on either the legacy or upgraded
connection - depending on which SYN is stalled.

That's the advantage of the OOB method - there's no need to insert a
stall on the sending side (an upgraded receiver might cache OOBs that
arrive briefly before SYNs to avoid the need for an additional exchange)

>> The other two in tcp-syn-ext-opt have to be 2-SYN for ever.

They're two segments forever. Only one is two SYNs.

Joe