Subject: Re: NATs *ARE* evil!

From: [email-masked] (Sean Doran)
Date: Fri, 22 Dec 2000 15:43:48 +0100 (CET)

Keith Moore writes:

| yeah, I really wish those who are trying to improve network routing
| (an endeavor which I respect in principle) would consider that
| applications really do need stable endpoint identifiers which 
| are globally scoped, exchangable with other applications, and 
| reliably usable from anywhere to reach the process listening 
| to that endpoint.

Understood, and that was probably never a non-goal.

The problem about overloading topology and identity is that it's hard
to think about separating the overloaded meanings from one another.
Worrying that breakage can happen is perfectly understandable from both the
perspective of someone needing to work with the "where" (topology locator)
and someone needing to work with the "who" (identity name), since
in a large, complicated network, the overloading really can be 
a zero-sum game.  A proper separation (or initial non-overloaded design),
however, can satisfy both namespace needs.

Incidentally, the IRTF's NSRG (http://www.irtf.org/charters/namespace.html)
exists to study this problem, and there are a number of interesting ideas
being developed there that will meet your wishes expressed above.

	Sean.

---

From: Keith Moore <[email-masked]>
Date: Fri, 22 Dec 2000 10:22:31 -0500

> to think about separating the overloaded meanings from one another.

this might be in part because there are several different kinds of 
overloading going on.  IP addresses are used as, or as part of: network
topology locations, subnet identifiers, network interface identifiers, 
host identifiers, service identifiers (groups of hosts performing
a common service), and connection endpoint identifiers.  (and I've
probably left out one or two uses).  

to separate them all would impose far too much overhead.  even
to separate "host" related things from "network" related things
imposes significant overhead both in bandwidth and in maintaining
the mappings from one to the other.

> however, can satisfy both namespace needs.

I'm not sure there is such a thing as "proper".  overloading of IP
address to mean both "host" and "network" was a useful optimization
in the days when bandwidth was scarce,  links were slow,  hosts were 
stationary, the network didn't change topology often, and the net was 
small (and thus easier to route).  overloading of IP addresses
is *still* useful because many of the above conditions still exist,
and will continue to exist, for large portions of the network.
At the same time the overloading gets in the way in the (increasing
number of) cases where some of the above conditions are violated. 

IMHO what we need to change is the *implicit* association between
"host" related identifiers and "network topology" related identifiers -
so that coders treat them as separate entities, and provide a way
for the two to be different at the IP layer - while still allowing
the optimization to take place where it makes sense.  then you
only need to maintain the mapping for the case where the identifiers
are different.

I'm still waiting for folks to see this "overloading" as a design compromise
rather than a pure evil.  not overloading at all would be even more evil.
what we need now is a different compromise, rather than a design which
is "proper" according to some idealistic principles.

> being developed there that will meet your wishes expressed above.

as it happens, I'm in the NSRG.  but I also think it's useful to have these
issues aired (briefly) on the wider IETF list.

Keith

---

From: V Guruprasad <[email-masked]>
Date: Fri, 22 Dec 2000 14:26:50 -0500

> I'm still waiting for folks to see this "overloading" as a design compromise

A fundamentally different approach that does achieve this separation
is described in draft-guruprasad-addressless-internet-00.txt.

> rather than a pure evil.  not overloading at all would be even more evil.

You don't have adequate grounds for the second statement unless you can
formally establish that you have considered all *possible* alternative
architectures. In other words, experiences with Nimrod or early-day relative
addressing, or with UUCP, ATM, SNA, etc, cannot be adequate foundation.
That also excludes potential knocking down of my I-D, but you evidently
haven't read it anyway.

> as it happens, I'm in the NSRG.  but I also think it's useful to have these

Especially where we need to be more careful in positing opinions, lest we
prematurely block out good solutions because of such prejudices and shun away
"newbies" proposing them (to borrow from another thread!).

One might recall that astronomers had a similar complexity problem with the
celestial routing of planets at one time, and the solution, taken for granted
today (but not taught in all schools!), contradicted most educated and
carefully conservative opinions.

I submit a more open attitude might be healthier for the Internet and my I-D :-)

-p.

---

From: Keith Moore <[email-masked]>
Date: Fri, 22 Dec 2000 14:54:27 -0500

> is described in draft-guruprasad-addressless-internet-00.txt.

thank you, I think you've advertised this draft quite adequately for the 
time being. I'm quite willing to look at it, but there are numerous 
other drafts that are also on my list.

> architectures. 

I was referring to the set of identifiers I mentioned in my earlier
message, all of which are IP addresses, or contain IP addresses,
in the current Internet architecture.  And no, I don't have to consider 
every possible alternative architecture to conclude that (a) most or all
of these identifiers are necessary, and (b) reserving space for each
one separately, and maintaining all of the mappings between them,
would be onerous.

Keith

---

From: V Guruprasad <[email-masked]>
Date: Fri, 22 Dec 2000 15:21:31 -0500

> time being. I'm quite willing to look at it, but there are numerous 

Thanks! now I will relax and go home :)

> one separately, and maintaining all of the mappings between them,

But before I go:

Condition (b) presumes on possible alternative architectures.

My favourite example is the parallel line axiom - in retrospect,
it was *because* it was an axiom that we ended up having two sets
of alternative geometries, elliptic and hyperbolic, one of which
(Riemannian = elliptic) became the basis of general relativity.

Currently, it looks like (b) is axiomatic, but I already break it,
and I'm sure the younger, smarter generations will think of new
ways we can't begin to imagine.

happy holidays,
-p.