DNS and Its Important Role in the Online World
Way before personal computing came to existence and long before the birth of smart devices, it was much easier for the few internet users to identify familiar IP addresses such as memorizing home phone numbers during the pre-caller ID days.
Even though all you need to do is click Send for your email to be sent or type URLs in the search bars, the truth is that computers don’t really have the ability to read text while they interact over networks.
This is where DNS or Domain Name System comes in, which is among the foundations of networking as most of you already know it. The Domain Name System is what translates text-based URLs that are typed into search bars to numerical IP addresses. These are what computers use when “talking” to each other.
The main objective of Domain Name System is a very simple one. In general, it is easier for people to recall words instead of confusing and long sequences of numbers. However, the role that it plays is critical with the growth of the connected world.
If you haven’t experienced for yourself the world where pre-caller ID didn’t exist yet, you can just think of the Domain Name System as your contact list on your smartphone that contains the number of every single person on this planet and multiplied by all the connected devices that they are using on a daily basis.
However, even this kind of analogy makes Domain Name System sound oversimplified since there is no single server or directory that acts as a rolodex for the entire internet traffic in the world.
What is the Role of Domain Name System Servers?
Just one Domain Name System directory will be massive that accounts for over 333.8 million domain names that were listed in 2018 alone. Just like the rest of the things today that are related to networking, Domain Name System is spread across an international network of Domain Name System services that constantly communicate with one another in order for users to be directed to their sites.
There are actually a few main reasons as to why Domain Name System servers get distributed this way and it mainly has something to do with scale.
First off, most of the named websites, particularly major search engines such as Google, have hundreds or even thousands of IP address corresponding with just one domain. For example, someone who wants to get access to Google out of London will not likely interact with the similar Domain Name System equipment, let alone the similar Google server, as someone makes a similar search in Boston, even when they practically accessing just the same website once everything has been said and done.
One more reason has something to do with time. if every single user that makes the same search on Google across the world only got access to a single central Domain Name System server, there will be an immense traffic backup in spite of load balancing.
At this point, Domain Name System information is cached on the individual devices as well to allow computers to resolve the domain name right away with Google’s IP address with the remote server several times a day. Actually, the servers and routers that ISPs use to connect the customers to the internet cache loads of high traffic Domain Name System information in order to resolve the IP addresses right away so that the customers will be happy and traffic will continue moving.
The Hierarchy of DNS
The whole process of getting access to a website follows the path to the corresponding IP address. If the information doesn’t get cached locally, there will be a hierarchy of several Domain Name System servers where the request should pass through for the IP to be unlocked. Once it runs smoothly, these will all be invisible to users.
Even though caching and internal Domain Name System is very common in many enterprises, it is best to take a look at its simplest form. The moment the user initiates a request for an IP through typing the URL in the browser, this request will initially got to the recursive resolver if this is not already in the caches of the operating system or browser. The recursive resolver is a server that is often managed either by the ISP of the user, the enterprise itself, or a managed Domain Name System provider.
This resolver is aware of the Domain Name System servers that it needs in to ask for the IP address to be unlocked and it will typically forward this request to the root server that is aware of all the details regarding the top level domains. Since these are distributed across the globe, in general, the resolver access the web hosting root server that is nearest the geographic beginning of the request, which is nearest the user that accesses the web.
The step that follows in this hierarchy will take the request to the TLD or top level domain server. The server is going to be more specific as it recognizes the secondary domain and sends off the request to the authoritative name server of that domain that will ultimately hold the keys to that IP address that lets the user visit the site.
In spite of all the different points of stop on the hierarchy of Domain Name Server, the whole process must take place in milliseconds or the blink of an eye. Since this is the very efficient process, average users of the internet outside the world of networking just take it for granted.
Even if DNS has the tendency to just work and function in the background, if hiccups take place along the way to the IP address, it can affect the overall experience of the end user that can affect the business-critical applications for the business users. It will then become the task of the IT department to sort out the problems along the way to address concerns that are within their control that might be a bit hard if there is no complete visibility of the network.