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