Re: [tae] Transport negotiation

Joe Touch <touch@ISI.EDU> Tue, 25 November 2008 22:44 UTC

Return-Path: <tae-bounces@ietf.org>
X-Original-To: tae-archive@ietf.org
Delivered-To: ietfarch-tae-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E96A128C1D7; Tue, 25 Nov 2008 14:44:01 -0800 (PST)
X-Original-To: tae@core3.amsl.com
Delivered-To: tae@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id AD73928C1D7; Tue, 25 Nov 2008 14:44:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.299
X-Spam-Level:
X-Spam-Status: No, score=-2.299 tagged_above=-999 required=5 tests=[AWL=-0.300, BAYES_00=-2.599, J_CHICKENPOX_23=0.6]
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 8cuBcmzCfcM8; Tue, 25 Nov 2008 14:43:59 -0800 (PST)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id A16843A6887; Tue, 25 Nov 2008 14:43:59 -0800 (PST)
Received: from [75.215.250.191] (191.sub-75-215-250.myvzw.com [75.215.250.191]) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id mAPMhZBI001846 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 25 Nov 2008 14:43:38 -0800 (PST)
Message-ID: <492C7F97.3030000@isi.edu>
Date: Tue, 25 Nov 2008 14:43:35 -0800
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.18 (Windows/20081105)
MIME-Version: 1.0
To: Bryan Ford <baford@mpi-sws.org>
References: <3BB334D8-B00C-48C1-ACBF-4D09576DEADF@mpi-sws.org>
In-Reply-To: <3BB334D8-B00C-48C1-ACBF-4D09576DEADF@mpi-sws.org>
X-Enigmail-Version: 0.95.7
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: tae@ietf.org, tsv-area@ietf.org
Subject: Re: [tae] Transport negotiation
X-BeenThere: tae@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Transport Architecture Evolution <tae.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/tae>, <mailto:tae-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/tae>
List-Post: <mailto:tae@ietf.org>
List-Help: <mailto:tae-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tae>, <mailto:tae-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: tae-bounces@ietf.org
Errors-To: tae-bounces@ietf.org

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1



Bryan Ford wrote:
> Hi Joe,
> 
> I wanted to follow up with you on your comment during my TSVAREA
> presentation, about using DNS as a mechanism for negotiation among
> multiple transports an application may support, since we didn't manage
> to hook up in person afterwards in Minneapolis.  (Note that I'm cc'ing
> this to a couple relevant lists.)
...
> 4. We haven't yet talked about precisely _how_ a DNS-based mechanism
> would handle transport negotiation.  As it turns out, the current DNS
> SRV mechanism of RFC 2872 is precisely wrong for this purpose, because
> it embeds the transport name (e.g., '_tcp' or '_udp') in the name to be
> looked up rather than in the information returned from the DNS lookup. 
> So if the client wants to see if the server supports each of N
> alternative transports, it has to make N separate DNS requests. 

Right. The trick is that there is no such thing as HTTP; it's HTTP over
TCP. What you want is "HTTP by any means"; whether the DNS supports this
is less the issue than the fact that IANA doesn't really define such a
thing.

> Granted, this
> issue could be fixed by defining a new (and incompatible) DNS SRV record
> type that includes only the service in the name and a list of supported
> transports in the (single) response, possibly with a separate (IP
> address or host name, port number) tuple for each - but then we start
> worrying about the effective size limitats of DNS responses...

I'm confused as to how you expect to proceed here. Whether it's an
amorphous SYN or a DNS request, you still need to be able to express
more than a single packet's worth of info, by definition. You talk about
TCP and SCTP, but in reality it's "TCP that supports the options I
require" that matters. I don't see how to negotiate how to negotiate
without starting off with a negotiation - which is what a TCP SYN, e.g., is.

There are several levels of such negotiation that need to happen - IP
version, TCP vs. SCTP vs. UDP etc., the options of the transport, etc.
How do you expect to bootstrap "what transports can you speak" without
some sort of common protocol?

Joe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iEYEARECAAYFAkksf5cACgkQE5f5cImnZrsEMACg5tHJWj2gk7OiebwdPEaKtQvO
RZgAoLkn7zP/oBWiPwndd2ShagqngF4K
=KC+2
-----END PGP SIGNATURE-----
_______________________________________________
tae mailing list
tae@ietf.org
https://www.ietf.org/mailman/listinfo/tae