Re: Thinking differently about the site local problem (was: RE: site local addresses (was Re: Fw: Welcome to the InterNAT...))

Keith Moore <moore@cs.utk.edu> Tue, 01 April 2003 16:29 UTC

Received: from ran.ietf.org (ran.ietf.org [10.27.6.60]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA26838; Tue, 1 Apr 2003 11:29:01 -0500 (EST)
Received: from majordomo by ran.ietf.org with local (Exim 4.10) id 190OpQ-00032S-00 for ietf-list@ran.ietf.org; Tue, 01 Apr 2003 11:41:40 -0500
Received: from odin.ietf.org ([10.27.2.28] helo=ietf.org) by ran.ietf.org with esmtp (Exim 4.10) id 190OoD-0002rP-00 for ietf@ran.ietf.org; Tue, 01 Apr 2003 11:40:25 -0500
Received: from astro.cs.utk.edu (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA26057 for <ietf@ietf.org>; Tue, 1 Apr 2003 11:23:47 -0500 (EST)
Received: from astro.cs.utk.edu (localhost [127.0.0.1]) by astro.cs.utk.edu (cf 8.9.3) with SMTP id h31GQCA17960; Tue, 1 Apr 2003 11:26:13 -0500 (EST)
Date: Tue, 01 Apr 2003 11:26:12 -0500
From: Keith Moore <moore@cs.utk.edu>
To: "J. Noel Chiappa" <jnc@ginger.lcs.mit.edu>
Cc: moore@cs.utk.edu, ietf@ietf.org, jnc@ginger.lcs.mit.edu
Subject: Re: Thinking differently about the site local problem (was: RE: site local addresses (was Re: Fw: Welcome to the InterNAT...))
Message-Id: <20030401112612.052a0c4d.moore@cs.utk.edu>
In-Reply-To: <200303312223.h2VMN9GY029072@ginger.lcs.mit.edu>
References: <200303312223.h2VMN9GY029072@ginger.lcs.mit.edu>
X-Mailer: Sylpheed version 0.8.9 (GTK+ 1.2.10; i386--netbsdelf)
Mime-Version: 1.0
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Sender: owner-ietf@ietf.org
Precedence: bulk
Content-Transfer-Encoding: 7bit

>     > actually it's bad to force all apps to use DNS names - which are
>     > often less reliable, slower, less correct, and more ambiguous
>     > than IP addresses.
> 
> This is like saying it's bad to force people to use
> cars/busses/whatever because they occasionally break, and everyone
> should walk everytime they need to go anywhere, because that's more
> reliable.

Nope.  Forcing apps to use DNS names is like telling people that they
must always give taxi drivers the names of the places where they want
to go, rather than the addresses of those places, and that those people
shouldn't mind when the taxi drivers take them to the wrong places, or
run up fares and delays looking for those places.

> We have multiple namespaces, each with different characteristics for
> the names, for very good reasons. If we really need a name with
> characteristic A, and we instead wind up using one with characteristic
> ~A "because it's more reliable", then that's not good.

Indeed, but let's look at this more closely.  We essentially have two
name spaces of concern here: DNS and IP.  DNS is slow, imprecise, not
terribly reliable, not always available, not always in sync with
reality. IP is fast, precise, reliable, but tied to location, which is
often the wrong thing in theory and occasionally the wrong thing in
practice. I suspect we agree that neither one is well-adapted for naming
connection endpoints, and that in an ideal world there would be a
separate namespace for this that provided fast, precise, reliable,
secure indirection that was not tied to location(assuming, of course,
that the cost of maintaining a separate name space and the extra mapping
layers would be justified by the additional utility - something that has
not been demonstrated).  But Tony's argument is that we should *always*
use DNS instead of IP even when IP works better for our purposes -
merely in order to preserve a dubious feature of IPv6.

> If we have a need for a name, and the optimal characteristics for that
> name are those of an address (i.e. the topological location of an
> interface to the network), then fine, use an address. If not, don't.
>
> If the system for mapping from one namespace to another has problems,
> we ought to fix it, not say "oh, we'll just stop using it".
>
> Don't try and make everything into a nail because the hammer is the
> most reliable tool you have.

That applies equally to DNS and IP.  Just because IP is not ideal for
some purpose does not mean that DNS is the right tool for the job, or
that it's appropriate or even feasible to "fix" it for that job. 
And based on consideration of various factors, I'm firmly convinced that
endpoint identifers should look like IP addresses instead of DNS names.