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 22:56 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 2B6671A00E9 for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 15:56:37 -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 FaaS7CTemSWW for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 15:56:35 -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 C762C1A00D7 for <tcpm@ietf.org>; Thu, 25 Sep 2014 15:56:35 -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 s8PMteVh021263 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 25 Sep 2014 15:55:41 -0700 (PDT)
Message-ID: <54249D6C.9010601@isi.edu>
Date: Thu, 25 Sep 2014 15:55:40 -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>
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> <54244E05.9040009@isi.edu> <alpine.OSX.2.00.1409252043550.69041@ayourtch-mac> <54247844.1050202@isi.edu> <alpine.OSX.2.00.1409260030460.69041@ayourtch-mac>
In-Reply-To: <alpine.OSX.2.00.1409260030460.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/jk2tH72J86rm7SmWZTo7_bRf1MY
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 22:56:37 -0000


On 9/25/2014 3:48 PM, Andrew Yourtchenko wrote:
> On Thu, 25 Sep 2014, Joe Touch wrote:
...
>>> OOB method has a permanent decision to stall the connection if the
>>> upgraded server receives SYN-EOS OOB but no OOB segment (say, it's being
>>> blocked by the middleboxes?), "after a certain time". This time
>>> supposedly should be much shorter than the stall in the two-SYN case,
>>> ideally a function of jitter on the path, let's call it Y.
>>
>> That can be zero if the OOB arrives first or during the processing of
>> the SYN.
> 
> Sure. It's not about reordering. It's about the worst case scenario.
> 
> Best case scenarios "when everything works" both OOB and 2-SYNs are
> ~equivalent, the mild failure cases are nicer with OOB iff Y is smaller
> than X. OOB has the additional advantage of not consuming one more
> connection slot for a short period of time on the middleboxes (and the
> per-flow processing capacity).

Also on legacy servers it opens only one connection.

>>> If the client then proceeds as if the connection was legacy, the session
>>> establishment time is ~(1.5RTT+Y) - so, better than two-SYNs.
>>
>> A legacy client wouldn't wait for the jitter - they would ignore the
>> SYN-EOS flag in the SYN, and wouldn't know to wait. The OOB segment
>> would get silently dropped if/when it arrives.
> 
> We seem to somehow miscommunicate the case description. Sorry, it's late
> here, maybe mea culpa.
> 
> The case under discussion, which is the worst case scenario is: new
> client talking to new server with an evilbox in the middle dropping the
> OOB 100% of the time.

That's one reason why we need to experiment with OOB packets; I don't
know what will happen, except in the case when OOB comes too early
before the SYN through a NAT.

However, dual-SYN has the problem of potentially going to different
servers or through different NATs and of opening multiple connections on
legacy servers (thus impacting service rate).

I wouldn't be surprised if the best path forward were to document each
as a separate experiment and try them both.

Joe