old-www/LDP/nag/node35.html

76 lines
3.6 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<!--Converted with LaTeX2HTML 96.1-c (Feb 29, 1996) by Nikos Drakos (nikos@cbl.leeds.ac.uk), CBLU, University of Leeds -->
<HTML>
<HEAD>
<TITLE>Hostname Resolution</TITLE>
</HEAD>
<BODY LANG="EN">
<A HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <BR>
<B> Next:</B> <A HREF="node36.html">Enter DNS</A>
<B>Up:</B> <A HREF="node34.html">The Domain Name System</A>
<B> Previous:</B> <A HREF="node34.html">The Domain Name System</A>
<BR> <P>
<H2><A NAME="SECTION004610000">Hostname Resolution</A></H2>
<A NAME="tcpipdnsresolv"></A>
<A NAME="1240"></A>
<A NAME="1241"></A>
<A NAME="1242"></A>
As described above, addressing in TCP/IP networking revolves around
32-bit numbers. However, you will have a hard time remembering more than
a few of these. Therefore, hosts are generally known by ``ordinary''
names such as gauss or strange. It is then the
application's duty to find the IP-address corresponding to this name.
This process is called <em>host name resolution</em>.
<P>
An application that wants to find the IP-address of a given host name
does not have to provide its own routines for looking up a hosts and
IP-addresses. Instead, it relies on number of library functions that do
this transparently, called gethostbyname(3) and
gethostbyaddr(3). Traditionally, these and a number of related
procedures were grouped in a separate library called the resolver
library; on , these are part of the standard libc.
Colloquially, this collection of functions are therefore referred to as
``the resolver''.
<P>
Now, on a small network like an Ethernet, or even a cluster of them, it
is not very difficult to maintain tables mapping host names to
addresses. This information is usually kept in a file named
/etc/hosts. When adding or removing hosts, or reassigning
addresses, all you have to do is update the hosts on all hosts.
Quite obviously, this will become burdensome with networks than comprise
more than a handful of machines.
<P>
One solution to this problem is NIS, the <em>Network Information
System</em> developed by Sun Microsystems, colloquially called YP, or
<em>Yellow Pages</em>. NIS stores the hosts file (and other
information) in a database on a master host, from which clients may
retrieve it as needed. Still, this approach is only suitable for
medium-sized networks such as LANs, because it involves maintaining
the entire hosts database centrally, and distributing it to all
servers.
<P>
On the Internet, address information was initially stored in a single
HOSTS.TXT database, too. This file was maintained at the Network
Information Center, or NIC, and had to be downloaded and installed by
all participating sites. When the network grew, several problems with
this scheme arose. Beside the administrative overhead involved in
installing HOSTS.TXT regularly, the load on the servers that
distributed it became too high. Even more severe was the problem that
all names had to be registered with the NIC, which had to make sure that
no name was issued twice.
<P>
This is why, in 1984, a new name resolution scheme has been adopted,
the <em>Domain Name System</em>. DNS was designed by Paul Mockapetris,
and addresses both problems simultaneously.
<P>
<HR><A HREF="node1.html"><IMG WIDTH=65 HEIGHT=24 ALIGN=BOTTOM ALT="contents" SRC="contents_motif.gif"></A> <BR>
<B> Next:</B> <A HREF="node36.html">Enter DNS</A>
<B>Up:</B> <A HREF="node34.html">The Domain Name System</A>
<B> Previous:</B> <A HREF="node34.html">The Domain Name System</A>
<P><ADDRESS>
<I>Andrew Anderson <BR>
Thu Mar 7 23:22:06 EST 1996</I>
</ADDRESS>
</BODY>
</HTML>