Re: [nbs] [Int-area] New draft related to name-based sockets

Pete McCann <mccap@petoni.org> Thu, 09 December 2010 19:04 UTC

Return-Path: <mccap@petoni.org>
X-Original-To: nbs@core3.amsl.com
Delivered-To: nbs@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 3D0AD28C150; Thu, 9 Dec 2010 11:04:51 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.977
X-Spam-Level:
X-Spam-Status: No, score=-2.977 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9Zls9k0WOQk1; Thu, 9 Dec 2010 11:04:50 -0800 (PST)
Received: from mail-ww0-f44.google.com (mail-ww0-f44.google.com [74.125.82.44]) by core3.amsl.com (Postfix) with ESMTP id DA11328C152; Thu, 9 Dec 2010 11:04:49 -0800 (PST)
Received: by wwa36 with SMTP id 36so2818205wwa.13 for <multiple recipients>; Thu, 09 Dec 2010 11:06:19 -0800 (PST)
MIME-Version: 1.0
Received: by 10.227.133.2 with SMTP id d2mr11088920wbt.92.1291921579080; Thu, 09 Dec 2010 11:06:19 -0800 (PST)
Received: by 10.227.13.136 with HTTP; Thu, 9 Dec 2010 11:06:18 -0800 (PST)
X-Originating-IP: [64.53.131.166]
In-Reply-To: <4D011EF3.8080407@isi.edu>
References: <AANLkTin4-uiFXoS9DaDWtTQartUb6DKEee+B8717odm5@mail.gmail.com> <4CFFFD8D.2000601@isi.edu> <AANLkTi=KG_CL5hQ0k4JQAy6oB=3RV3UWGQxTbYzGmsR3@mail.gmail.com> <72504C2E-CE17-4AE0-ACBC-E6BB4F002267@isi.edu> <AANLkTimmQ-HKJBpoqQCc9t1P=GFPFa8VojPTFh-D8Nay@mail.gmail.com> <4D011EF3.8080407@isi.edu>
Date: Thu, 9 Dec 2010 13:06:18 -0600
Message-ID: <AANLkTi=+PQKxMj4C83A90-DK3V-89ydBR02rR5zvA68L@mail.gmail.com>
From: Pete McCann <mccap@petoni.org>
To: Joe Touch <touch@isi.edu>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Cc: "int-area@ietf.org" <int-area@ietf.org>, "nbs@ietf.org" <nbs@ietf.org>
Subject: Re: [nbs] [Int-area] New draft related to name-based sockets
X-BeenThere: nbs@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Name based sockets discussion list <nbs.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/nbs>, <mailto:nbs-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/nbs>
List-Post: <mailto:nbs@ietf.org>
List-Help: <mailto:nbs-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nbs>, <mailto:nbs-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Dec 2010 19:04:51 -0000

Hi, Joe,

Thanks for the issue list and the pointers to drafts.

I agree that backwards compatibility is an issue, if we are blindly
opening connections to previously unknown peers.  However, in
the pickle packet framework, opening a connection would always
be preceded by a DNS lookup for the TXT record at
_pickle.host.example.com which, if present, would be an indication
that the peer supports the new extensions.  So, I think there is
little danger of running into the issues you cite.

You might say that this is equivalent to defining a new transport,
but I think it's important to keep the protocol number 6 because
that is what today's middleboxes will pass.

-Pete

On Thu, Dec 9, 2010 at 12:24 PM, Joe Touch <touch@isi.edu> wrote:
>
>
> On 12/8/2010 7:43 PM, Pete McCann wrote:
>>
>> Hi, Joe,
>>
>> Thanks - can you elucidate or send a pointer to the issues with
>> putting data in the SYN?  Are you worried that some middleboxes
>> will have problems and drop such packets?
>
> There was a discussion a few years back on this list on various ways to
> extend the space for TCP options, which are most limited in SYNs.
>
> The general problem is backward compatibility; that data cannot be assumed
> to be ignored by endpoints that don't support the option. TCP is required to
> ignore unknown options, and when it does, it would start a connection and
> interpret the options as data.
>
> An additional problem is that many implementations simply discard SYN data,
> to reduce the amount of state until the connection handshake finishes.
>
> I'm speaking most specifically of issues with putting options in the SYN
> data; there are other problems with putting options in the payload data.
>
> Further, since this option can't be rejected by a legacy endpoint per se,
> the initiator needs to then stop the connection after receiving the SYN-ACK.
> Doing so without leaving state on the other end requires a RST, but that has
> other potential problems (RST gets lost, other end resends the SYN-ACK),
> etc.
>
> So the key questions are:
> - can TCP option space be extended without negatively impacting legacy
> implementations, in a way that isn't equivalent to creating a new transport
> anyway?
>
>> I'd be particularly interested if you can point me at some of these
>> prior proposals.
>
> http://tools.ietf.org/html/draft-eddy-tcp-loo-03
>
> http://tools.ietf.org/html/draft-kohler-tcpm-extopt-00
>
> http://tools.ietf.org/html/draft-allman-tcpx2-hack-00
>
> (if there are others, can others post?)
>
> Joe
>