Sunday, 3 February 2013

Domain Name System

In Internet to identify a system or a host, the IP address is used. It is very difficult for people to memorize all IP addresses and people prefer to use names instead of numeric addresses. To deal with this situation we need a system that can map between name and address. When the Internet was small, mapping between IP address and host name can be done by using a single file. The file consist two columns, one for host name and other store corresponding IP address.  Today it is difficult to store all addresses in a single file for mapping. The solution is, divide this large amount of data into smaller parts and store each part on a different computer. Each host that  needs a mapping can contact the  nearest system which store the needed information. This method is used in the DNS. 
One essential requirement is that the name must be unique. A name space is used to assign unique names. In the case of flat namespace, there is no predefined structure for assigning names, but hierarchical namespace assign name space based on a structure. In the case of hierarchical namespace the name is divide into smaller
parts, each parts have a specific meaning. The domain name space is an example of hierarchical namespace. In this case, names are representing by using an inverted-tree with root at top. The tree can have maximum of 128 levels.
Domain name space
Domain name space


The label for each node in the tree has at most 63 characters. The label of the root node is null. A full domain name is a sequence of labels separated by dots. A Fully Qualified Domain Name (FQDN) always ends in a null label. If a label is not terminated by a null string, it is called a Partially Qualified Domain Name (PQDN). A domain is a sub-tree of the domain name space.

FQDN: air.ac.in.
PQDN: air.ac

The domain name hierarchy is divided among many servers. What a server is responsible in domain space is called a zone. The zone of the root server consist the whole tree. DNS defines two types of servers: primary and secondary. A primary server stores a file about the zone for which it is responsible. It use local storage to store the zone file and it is responsible for creating, maintaining, and updating the zone file. A secondary server store information about zone from another server.  The secondary server is used to create redundancy for the information so that if one server fails, the other can serve answer for client requests. The process of downloading information from primary to secondary is called zone transfer.


The domain name space is divided into three different regions in Internet: generic domains, country domains, and the inverse domain. The generic domains define hosts according to their generic behavior. For example mil for military groups and org for nonprofit organizations. The country domains use two-character to represent a specific country. For example, in for India, us for United States. The inverse domain is used to map an address to a name. Mapping an address to a name or a name to an address is called name-address resolution.


DNS has two types of messages: query and response. The query message contains a header and question records, the response message contains a header, question records, answer records, authoritative records, and additional records.

DNS Header format
DNS Header format

DNS can use either TCP or UDP. DNS server use port 53. UDP is used when the size of the response message is less than 512 bytes and TCP used if the size of the response message is more than 512 bytes. 
Previous : Email Architecture 

No comments:

Post a Comment