> >And who is to say that the dollar-a-domain name approach won't be applied
> >to be the dollar-per-IP address approach.
>
> What am I missing here? Last I looked, my domain names (gee whiz,
> my total of 2!) each had one IP address -- isn't that the theory of unique
> domain names?
Time for a bit of technical background: ;-)
1) A domain name is merely a structured set of "labels" (i.e.
npax.cavebear.com consists of the labels "npax", "cavebear", "com" and
an implicit one for a root.) Each label can be 63 characters in length
with a maximum of 255 characters for all the labels together
(I can't remeber whether the connecting dots are included in that
overall count.)
A domain name is presented to a resolving server in the form of a
question. That question requests that the server obtain one or more
record types to which the presented domain name is the lookup key.
There are a wide variety of record types. And the IETF is looking into
adding several more -- for things like public key dissemination, for
credit card validation, etc.
The most common records are ones pertaining to IP addresses, reverse IP
address mapping, aliases/canonical names, name servers, and mail
exchangers. But there are lots of other types that are used in day to
day practice.
In the case of npax.cavebear.com my servers will return to you IP
address(es), geographic location, a list of mail exchangers, etc.
Each of responses these may actually be a list of records.
Thus, a single domain name can map into a large suite of distinct
record types and each type may have multiple records (with different
information.)
(Generally your software does the asking for a particular type without
the human knowing what is going on. But when one looks at the
transaction packets, one sees that a domain name query asks for
particular types of records or all types of records that are referenced
by the given domain name key.)
So, the typical domain name can readily map into many IP addresses (and
many instances of many other things as well.)
It's best to think of the Domain Name System as a generalized
distributed service through which one can look up lists of information
of an open-ended variety of types using what we think of as a domain
name as the lookup key.
Just as a given domain name may map into multiple record types or to
multiple A(ddress) records for different IP address, it is also the
case that many different domain names may point to the same IP address.
As a concrete example, I often work with routers that have many dozens
of interfaces. I usually assign a single domain for the entire router
that maps into a list of DNS A records, one for each interface.
I also tend to create distinct domain names, one for each interface's
address.
For convenience I also tend to define alias domain names.
In fact the whole "www.xxx.com." business is simply an extension of the
old practice of assigning <access-protocol>.xxx.com aliases to public
service machines.
My machine npax.cavebear.com is also known as "www.cavebear.com",
"ftp.cavebear.com" and some other names that I'm too lazy to lookup.
2) The 32-bit address field found in IPv4 packets totals to something on
the order of several billion addresses. (For IPv6 the number is on par
with the number of electrons in the universe.)
IP addresses are allocated in a hierarchial fashion, presumably in
accord with the physical topology of the network.
The blocks granted range from several hundred addresses to blocks of
several million addresses. (IBM, AT&T, PSI, UUNET, MCI, etc all have
these large blocks, some have many of them.)
There is presently a significant charge imposed by the three RIRs (the
things that we will hear more about as the Address Supporting
Organization forms.)
Very few of these addresses actually are tied to domain names that one
can actually resolve through the domain name system.
The reasons that ICANN uses to justify taxing domain names apply equally
well to IP addresses. The only difference is that the taxible unit is not
one or two per taxpayer, but usually several hundred to several millions
per taxpayer.
--karl--