-->

Contact Form

 

Domain Name System


" Love - It's when you memorize her IP Address to over come the DNS overhead  "

In it's earlier days, internet websites or rather servers were very limited and not used by a large audience. Hence it was ok to access these websites using their IP Addresses. But as Internet grew more popularity, the number of Web Servers and it's audience grew more. It was hard for people to reach out for these web servers just by their IP Addresses. Therefore, The GREAT Stanford Research Institute came up with a possible solution. They created and maintained a database file which would contain various IP Addresses along with their corresponding Web Addresses. This file was known as HOSTS.TXT .
Being a text file, we couldn't utilize the information efficiently. Also at times when there is a load of Client requests waiting to be responded, HOST.txt was not a fit choice. That is when Paul Mockapetris came up with a whole system to manage these Domain Names. He suggested to store the information into a Database. Thus making it more easier and efficient to use it. 
So next time if any client wanted to access any web server, he/she wouldn't need to type the lengthy and complicated IP Address. The Client would enter the web address in their browser. Their browser would automatically visit the corresponding IP Address by looking into the HOSTS.TXT database.
This was a great solution. Human mind can remember the web address easily than the IP Addresses. Gradually the number of Entries in HOSTS.TXT increased rapidly thus increasing the size of the database. Now various servers were established to store and maintain these database files. These servers were named Domain Name System Servers. Whenever a client made a request to a Server Web Page, the request was first sent to the DNS to fetch the corresponding IP. 

Let us now check out how this Domain name system actually works…


Domain Name database has a hierarchical structure i.e. it has various levels at which the domains are stored. Take the example of the web address : “holymotherpython.blogspot.com”, this web address can be broken into 3 domain names: “n8working” , “blogspot” and “com”. All these are the domain names . Whenever a request to visit this particular URL is received by the DNS server, a program runs that reads the URL backwards. As soon as the program finds a “ . ” , it moves one level down and continues accordingly. This means that first, the program reads “com” then "blogspot" and finally "n8working". Therefore .com is a Top Level Domain (TLD). 
The “com” can be considered as a directory or a folder which has other folders inside it. These folders have further folders inside it. To access a particular folder, you first need to open it's prior folder. 
For those of you who are acquainted with Linux (UNIX) OS, understanding DNS will be really easy. 



  • In UNIX operating system, all the other directories and files are stored inside the “Root” i.e. “ / ” directory. Similarly, all the DNS domains are stored inside the “Root” i.e. “ . ” Domain.    
  • In Unix file system, the absolute path for a particular directory is separated by “ / ” . Similarly in the DNS, to separate the two domains, we use a “ . ”. Now you know why  there is a Dot ( . ) in a URL.
  • This also means that any URL originally has a Dot ( . ) at it’s ends. But we don’t actually write it… our intelligent Browsers automatically adds it.  

With the overgrowing demand of web pages, the demand for accessing the root servers also increased. Therefore having 1 root server to maintain the whole world’s HOSTS.txt database wasn’t such a good idea.Therefore there are 13 Root servers. These Root servers were identified as Capital Alphabets- Root server A,B,C,D…..,M (That’s 13). Many copies of these Root servers were established across the globe. 
Even after creating such parameters, there was trouble managing all the websites. 
The DNS servers faced the following challenges:
  • Consistency
  • Overload of Traffic
  • Name similarity causing collisions
There were many similar websites. We can take the example of Google: we have google.com , plus.google.com , mail.google.com etc. So these firms were asked to maintain there own DNS servers whose root server is going to be google.com . This smaller DNS server had all the information of google’s websites. This DNS server was named as Name-server. The root of the Name-server was added into the original DNS database. Therefore a Name-server is a server which holds up all the information about a small part of DNS database. 

DNS Resolution:


Assume that a client is trying to access google.com . He/she types the web address into the browser. The browser first sends the request to the nearest DNS server. The server reads the web address (backwards) and looks into the Top level to match up with the TLD’s. If the program finds the following TLD (in our case “ com “), it checks the domains under that TLD. This process is continued until the whole web-address is read. Also every time a domain is available on the DNS directory, it sends a referral carrying the corresponding IP.
You can also view the whole process in your pc. Follow the following steps: 
  • Go to the Command Prompt. (Win + R -> type " cmd " -> Enter)



  • Type:-  " nslookup " + Enter.
  • Type any website address whose IP you want to check and press Enter.







This however, doesn’t mean that the DNS servers and the Name-servers have all the web-addresses and the corresponding ip addresses of all website…
There is still the more deeper and more darker part of the internet. Amazingly, this part is the majority of the internet. “THE DEEP-WEB”!!!. DNS doesn’t carry information about the Deep-web websites. This is due to the fact that most of these websites are reached out by directly entering the IP Addresses.
We’ll look into the fascinating yet terrifying world of deep web soon in the upcoming articles.
Till then, Thanks for Reading !!! Let me know in the comments if you have any queries or if you liked it.

Total comment

Author

Akshat Bajpai

0   comments

Cancel Reply