Domain name resolution is the process in which the internet users receive the address of the domain they were looking for.
To be more precise, the domain name resolution is a translation process between the domain name that people use while writing in their browsers and the site’s IP addresses. You need the IP address of a site to know where it is located and load it.
A website could have both IPv4 and IPv6 addresses, and the DNS resolution of a domain name will ask for both of them. The IPv4 address will come in the form of a DNS A record, and the IPv6 will come in a DNS AAAA record.
Let’s get into the details, and see how it works, shall we?
Domain name resolution – Why is it important?
In the world of the Internet, the addresses don’t contain streets and cities. They have numbers and symbols. There are two types of addresses: IPv4 and IPv6. In order to enter into a particular website, the user needs to get its IP. Instead of remembering all of the IPs of every website, we simply need to remember the domain name. The domain name is usually not hard to remember, and this makes it easier. When the user types the name of the website, the process of the domain name resolution starts.
So let’s proceed and explain the whole process of DNS resolution.
DNS resolution process
The browser of a user needs to get the IP and sends queries to the name servers. This process is involving domain name resolvers. The first answer that your browser will get is the root server, then the TLD (top-level domain). The servers with the TLD of the website you want to visit (com, net, or another) will refer your queries to the next step in searching authoritative servers who know the exact IP address of the domain name. Then the domain name will be resolved.
Let’s breakdown the DNS resolution step-by-step:
1. A user is typing a domain name like cloudns.net into their browser. The user needs an A or AAAA DNS record to resolve the domain name.
2. If your device’s cache has the IP address of cloudns.net, the domain name resolution will finish here, and the user will be able to open the website. But, if it does not, there will be more steps. The devices keep DNS records for visited sites, depending on the TTL (Time to Live) values of those DNS records. After the time they indicate, they will be deleted, and a new query needs to be performed.
3. If your computer doesn’t have the needed IP address, it will search for the answer by performing a DNS resolution query. The next destination on the way will be the recursive DNS servers of the internet services provider. They also keep a cache with DNS records of domain names that users have accessed. If the desired site’s DNS records are still there, the user will get an answer to its query and access the site. If not, there will be series of interactive DNS queries to find the answer.
4. If the domain name resolution didn’t finish with the previous step, the recursive nameserver will search for the answer. The next step will be to ask the Root server, which is indicated with a “.” sign after the TLD (top-level domain). The Root server does not have an answer about the exact domain name, but it will provide one for the part it is responsible for – it will indicate all the nameservers for the TLD that we asked for. In our case, it will show the nameservers of .net.
5. The TLD DNS servers will have the answer of which exactly are the authoritative nameservers for the domain you are searching. The TLD servers of .net will have that information for all of the domain names that finish with .net. They will return that answer so the query can continue.
6. Now that we know where the authoritative nameserver of the domain name we want is, we can ask and get the A and AAAA records to understand the site’s IP address.
7. The Authoritative nameservers of the domain name will provide the DNS records, the DNS resolution will be made. The recursive nameserver of our ISP and our device will both save the DNS records that we obtained based on their TTL values. That way, if soon we want to visit the site again, we will save time and access the site faster.
8. Visit the site. Now with the DNS record already obtained, the user can access the site.
What to do if DNS resolution is not working?
1. Check your internet connection. Many times when the domain name resolution fails, the main reason is that you are not connected to the Internet. Check your connectivity and restart your router.
2. Obtain DNS server address automatically. Go to the network adapter and open the properties. Then search for the Internet Protocol Version 4 (TCP/IPv4) and open its properties. From there, you can click on Obtain DNS server address automatically. This will allow your computer to receive the DNS settings from the DHCP server.
3. Release and then renew the DHCP IP address. There could be an IP address conflict because of the DHCP server. What you can do as a user is to give up the IP address lease. You can do that with a command from the Command Prompt:
After that, you can renew your IP address with the following:
Now your connectivity should be restored.
4. Flush the DNS cache of your device. You can do that by accessing the Command Prompt (as an administrator) and performing the following command:
If you had a previous IP address of a domain that is no longer available, now you have deleted it. The device performs a DNS resolution again, and it should get the new IP address.
5. The last resort is to contact your ISP and tell them the problem. There is a chance that it is related to its equipment or software and can fix it. Or maybe it is blocking some websites on purpose. You can at least try to find an answer from it.
Why do we need recursive servers?
You can think that the only kind of DNS servers we need is authoritative, but imagine how much load they will need to take if all the complete queries get to them.
For decreasing the load and increasing the speed, there are recursive servers that keep the DNS records with the information needed to access a particular website for a defined period of time. This time is called TTL (time to live), and the process is named DNS cache. There are such recursive servers in the internet service providers that keep the information for many websites for the period of time defined by the TTL.
DNS is a very useful system that saves a lot of time and makes our lives easier. After this article, you will know better what is happening when you open a web page, how exactly the DNS resolution works and what it means a domain name resolution.