Question about non-authoritive DNS

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.


Solution 1:

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.

Solution 2:

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.

Solution 3:

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

;; QUESTION SECTION:
;cheney.net.            IN  NS

;; ANSWER SECTION:
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.

;; ADDITIONAL SECTION:
dns1.name-services.com. 3600    IN  A   98.124.192.1
dns2.name-services.com. 3600    IN  A   98.124.197.1
dns3.name-services.com. 3600    IN  A   98.124.193.1
dns4.name-services.com. 3600    IN  A   69.64.145.225
dns5.name-services.com. 3600    IN  A   98.124.196.1