DNS: An Intermediate Resolver

Featured Image

     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 devices 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, the Domain Name System associates domain names that are assigned to all the entities to the address of those 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 it be laptops, computers, mobile phones, websites, etc. has 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 to find the device. DNS servers eliminate 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, and most particularly its current IP address.

How DNS works?

Any website or device that is connected to the internet has a special IP address which may be 123.123.123.123, 111.111.111.111. And in a day, we come across various websites and each one of them 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 DockChip.com, then it is something people can very well recognize and remember. So, simplifying 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, DockChip.com, 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, DockChip.com) that the user demands.

Domain

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 domains. The Top-Level Domain (TLD) DNS server is a server such as .com, .org, or .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 can process the request for the webpage. The browser so then makes an 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 an additional request to the DNS root name server 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 the 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 hostname. The TLD server is a server such as .com, .org, or .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, will return the IP address for the requested domain name or hostname 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 requires 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.

You May Also Like

Featured Image

Spring vs. Spring Boot: A Java Comedy Brawl

Featured Image

AngularJS vs. ReactJS: The Frontend Battle Royale

Featured Image

TypeScript: The Supercharged JavaScript for Reliable Code

Featured Image

Cookies and Sessions: Your Online Sidekicks

Leave a Reply

Your email address will not be published. Required fields are marked *