I am trying to understand DNS and I have the following question:

Are the terms secondary nameserver, non-authoritive nameserver and caching-only nameserver the same or are there differences?

As I understand it, only the primary NS has the original data, all other NS must ask the primary and they may cache the results.


Your understanding is almost right; however while the primary NS has the original data it is not the only authoritative source of data.

To break down using the terms in your question:

A secondary name server is a server which pulls the entire zone from the primary name server and can answer any queries against that zone authoritatively. The primary and all secondaries fall into the category of authoritative name servers.

A non-authoritative name server is a name server that does not hold the zone information (either from local configuration or pulled from an authoritative server). Any answers it holds are cached from queries to the authoritative name servers for the zone.

A caching only name server is a server that is not authoritative for any zone. This would be in the class of non-authoritative name servers.

| improve this answer | |

First distinction is authoritative vs caheing servers. They serve different purposes: the former holds the information regarding particular zone(s), and the latter is serving client requests for resolving ANY domain record for any domain, hence their second name - DNS resolvers.

In practice you can see that both these functions are combined, but in fact those are different ones and should not be confused.

As to secondary servers - you are right, those a slave servers that get the zone info from the primary server, and both secondary and primary type of servers are authoritative for a particular zone, that is able to serve requests.

| improve this answer | |

The authoritative name servers for a domain are the NS records listed in the parents zone file. These should match the NS records listed in the zone file for the domain itself. For example

moriarty:~ dave$ dig cheney.net @dns1.name-services.com NS
; <<>> DiG 9.4.3-P1 <<>> cheney.net @dns1.name-services.com NS

;cheney.net.            IN  NS

cheney.net.     3600    IN  NS  dns1.name-services.com.
cheney.net.     3600    IN  NS  dns2.name-services.com.
cheney.net.     3600    IN  NS  dns3.name-services.com.
cheney.net.     3600    IN  NS  dns4.name-services.com.
cheney.net.     3600    IN  NS  dns5.name-services.com.

dns1.name-services.com. 3600    IN  A
dns2.name-services.com. 3600    IN  A
dns3.name-services.com. 3600    IN  A
dns4.name-services.com. 3600    IN  A
dns5.name-services.com. 3600    IN  A
| improve this answer | |
  • 1
    This is true if your zone is configured correctly. It is possible to have servers listed in the parent zone with do not give authoritative answers. These are known as lame servers. It is also possible (and sometimes preferable) to have authoritative name servers that are not listed in NS records (e.g. a hidden primary). – Russell Heilling Jun 15 '09 at 10:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.