Ther are two ways to identify a host--by a hostname and by an IP address. People prefer the more mnemonic hostname
identifier, while routers preferfix-ed-length, hierarchically structured IP addresses. In order to reconcile these preferences,
we need a directory service that translates hostnames to IP addresses. This is the main task of the Internet's domain
name system (DNS). The DNS is (1) a distributed database implemented in a hierarchy of DNS servers
and (2) an application-layer protocol that allows hosts to query the distributed database. The DNS servers are often
UNIX machines running the Berkeley Internet Name Doamin (BIND) software. The DNS protocol runs over UDP and uses port
53.
DNS is commonly employed by other applicatio-layer protocols--including HTTP, SMTP, and FTP--to translate user-supplied
host names to IP addresses. IN order for the user's host to be able to send an HTTP request message to the Web server
the user's host must first obtain the IP address.
- Host aliasing. A host with a complicated hostname can have one or more
alias names.
- Mail server aliasing. For obvious reasons, it is highly desirable that
e-mail addresses be mnemonic.
- Load distribution. DNS is also used to perform load
distribution among replicated servers, such as replicated Web servers.
The DNS is dated in serveral additional RFC's. It is a complex system, and we only touch upon key aspects of its
operation here.
|