In message <825329a8-802c-4ea8-aea5-206d8e37d...@vpnc.org>, Paul Hoffman writes
:
> 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 que
> ry any type of server?

A iterative resolver make RD=0 queries.
A resursive resolver make RD=1 queries.

Some resolvers do both depending upon how they are configured.  The
resolver built into named is a example of this.  By default it is
iterative only.

Note named running as a authoritative only server still uses its
built in resolver to lookup information required to perform its
authoritative only role.  This is a example of where a resolver
doesn't receive a external query to trigger a lookup.

> > 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.

The above is actually pretty 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
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742                 INTERNET: ma...@isc.org

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

Reply via email to