On Nov 28, 2014, at 8:52 AM, Tony Finch <d...@dotat.at> wrote:
> I've had a quick look. The resolver terminology needs a bit of work.

Undoubtedly.

>   Iterative resolver -- A system that receives DNS queries and responds
>   with a referral to another server.  RFC 1034 (section 2.3) describes
>   this as, "The server refers the client to another server and lets the
>   client pursue the query."
> 
> In that quote from RFC 1034, the client is the iterative resolver, and the
> server is some authoritative server somewhere.
> 
> A better definition would be:
> 
>   Iterative resolver -- A system that makes RD=0 queries to authoritative
>   servers, and follows referrals to get to the final answer. RFC 1034
>   (section 2.3) describes iterative resolution as, "The server refers the
>   client to another server and lets the client pursue the query."

Does an iterative resolver only queries authoritative servers, or does it query 
any type of server?

> For recursive resolvers you need to split it into recursive servers, which
> accept RD=1 queries and (usually) perform iterative resolution to answer
> them; and recursive clients which issue RD=1 queries. Stub resolvers are
> recursive clients.
> 
> It is a misnomer to refer to a recursive server as a recursive resolver,
> unless it forwards to another recursive server.
> 
> The RFC 1034 quote "The first server pursues the query for the client at
> another server." is a bit confusing since it seems to be describing a
> forwarder, where the first server is accepting RD=1 queries and issuing
> RD=1 queries. But I think the point it is trying to make is that the first
> server is recursively passing the query to the second server.

Your definitions sound more precise, but I'm not sure that they are generally 
agreed to in the community. We will flag this for future discussion, with the 
hope being that there is consensus on something accurate.

> Re. full resolver, I think this is as opposed to stub resolver. e.g. (from
> RFC 1035)
> 
>  Sometimes this is done to offload less capable hosts so that they do not
>  have to implement a full resolver. [...] In either case, resolvers are
>  replaced with stub resolvers which act as front ends to resolvers
>  located in a recursive server in one or more name servers known to
>  perform that service.
> 
> The "resolvers [that] are replaced with stub resolvers" are full
> resolvers.

And thus what would your definition of "full resolver" be?

--Paul Hoffman
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to