Skip to main content

DNS: An Intermediate Resolver

Phonebook of Internet

The Domain Name System (DNS) is a centralized part of the internet that provides a way to match the names of the website that you are seeking to find to the address or number of the same website. It is a hierarchical naming system for web associated device such as computers, laptops, mobile phones, and services or other resources that are connected to the internet or any other private network. So, in short, Domain Name System associate domain names that are assigned to all the entities to the address of that entities and thus in a way to the information that is associated with that entity.

What is DNS?

Any device connected to the internet or any private network may it be laptops, computers, mobile phones, websites, etc. has got a special Internet Protocol (IP) address. This IP address is made up of numbers. DNS translates the domain name to IP addresses so that browsers can load the internet resources on the concerned device. Each device which is capable of connecting to the internet is provided with a unique IP address which other machines use so as to find the device. DNS servers eliminates the need for humans to remember the IP addresses. DNS servers create a DNS record to provide important information relating to a domain or host-name, and most particularly its current IP address.

How DNS works?

Any website or device that is connected to the internet has got a special IP address which may be like, And in a day, we come across various websites and each one of it has got a special set of unique IP addresses. And remembering all the IP addresses of the websites that we come across is obviously not possible. However, when it comes to remembering domain names such as, then it is something people can very well recognize and remember. So, simplifying the human work, DNS synchronizes the domain names with the IP addresses thus enabling humans to use the easy to remember domain names while computers can use the IP addresses. SO, we can say that DNS is the phone book of the internet. Whenever a user wants to load a webpage say,, a translation occurs between whatever a user types in the search engine of a web browser and the machine- friendly IP address necessary to locate the webpage (in this case, that the user demands.


Steps involved in a DNS lookup:

  1. A user types the name of a webpage into a web browser and the query travels into the internet and is then received by the DNS recursive resolver.   
  2. This DNS recursive resolver then queries a DNS root name-server(.). 
  3. The root server then responds to the query put up by the DNS recursive resolver with the address of a Top-Level Domain (TLD) DNS server which stores the information for all its domain. The Top-Level Domain (TLD) DNS server is a server such as .com, .org, .net which is responsible for storing the information for its concerned webpage domains.  
  4. The DNS recursive resolver then makes a request to the TLD DNS server. 
  5. The TLD DNS server then responds to the request made, with the IP address of the domain’s name-server. 
  6. Then the DNS recursive resolver sends a query to the domain’s name-server. 
  7. The name-server then returns the IP address concerned with the webpage to the DNS recursive resolver. 
  8. The DNS resolver then responds to the query request of the web browser with the IP address of the webpage domain requested initially. 
  9. Once the IP address of the domain is returned to the web browser, then the browser is able to process the request for the webpage. The browser so then makes a HTTP request to the IP address. 
  10. The server at the IP address then returns the webpage that is to be rendered in the web browser.

Types of DNS server

There are four DNS servers involved in loading any webpage. They are: 

  • DNS Re-cursor:
    The DNS re-cursor is a special type of server designed to receive queries from user machines through various different applications such as web browsers. The re-cursor then makes additional request to DNS root name-server in order to proceed with the user’s DNS query.
  • Root Name-server:
    The DNS root server is the one that translates the human readable domain names or host-names into IP addresses. Typically, it acts as a reference to other more specific servers.
  • TLD Name-server:
    The Top-Level Domain (TLD) server is one step ahead of root name-server. The request from the root name-server in search for a specific IP address is then brought to the TLD (Top-Level Domain) DNS name-server. It hosts the last portion of the domain name or host name. The TLD server is a server such as .com, .org, .net that is responsible for storing the information for its concerned webpage domains. 
  • Authoritative Name-server:
    The Authoritative name-server is the last step in the name-server query part. The Authoritative name-server if has access to the specific record of the requested query, it will return the IP address for the requested domain name or host-name to the DNS re-cursor from where the initial request was made.

Types of DNS query

  • Recursive Query:
    In this type of query, the DNS user require that a DNS recursive resolver server responds to the user request with either the requested resource information record or with an error message if the recursive resolver is unable to find the specific record related to the request.
  • Non-Recursive Query:
    In a non-recursive query, a DNS recursive resolver user queries a DNS server for a record that it has access to either because the record exists inside of its cache or because it’s authoritative for the record. A DNS server caches DNS records to prevent additional load on upstream servers and additional bandwidth consumption. 
  • Iterative Query:
    Here the DNS user allows the DNS server to return the best result that it can. Her, if the queried DNS server doesn’t match the query name, it returns a referral to the DNS server authoritative for a lower-level of the domain namespace or host namespace. This process will continue with additional DNS servers until either an error or timeout occurs down the query chain.


Popular posts from this blog

Coding: Roadmap For Beginners

          Coding is basically a process used for creating software instructions for computers using various programming languages. With the help of computer coding, we can program websites, apps and various other technologies that we interact with in our everyday life. In coding we use several languages to give a computer instruction based on which specific functions are performed by the programmed machines. There are various types of codes and each code has its specific function and then depending on what is to be developed the codes are programmed for those machines. All the popular technologies that we have today like Facebook, Instagram, Electric Vehicle, Robots, Smartphones, Browsers are all developed using some specific code.

Difference: Programmer and Coder

     Since we are a piece of the computerized time, you may have run over the two terms, coding and programming, utilized reciprocally. It is a typical idea that coders and programmers are almost the same things. Actually, there is such a lot of distinction between computer programming and coding according to the product improvement jargon.

Compiler: A Digital Conveter

A Compiler is a computer-based program that translates coding statements or code written in one programming language to another programming language that the computer processor can understand. It is a computer software that compiles a source code written in a higher-level language like C, C++, Java, etc. into a set of programming instructions or lower-level language that can be understood by the computer’s processor and based on which then various functions are carried out by the digital machine. Compilers are very large programs with the ability of error-checking and various other functions. Some compilers compile high- level language into low level language directly but then there are some compilers that translate higher-level language into an intermediate assembly language and then this intermediate language using some set of assembly programs or assembler is compiled into lower-level language or machine code.