ietf
[Top] [All Lists]

Re: names, addresses, routes

2003-09-03 15:34:40
On woensdag, sep 3, 2003, at 17:33 Europe/Amsterdam, Dave Crocker wrote:

PN> Well, I consider an *identifier* as something that is more or
PN> less intrisically bound to an identity and a *name* as something
PN> that merely indicates an entity,

I had not run into this distinction before.  Now that you raise the
point, I guess I have been thinking of identifier as an intentionally
fuzzy, general term, with name being a more specific reference.

Funny, I would assume the opposite. I'm sure there are truckloads of people who have the name "John Smith" in their passport (although I have no idea what parents called Smith are thinking when they name their poor offspring John), but unless there is a serious screwup somewhere, each passport uniquely identifies the bearer, traditionally using such distinguishing properties such as date and place of birth, height, hair and eye color and so on. I assume that these days everyone has their country's take on the social security number in there too.

When we translate this to IP, we notice that there are indeed many systems with identical canonical names, but the domain name system comes to the rescue and provides us with a naming hierarchy that makes it possible to turn locally used canonical names into globally unique names. However, it's important to note that an FQDN often isn't the "real" name of that which is referred to, but rather a compromise between the properties that make for good names in the real world and on the net, and, of course, availability of the desired name.

I don't think we have any real identifiers in IP. If there is something you want to identify, it's usually possible to find some handle to do this. A host can be identified by its fully qualified domain name or its attachment to the network, for lack of a property that really identifies a host, if something is even possible. (Think about it: which part constitutes the essence of a host, the part that you can't take away without changing its identity?) But all of this is subject to change.

So we should probably be pragmatic and use existing identifying properties if they are usable, or create new ones where necessary. It seems silly to identify a host by the mathematical property of the contents of a small file on the file system, but it works very well for SSH. The same thing for the highest or lowest IP address that a box has, but BGP and OSPF seem to thrive on it.

FQDNs and IP addresses make more sense but lack a property that is sometimes important: they identify something, but don't don't bring enough information about the nature of what they identify with them. Does a FQDN point to a host or a service? Does an IP address point to a point of attachment or a host? Usually we don't care, but sometimes we do.

Addresses contain information about location -- typically topological
location. (The possibility of geographic location gets bandies about,
sometimes.) Addresses are also globally unique.

Routes give directions about how to reach the entity. Routes are
relative to the starting point.

Everything is relative to a starting point. "Globally unique" just means we agree on the starting point.

PN> In other words, an identifier implies sameness and stability of
PN> the identified entity,

Obviously the stability of the identifier is limited by that of the entity being identified. And an identifier is what you make it.

PN> while a name does not have those connotations to the same extent.

Yes, names can change, but that doesn't disqualify them as identifiers automatically.

PN>  From this point of view, IP addresses are identifiers.

So what do they identify for what purpose?

I have no trouble identifying my webserver by its IP address, which hasn't changed in three years. Not so much with my laptop, as its address changes several times a day.

PN> However, they
PN> are not end-point identifiers but identifiers for topological
PN> locations within the routed network.

In other words, addresses are addresses.

In trying to think about mobility, I have been finding this point
extremely helpful. IP addresses define a point of attachment -- a
network interface -- rather than a host interface, as we are used to
saying.

Do they? What is the point of attachment? The subnet or the individual address? I don't think it can be the latter (within this context) as the interface brings as much to the table as "the network" in this case, in IPv6 at least. (64 bit prefix learned from a router + EUI-64. Guess what the I in EUI stands for, BTW.)

It's worth noting that client-side mobility is a very different problem
from peer-to-peer mobility.  Hence, something like MAST is entirely
adequate when it is only the client that is moving around.  The client
can re-find the server the same way it originally did.

Very good point.