Re: [tae] New draft: announcing the supported transports via DNS

Joe Touch <touch@ISI.EDU> Mon, 05 October 2009 13:27 UTC

Return-Path: <touch@ISI.EDU>
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 23FEE28C1CA for <tae@core3.amsl.com>; Mon, 5 Oct 2009 06:27:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.213
X-Spam-Level:
X-Spam-Status: No, score=-1.213 tagged_above=-999 required=5 tests=[AWL=-1.214, BAYES_50=0.001]
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 PHNpB-OPY8sl for <tae@core3.amsl.com>; Mon, 5 Oct 2009 06:27:11 -0700 (PDT)
Received: from vapor.isi.edu (vapor.isi.edu [128.9.64.64]) by core3.amsl.com (Postfix) with ESMTP id 37C0328C1C6 for <tae@ietf.org>; Mon, 5 Oct 2009 06:27:11 -0700 (PDT)
Received: from [192.168.1.47] (pool-71-106-88-10.lsanca.dsl-w.verizon.net [71.106.88.10]) (authenticated bits=0) by vapor.isi.edu (8.13.8/8.13.8) with ESMTP id n95DSOr1020215 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 5 Oct 2009 06:28:26 -0700 (PDT)
Message-ID: <4AC9F478.6080308@isi.edu>
Date: Mon, 05 Oct 2009 06:28:24 -0700
From: Joe Touch <touch@ISI.EDU>
User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
MIME-Version: 1.0
To: ayourtch@cisco.com
References: <Pine.LNX.4.64.0909180057060.5479@zippy.stdio.be> <77F0974F-62CD-411C-96D3-C29E6D872DEA@asomi.com> <Pine.LNX.4.64.0910010305520.3645@zippy.stdio.be> <4AC60448.2050507@isi.edu> <Pine.LNX.4.64.0910050457450.6309@zippy.stdio.be>
In-Reply-To: <Pine.LNX.4.64.0910050457450.6309@zippy.stdio.be>
X-Enigmail-Version: 0.96.0
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
X-ISI-4-43-8-MailScanner: Found to be clean
X-MailScanner-From: touch@isi.edu
Cc: tae@ietf.org
Subject: Re: [tae] New draft: announcing the supported transports via DNS
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/mail-archive/web/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>
X-List-Received-Date: Mon, 05 Oct 2009 13:27:13 -0000

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



Andrew Yourtchenko wrote:
> 
> 
> On Fri, 2 Oct 2009, Joe Touch wrote:
> 
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> Some comments below...
>>
>> Andrew Yourtchenko wrote:
>> ...
>>> Also, if we assume "evil middlebox" in the middle, that decides to drop
>>> this new option, we will have a TCP connection that would not succeed,
>>> so then still there needs to be a fallback to "plain TCP".
>>>
>>> That's one of the rationales of bringing up the use of DNS in lieu of a
>>> in-band selection in general - we would still need to be able to
>>> fallback to probing in the worst case (how frequent is the worst case
>>> would of course need some more investigation).
>>
>> Use of the DNS is problematic on many levels:
>>
>> - - many users have IP addresses they don't control, e.g., assigned by an
>> ISP, and those ISPs don't offer the ability to register services with
>> their DNS
> 
> Use one of the dynamic DNS services. They exist and work well for the
> dynamic addresses. The ISP who assigns the IP has not much to do with
> the forward DNS resolution.

There are numerous applications that use reverse DNS for verification,
e.g., HTTP name-based access, SSL, etc. Users don't have control over
reverse DNS.

>> - - you're involving a third party in a two-party problem
> 
> It's not a two-party problem - at a minimum because the policy/protocol
> support on the nodes inbetween will influence the odds of being able to
> run a new transport.

Endpoints determine the meaning of a protocol. I can format messages
that look like UDP, and have the endpoints parse them as TCP if I want
- -- e.g., by having the endpoints interpret the transport protocol
numbers accordingly. Intermediate points can think they know what's
going on, and either try to help, block, or whatever, but they can be
fooled.

I'm also considering other issues - first-contact delay, fault
tolerance, etc. Involving a DNS node on the other side of the planet in
a shakey ISP might not be in the best interest of the two endpoints of a
connection.

>> - - you still have a bootstrapping problem -- by what transport do you
>> talk to the DNS?
> 
> I already know the addresses of the DNS servers. I know the default
> transport will work. 

Why? Why should DNS have a default transport?

I know my hosts's domain. Hence I can resolve the
> hostnames of my DNS servers. Hence I can lookup the transport record,
> and see if they offer something more, that I could try - keeping in mind
> that it is a suggestion and not an imperative. If it does not work I
> fall back onto using the default transport.

Hmm. So you can try a default to the DNS, and ask *it* for other
suggestions if it supports them.

Why isn't this good enough for the two endpoints as well?

>>     - if you solve that for DNS, why not use that solution at the
>>     endpoint?
>>
> 
> See above. It works, because the lowest common denominator is always
> available. So the DNS can work both for the "upgrade" of the DNS and on
> the endpoints for the suggestions about the new transports.

First, the DNS is not always available or desirable.

Second, if you solve this for the DNS, you can use a similar solution
directly between the endpoints without involving the DNS.

Third, if you force all endpoints to support a default transport to talk
to the DNS, you have a default transport to talk to all other endpoints
anyway.

...
>> It sounds like you've talked yourself out of using the DNS, or mostly
>> so. Is that the case?
> 
> No. What I am saying is that there is a place for both approaches.
> 
> In any case, would be interesting to know what constructive suggestions
> would you have on this topic ?
> 
> TCP option "let's kickstart a negotiation for a different protocol" ?

How about a SYN for a new protocol that has room for negotiating other
transports? (I see no need - or, as importantly, room, for doing this
inside TCP SYN option space).

Joe
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (MingW32)

iEYEARECAAYFAkrJ9HgACgkQE5f5cImnZrvZkgCfcpAWc0DT/uRyvZ/Db51Cn77b
aLcAoO6kLdO8LAPrwynC47OJGIa9siCY
=cKDO
-----END PGP SIGNATURE-----