Regarding question 1: No, not always. Some nameservers will do recursive queries for you, but some only provide answers for zones for which they are authoritative. The global root servers work this way, for instance. Public DNS servers like 8.8.8.8 will do recursive queries for you, however.
Regarding question 2: An authoritative server for a zone is one that has responsibility for the zone, yes. It either knows all information about names in the zone, or it delegates authority about sections of the zone to other servers. For example, ask a root server for an SOA record for example.com
and it will provide a list of nameservers for com
. Ask one of those servers about example.com
and it will provide a list of servers for example.com
. Ask one of those servers, and it will provide the SOA record, letting you know that the server is authoritative for the zone, and you can then query that server about names within the zone.
If I query a recursive server which has a cache, and I ask for a answer which is not cached will it search for and authoritative response, but if query and authoritative for an authoritative answer which it can't provide, can it also give me a cached answer. Are these two real possibilities? Do either make sense? – rubixibuc – 2012-02-17T02:21:56.913
Yes to the first question. The answer to the second question depends on whether the server has been configured to provide answers about zones for which it is not authoritative. If it isn't set up to provide those answers, it likely won't even have a cache. – Kyle Jones – 2012-02-17T03:15:15.287