Domain Name System
There are several applications in the application layer of the Internet model that follow
the client/server paradigm. The client/server programs can be divided into two categories:
those that can be directly used by the user, such as e-mail, and those that support other
application programs. The Domain Name System (DNS) is a supporting program that
is used by other programs such as e-mail.
Figure shows an example of how a DNS client/server program can support an
e-mail program to find the IP address of an e-mail recipient. A user of an e-mail program may know the e-mail address of the recipient; however, the IP protocol needs the
IP address. The DNS client program sends a request to a DNS server to map the e-mail
address to the corresponding IP address.


To identify an entity, TCP IP protocols use the IP address, which uniquely identifies the connection of a host to the Internet. However, people prefer to use names
instead of numeric addresses. Therefore, we need a system that can map a name to an
address or an address to a name.
When the Internet was small, mapping was done by using a host file. The host file
had only two columns: name and address. Every host could store the host file on its
disk and update it periodically from a master host file. When a program or a user
wanted to map a name to an address, the host consulted the host file and found the
mapping.
Today, however, it is impossible to have one single host file to relate every address
with a name and vice versa. The host file would be too large to store in every host. In
addition, it would be impossible to update all the host files every time there was a
change.
One solution would be to store the entire host file in a single computer and allow
access to this centralized information to every computer that needs mapping. But we
know that this would create a huge amount of traffic on the Internet.
Another solution, the one used today, is to divide this huge amount of information
into smaller parts and store each part on a different computer. In this method, the host
that needs mapping can contact the closest computer holding the needed information.
This method is used by the Domain Name System (DNS). In this chapter, we first
discuss the concepts and ideas behind the DNS. We then describe the DNS protocol
itself.



























