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 20: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 492931A0203 for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 13:17:39 -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 VJd7xlFVmGJZ for <tcpm@ietfa.amsl.com>; Thu, 25 Sep 2014 13:17:37 -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 158511A01D6 for <tcpm@ietf.org>; Thu, 25 Sep 2014 13:17:37 -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 s8PKH8rp025524 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT); Thu, 25 Sep 2014 13:17:08 -0700 (PDT)
Message-ID: <54247844.1050202@isi.edu>
Date: Thu, 25 Sep 2014 13:17:08 -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>
In-Reply-To: <alpine.OSX.2.00.1409252043550.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/T26j0EwJyQDz-yWGHZZJ59YZp9Q
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 20:17:39 -0000


On 9/25/2014 12:21 PM, Andrew Yourtchenko wrote:
...
>>> 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.
...
> OTOH, the SRV record has just priority,weight,port,target-name - there
> is no space for the hint as such. OTOH maybe a new record type that
> could be returned in "additional" field within the reply?

SRV records sometimes define additional parameters in the TXT records.
See here:
www.iana.org/assignments/service-names-port-numbers/

(search for TXT)

...
>> 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)
> 
> It's a tradeoff.
> 
> two-SYN methods stall one of the connections during the transition
> period at initiator's discretion (with maybe using DNS hints or its
> local cache to decide which one to stall and the protocol type to decide
> for how long to stall), *or* cause two SYNs race which is not very nice.
> Assuming the stall delay is X, the session establishment time in the
> worst case is ~(1.5RTT+X)
> 
> 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.

> 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.

> But if the client decides to retransmit the OOB (the worse performing
> case of the, the overall connection establishment time will be
> ~(2.5*RTT+Y). And there'd need to be logic to still fallback to the
> legacy behavior if the (Second, third?) OOB packet gets dropped.

The client need not wait for a RTT to retransmit the OOB; multiple OOBs
have no impact on the server. Clients can send an OOB before and after
the SYN, and if the OOB gets there and is cached it wins; if the OOB
arrives after, the delay is just the arrival delay.

Joe