Hostnames
In order for an application to send and receive data with a remote process,
it must have several pieces of information. The first is the IP address of the
system that the remote program is running on. Although this address is internally
represented by a 32-bit number, it is typically expressed in either dot-notation
or by a logical name called a hostname. Like an address in dot-notation, hostnames
are divided into several pieces separated by periods, called domains. Domains
are hierarchical, with the top-level domains defining the type of organization
that network belongs to, with sub-domains further identifying the specific network.
In this figure, the top-level domains are "gov" (government
agencies), "com" (commercial organizations), "edu" (educational
institutions) and "net" (Internet service providers). The fully qualified
domain name is specified by naming the host and each parent sub-domain above
it, separating them with periods. For example, the fully qualified domain name
for the "jupiter" host would be "jupiter.catalyst.com".
In other words, the system "jupiter" is part of the "catalyst"
domain (a company's local network) which in turn is part of the "com"
domain (a domain used by all commercial enterprises).
In order to use a hostname instead of a dot-address to identify
a specific system or network, there must be some correlation between the two.
This is accomplished by one of two means: a local host table or a name server.
A host table is a text file that lists the IP address of a host, followed by
the names that it's known by. Typically this file is named hosts
and is found in the same directory in which the TCP/IP software has been installed.
A name server, on the other hand, is a system (actually, a program running on
a system) which can be presented with a hostname and will return that host's
IP address. This approach is advantageous because the host information for the
entire network is maintained in one centralized location, rather than being
scattered about on every host on the network.