Resolving Host Names
As described previously, addressing in TCP/IP networking, at least for IP Version 4, revolves around 32-bit numbers. However, you will have a hard time remembering more than a few of these numbers. Therefore, hosts are generally known by “ordinary” names such as gauss or strange. It becomes the application’s duty to find the IP address corresponding to this name. This process is called hostname resolution.
When an application needs to find the IP address of a given host, it
relies on the library functions gethostbyname(3)
and gethostbyaddr(3)
. Traditionally, these and a
number of related procedures were grouped in a separate library called
the resolverlibrary; on Linux, these functions
are part of the standard libc
. Colloquially, this
collection of functions is therefore referred to as “the
resolver.” Resolver name configuration is detailed in Chapter 6.
On a small network like an Ethernet or even a cluster of Ethernets, it
is not very difficult to maintain tables mapping hostnames 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
file on all hosts. Obviously, this will
become burdensome with networks that comprise more than a handful of
machines.
One solution to this problem is the Network Information
System (NIS), developed by Sun Microsystems, colloquially
called YP or Yellow Pages. NIS stores the hosts
file (and other information) in ...
Get Linux Network Administrator's Guide, Second Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.