100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace

Recursive vs Iterative DNS Queries: What is the Difference?

Learn the difference between recursive and iterative DNS queries and how resolution flows from root to authoritative servers.

mediumQ73 of 224 in Computer Networks Est. time: 5 minsLast updated:
Open Code Lab

Expected Interview Answer

A recursive DNS query asks a resolver to fully resolve a name and return the final answer, taking on the work of contacting other servers itself, while an iterative query asks a server to return the best answer it has right now — either the final answer or a referral to another server the client must query next.

When a client (like an OS stub resolver) makes a recursive query to its configured DNS resolver, it expects a complete answer back, either the resolved IP address or an error — the resolver does all the work of walking the hierarchy on the client’s behalf. That recursive resolver, in turn, typically makes iterative queries to the root, then a TLD server, then the authoritative server: each of those servers is not obligated to fully resolve the name, only to answer what it knows or point (refer) the resolver to the next server closer to the answer. This division of labor keeps root and TLD servers lightweight, since they never do recursive work, while pushing the heavier, stateful recursive resolution to resolvers that can cache aggressively. Most end-user devices only ever perform recursive queries against their configured resolver (like a router, ISP resolver, or public resolver such as 8.8.8.8); they never talk to root or TLD servers directly.

  • Keeps root and TLD servers fast and stateless by avoiding recursive work there
  • Lets recursive resolvers cache aggressively to serve future clients faster
  • Clients only need to trust and configure one resolver rather than the whole hierarchy
  • Clear separation of responsibility makes the DNS system scale globally

AI Mentor Explanation

A recursive query is like asking your team manager 'what is our next opponent’s exact ground address?' and expecting them to come back with the full answer, having done all the legwork of contacting the league office themselves. An iterative query is like the manager then calling the league office directly, and the league office says 'I do not know exactly, but ask the regional office' rather than fetching the address itself, sending the manager one step closer each time. The manager keeps making calls (iterative queries) until someone gives a final answer, then reports the complete address back to you (the recursive response). This exact division of labor — one full-service ask versus a chain of partial referrals — mirrors recursive versus iterative DNS resolution.

Step-by-Step Explanation

  1. Step 1

    Client sends recursive query

    The stub resolver on a device asks its configured recursive resolver for a full answer.

  2. Step 2

    Resolver queries root iteratively

    The recursive resolver asks the root server, which returns a referral to the right TLD server, not a final answer.

  3. Step 3

    Resolver follows referrals

    The resolver iteratively queries the TLD server, then the authoritative server, following each referral.

  4. Step 4

    Resolver returns final answer

    Once the authoritative server responds with the record, the resolver returns the complete answer to the original client.

What Interviewer Expects

  • Correctly distinguishes who does the work in each query type
  • Knows root and TLD servers typically only answer iteratively (referrals)
  • Understands most end-user devices only ever send recursive queries
  • Can trace a full resolution path from stub resolver to authoritative server

Common Mistakes

  • Thinking client devices query root servers directly
  • Confusing “recursive” with simply “repeated” queries
  • Not knowing that a referral is a valid iterative response, not a failure
  • Assuming every DNS server in the chain performs recursion

Best Answer (HR Friendly)

Recursive DNS queries mean you ask one server to fully figure out the answer for you and hand back the complete result. Iterative queries mean a server gives its best partial answer or points you to the next server to ask. In practice, your device sends a recursive query to its DNS resolver, and that resolver does the legwork by sending a chain of iterative queries to root, TLD, and authoritative servers until it has the full answer.

Code Example

Tracing an iterative resolution path with dig +trace
# +trace shows each iterative referral from root down to the authoritative answer
dig example.com +trace

# Simplified output:
# . (root) -> referral to .com TLD servers
# com. -> referral to example.com’s authoritative name servers
# example.com. -> A record: 93.184.216.34 (final answer)

# A normal client-side lookup is a single recursive query to your resolver
dig example.com A

Follow-up Questions

  • What happens if a recursive resolver receives an iterative referral it cannot follow?
  • Why do root and TLD servers avoid doing recursive resolution themselves?
  • How does dig +trace help debug DNS resolution issues?
  • What role does caching play in reducing the number of iterative queries needed?

MCQ Practice

1. In a recursive DNS query, who does the work of fully resolving the name?

A recursive resolver takes on the work of fully resolving the name and returns the complete answer.

2. What does a root or TLD server typically return in an iterative query?

Root and TLD servers usually respond with a referral pointing to the next server in the chain.

3. Which type of query does a typical end-user device send to its DNS resolver?

End-user devices send recursive queries, expecting the resolver to return a complete answer.

Flash Cards

What is a recursive DNS query?A query where the resolver does all the work and returns a complete final answer.

What is an iterative DNS query?A query where the server returns its best known answer or a referral to another server.

Who sends recursive queries?End-user devices/stub resolvers, to their configured recursive resolver.

What do root/TLD servers usually return?A referral (iterative response), not a full recursive resolution.

1 / 4

Continue Learning