Addressing

Addressing

The Setup

Nimrod narrowed the meaning of addresses back to mean just addressing information (and called them locators) but it still had a globally scoped, hierarchical addressing system. The original Nimrod paper described a bottom up addressing system but confusion about just exactly how to do that led to the BBN Nimrod work assuming a top down hierarchy. It's a lot easier if you allow the leaf nodes of this addressing tree to end up at different levels.

However, bottom up addressing still has some intriguing advantages. For one, it just naturally grows out of the network's physical structure. It starts with the reality of the actual pieces of network hardware rather than trying to work towards that. Noel likes to talk about how you draw a picture of the network components and connections and then start drawing circles around connected things to group them together. The layering of those circles becomes your hierarchy. It makes sense but it runs into difficulties when you try and really do it.

Another big advantage is the possibility of getting rid of a central authority who hands out numbers and the perception of some that being higher in the tree is somehow better. If we don't have to choose the central authority, pay them, and create all the mechanisms by which choosing and paying work and get corrected when they don't work, we've freed a lot of time to devote to more useful pursuits.

A problem with hierarchical addressing, be it top down or bottom up, is renumbering. In any large network, addresses have to change from time to time. Addresses say where you are in the net and over time the network's configuration will change. You move, someone else moves, network links are added or removed; eventually you're at a different place in the network so your address also has to change. In a hierarchical system, the higher up the change the more of the net has to renumber. If the top changes, up to half the net has to follow suit. If the net is large, this overhead is also large.

So is there a way out? I don't know of any other organizing system that can handle growth as well as a hierarchy, that's why we seem to use them everywhere, but what about doing away with addresses altogether?

This idea grew out of the possibilities in the Nimrod work. In Nimrod, you route using maps rather than just addresses. Given maps that have your starting point, your destination, and enough information about what's in between, you pick your route. You need to name each point in that route but that name only has to be unique to the host that's one hop earlier in the route. You need to name your destination but we'd rather use an endpoint name for that anyway, it doesn't have to be an address.

What the heck were addresses for then? Addresses let you get started. Addresses gave you an idea what maps to get so that you could then plot out your route. Essentially, addresses give you a route through the network that follows the addressing hierarchy. That's the key. The way to get rid of addresses is to replace them with routes.

The Proposal

Currently, the DNS translates endpoint names to addresses. Instead, we'll have the Naming System translate endpoint names to routes. The routes are from the name server to the Endpoint. If you were able to get to the name server, obviously you have a route there. You concatenate the routes together have a route to your destination. From there it's just a small matter of optimizing the route.


David Bridgham <dab+nimrodweb@froghouse.org>

last updated: Mon Oct 21 11:27:39 2002 by David Bridgham