DNS queries have been ingrained too deep in our daily lives. Maybe you don’t know the technical term, but you are absolutely familiar with it. We can prove it! Every time you request a website through the browser, you generate a DNS query! If you want to know more about it, stay tuned!
What is DNS resolution?
DNS resolution is the search process that happens to get the corresponding IP address of a domain requested by a user. Therefore, a translation from the domain name to its IP address is a must to locate and load a domain.
The DNS tree structure includes different levels for answering DNS queries for the zones (domains) they store. Servers storing the original and most updated data for a specific zone are called Authoritative DNS servers. And the DNS recursive servers are in charge of searching for DNS answers. They can save information in their cache only for a limited time.
What is a DNS query?
A DNS query, frequently called DNS request too, is every information demand sent from a computer (user) to a DNS server. The most frequent demand for information is the corresponding IP address of a requested domain. Without this information, the domain can’t be loaded.
Are there different types of DNS queries?
Yes, there are three different types of DNS queries, recursive, non-recursive, and iterative. The main difference between them is the way they resolve a domain name to an IP address.
Recursive DNS query. It’s the one that happens between a DNS client (the computer of a user) and a local DNS server or recursive server to obtain the corresponding IP address of a domain. Someone types a domain name on a browser for the local DNS server to answer directly if it has the requested information. As a result of this process, the local DNS server can have a positive or negative answer. It can provide the requested information (DNS record), or an error message if it cannot find it. In the second case, it will make an iterative DNS query to get the information through a complete DNS resolution process. In other words, asking other servers.
Iterative query. It takes place between a local DNS server and other DNS servers. It’s not used to demand a direct DNS resolution for a domain. Other servers may provide it if they have the information, or they can just answer a referral to get it. The DNS server takes the DNS query and looks for the answer (requested information). First, it looks for the DNS Roots server, then the DNS TTL servers, and it reaches the Authoritative name server that has the answer, for instance, the corresponding IP address to the domain. As you see, a complete DNS resolution process is required to occur.
Non-recursive query. In this case, the exact answer to the DNS query or its path to get it’s already saved in the recursive server’s cache. In other words, the requested information, like a DNS record (IP address, for instance) or the necessary information to directly query the correct Authoritative name server for getting the information already exists in the recursive server’s cache. Therefore, the answer to the DNS query can be given easier and faster, without all the rounds that an iterative DNS query involves.
Suggested article: How does Dynamic DNS work?
Can you calculate how many times per day you generate a DNS query? Many, of course! You are sort of a DNS query generator! That’s why it is useful and interesting to understand its details.