Domain Name System (DNS)
The Domain Name System is the system that resolves a host name to an IP
address. Although users are allowed to use domain names to refer to machines in
the internet, the protocols below the application layer require IP addresses to be
used in the packets. Hence, the DNS is like an online automatic converter from
domain names to IP address. To illustrate this, consider for example a user that is
browsing the Internet. This user may enter the URL http:/ / www. uplb.edu.ph.
The domain name part of the URL is used simply because it is easier to
remember. This domain name will be converted by the DNS to an IP address
before it is sent down to lower level protocols. Figure 5-8 illustrates this process.
The DNS is basically hierarchical, distributed and independent.
The DNS uses a hierarchical structure. At the very top of the hierarchy is the root.
Beneath the root are the following top-level domains:
1. arpa is a special domain used for address-to-name mapping;
2. the seven 3-character generic organizational domain names
(includes.com,.edu,.gov,.mil,.org and.int); and
3. the two-character domain names based on the country codes (e.g.,.ph for the
Philippines,. de for Germany and . il for Israel
Beneath each of these top level domains are subdomains that are commonly
referred to as second-level domains. Beneath the second-level domains are
subdomains. For example, in the domain name mail. yahoo.com,.com is the toplevel
domain yahoo.com is the second-level domain and mail.yahoo.com is the
subdomain.
The information used by the DNS and control over the information are distributed
among name servers run smoothly and maintain current information in their areas
of authority. If one of the name servers is down, it is very likely that the rest of the
network will encounter problems with portion of the database or zone controlled
by the name server that is down. The DNS use several techniques to protect
against this possibility, but the interdependent nature of the system will demand
solutions that will affect the other name servers.
The process of converting a domain to an IP address by the DNS is achieved
though the use of the distributed DNS database, DNS name servers, and internet
protocols for fetching data from the servers. But how do all these work?
Consider what happens when you want to access the host mail. yahoo.com. this
domain name will be sent by your application to your local name server. Your
local name server most likely has information about your domain, as well as
information about any other domains within your local name server’s zone of
authority. So the response of the local name server would be something like: “The
domain name is not in my database, ask the root server instead”.
Your local name server will then send the query to the root server. The root server
will have the specific information needed to translate mail.yahoo.com to its
corresponding IP address, but the roots server knows where to find the find name
server that contains authoritative information for the .com zone. The root server
will provide your local name server with information it needs to contact the name
server for the .com top-level do-main.
The local name server then sends the query to the name server for the .com zone.
The .com name server will not have specific information about the IP address of
the machine mail.yahoo.com, but the .com name server will know where to find
the local name server for yahoo.com and will send this information to your local
name server.
Finally, the local name server will send the query to the name server for
yahoo.com. This server will be able to convert mail yahoo.com to its IP address
and send this IP address to your local name server. Your local name server will
then send the IP address of mail yahoo.com to your application. Your application
will then make a connection mail yahoo.com. Normally this process of resolving a
domain name to an IP takes just a few seconds.
A fundamental property of DNS is caching at the local name server. The local
name server has a cache of recently used names as will as a record of where the
mapping information for the name was obtained. Thus, when a request to resolve
a domain name is issued, this request is processed as follow:
1. Check if the local name server has authority over the domain name. if yes, the
local name server does not need caching information.
2. If the local name server does not have authority over the domain name, the
server checks its cache whether the name has been resolved recently. If yes,
the server report the caching information to the application. If no, then
proceed from the step where the root server was asked.

