Re: [tcpm] Extending the TCP option space - yet another approach

Joe Touch <touch@isi.edu> Wed, 13 April 2011 00:39 UTC

Return-Path: <touch@isi.edu>
X-Original-To: tcpm@ietfc.amsl.com
Delivered-To: tcpm@ietfc.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfc.amsl.com (Postfix) with ESMTP id 6F126E0720 for <tcpm@ietfc.amsl.com>; Tue, 12 Apr 2011 17:39:55 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.099
X-Spam-Level:
X-Spam-Status: No, score=-103.099 tagged_above=-999 required=5 tests=[AWL=-0.500, BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([208.66.40.236]) by localhost (ietfc.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8TGp00qzfV-2 for <tcpm@ietfc.amsl.com>; Tue, 12 Apr 2011 17:39:54 -0700 (PDT)
Received: from nitro.isi.edu (nitro.isi.edu [128.9.208.207]) by ietfc.amsl.com (Postfix) with ESMTP id 89033E070F for <tcpm@ietf.org>; Tue, 12 Apr 2011 17:39:54 -0700 (PDT)
Received: from [10.133.228.121] (UAPublic-41.guest.arizona.edu [206.207.225.41]) (authenticated bits=0) by nitro.isi.edu (8.13.8/8.13.8) with ESMTP id p3D0dQQV011054 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NOT); Tue, 12 Apr 2011 17:39:36 -0700 (PDT)
Message-ID: <4DA4F0BD.9040901@isi.edu>
Date: Tue, 12 Apr 2011 17:39:25 -0700
From: Joe Touch <touch@isi.edu>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: Wesley Eddy <wes@mti-systems.com>
References: <BANLkTimyeQ5rWMpVKUHGtFACzR__-sgcVg@mail.gmail.com> <0C53DCFB700D144284A584F54711EC580C6C459C@xmb-sjc-21c.amer.cisco.com> <4DA4D6A3.1010706@isi.edu> <4DA4E9C9.60502@mti-systems.com>
In-Reply-To: <4DA4E9C9.60502@mti-systems.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-MailScanner-ID: p3D0dQQV011054
X-ISI-4-69-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: tcpm@ietf.org
Subject: Re: [tcpm] Extending the TCP option space - yet another approach
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.12
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: Wed, 13 Apr 2011 00:39:55 -0000

Hi, Wes,

On 4/12/2011 5:09 PM, Wesley Eddy wrote:
...
>> - extra space is useful only if it exists in the SYN, however; that's
>> where space is at a real premium
>
> I disagree; there's definitely utility beyond just having this
> capability in the SYN, some of this was defined in the LO/SLO draft
> linked to below.

If there is, it's a lot easier to do as a single mod.

...
>> There were several mechanisms, some of which attempted to use data in
>> the SYN (which corrupts the data path if not supported), and even one
>> that suggested just doubling all the TCP header fields (Mark Allman).
>
>
> The ones I recall are:
> - LO/SLO : http://tools.ietf.org/html/draft-eddy-tcp-loo-04
> - DO redefinition : http://tools.ietf.org/html/draft-kohler-tcpm-extopt-00
> - tcpx2 : https://tools.ietf.org/html/draft-allman-tcpx2-hack-00
>
> Andrew's LOIC is interesting, and significantly different than these.

It's a bit of revisiting tcpx2, and just assumes that the endpoint tries 
to start two connections at the same time. That's been suggested before, 
but has problems:

	- how long do you wait to figure out which connection to accept?
	- what happens when either attempt's SYN is lost?

AFAICT, all variants here end up costing either the legacy or the new 
variant excessive delays, and that's not going to fly.

>> Regardless of need or utility, it is simply not possible in the SYN.
>
> The SLO option was an attempt to handle that by sending long options
> that you would have liked to be on the SYN later (i.e. on the ACK
> completing the handshake); in implementation, this meant calling the
> function in the kernel for processing SYN options on a received packet
> even though the packet wasn't a SYN, which was slightly awkward, but
> fairly simple.

This was discussed on this list back in 2004. The key interfering issue 
raised then, AFAICT, was intervening middleboxes that transparently 
rewrite segments.

I'm not sure whether that's still an issue, or whether other issues were 
raised, but let's recall that thread before exploring this as if we 
haven't discussed it before ;-)

>> So basically:
>> - we can trivially add space after a SYN exchange; it that's useful,
>> let's do it
>
> The LO option is one way to handle that:
> http://tools.ietf.org/html/draft-eddy-tcp-loo-04

Sure - but that would need to be factored out as a separate thing if 
deemed useful.

Joe