Network Design and Operations
Which statement correctly describes how recursive and non-recursive (iterative) queries are used in DNS name resolution?
- AA host (stub resolver) sends a recursive query to a full-service resolver asking for the final answer, and the full-service resolver sends non-recursive queries to the root servers and authoritative DNS servers, following the referrals to the next server to ask
- BA host itself repeats non-recursive queries in turn to a root server, a TLD server and the authoritative DNS server to get the answer
- CRoot servers accept recursive queries and, on behalf of the host, query down to the authoritative DNS server and return the final answer
Show answer and explanation
Answer: A. A host (stub resolver) sends a recursive query to a full-service resolver asking for the final answer, and the full-service resolver sends non-recursive queries to the root servers and authoritative DNS servers, following the referrals to the next server to ask
A recursive query is a request to "return the final answer," and a host normally sends this kind of query to a full-service resolver (caching DNS server) run by its ISP or organization. If the answer is not in its cache, the full-service resolver sends non-recursive queries to a root server, a TLD server and the domain's authoritative DNS server. A server that receives such a query returns the answer if it knows it, and otherwise returns a referral (such as NS records) saying "ask this server next." Root and TLD servers do not accept recursive queries, for reasons of load and security.
- A. Correct. Queries between the host and the resolver are recursive, and those between the resolver and each server are non-recursive.
- B. Walking down the hierarchy is the full-service resolver's job. A host's stub resolver normally sends just one query to the resolver.
- C. Root servers do not accept recursive queries; they only refer the resolver to TLD servers.