DNS Server Types

DNS (Domain Name System) is a hierarchical system in which there are different types of DNS servers at each level. These types are Root DNS servers, Top-Level Domain Servers, Authoritative servers and DNS Resolvers.

What are the different types of DNS servers

The domain name system (DNS) is based on hierarchical servers literally enabling people to browse the internet using human-readable names. DNS is what allows a person to type a website into their browser, like menandmice.com, and go to that destination.

Behind the scenes, the client makes a DNS query to the resolver server configured in it’s settings. The resolver does a recursive search for that website, or more accurately the domain name, by checking with multiple servers in the hierarchy. Once the information is found, an IP address is passed back to the client which tells the client where to find their destination.

DNS Lookup Process

1. Recursive resolver

SET - Recursive DNS.png

The recursive resolver server, sometimes referred to as a caching server, is the first stop for your client when a dns query is made. A common way this occurs is when someone opens a browser and types in a URL containing a domain name. That client device will have DNS settings configured so it knows where to go first to find the domain name as shown below.

Recursive REsolver.jpg

The DNS settings may be explicitly defined as shown in the picture above, or they may be automatically configured using DNS management software on your network.

If the recursive resolver server has found this domain name in the recent past, it’s possible it will already have this information cached and will then be able to immediately inform the client of the correct IP address of request. If not, though, it must perform a recursive query to find this information. It will begin with the Root server.

2. Dns root name server

SET - ROOT DNS.png

The recursive resolver first checks with the root server. An organization named IANA (Internet Assigned Numbers Authority) which is a part of ICANN (Internet Corporation for Assigned Names and Numbers) maintains these root servers.

As mentioned, DNS is hierarchical, so in order to find out the domain name, starting with the root server is the only way to ensure you’re starting with the correct tree. Meaning, menandmice.com and menandmice.net are completely different domain names and therefore completely different destinations. If you type in menandmice.com the root server will be able to tell the recursive server to check with the correct top-level domain server which in this case would be .com.

It’s also possible that the root server may have this information cached and may give the answer directly to the recursive resolver. If not, though, it will be directed to the Top-Level Domain server.

3. TLD name server

SET - Top Level DNS.png

Now that the recursive server has the correct Top-Level Domain, or TLD server, it can go ask that server for the correct information. TLD servers come in many categories:

  • generic TLDs (gTLDs) - LIke the commonly found .com or .net, but also like new TLDs such as .club or .shop
  • Sponsored TLDs - maintained by a group generally used for specific communities such as ethnicity, geography, and career
  • Non-sponsored TLDs - gTLDs maintained by IANA which are not sponsored
  • Country Code TLDs (ccTLDs) - TLDs specific to a country
  • Internationalized TLDs - TLDs which use native language characters

The TLD servers will either have the information cached or send the recursive server to the correct authoritative server to find the IP information for the destination.

4. Authoritative name server

authoritative-nameserver

The authoritative name server will have the IP information the client was looking for. When companies, groups, or individuals lease the right to use domain names they must register this name with an authoritative server. This registration makes the domain name officially published on the network, whether the public network or internet, or the private network.

Now the recursive server may cache the information for later use and also pass the destination information on to the client server. When information is cached it will load more quickly on the client device.