On 2016.09.23 12.03, RW wrote:
On Thu, 22 Sep 2016 20:24:21 -0700 (PDT)
John Hardin wrote:
Lists shouldn't have said "caching", that confuses the issue. Caching
and recursion are two different, unrelated pieces.
Focus on the "recursion" and "no forwarding" parts of that
recommendation.
I've been wondering whether recursive is actually the correct term.
As I understand it there are two types of DNS lookup:
1. Iterative - where results are found by working down through
multiple servers from the root servers.
2. Recursive - where a request is made to a single nameserver which
handles the whole look-up on behalf of a client.
What this turns on is whether a forwarding server is a distinct
class of of nameserver or a type of recursive server. I think the
latter is most logical, since both provide a recursive interface.
Definitions of the term "recursive server" that I've seen contrast it
only with "authoritative server".
One thing is certain, what you want is a name server that does
*iterative* lookups.
it might help to remember that, in terms of dns, recursion refers to
something very specific [the rd flag, or bit, is set in a query - or the
ra flag is set in a response - see rfc 1035]. it's not an ambiguous
colloquialism, and isn't subject to vernacular interpretation as would
be the dictionary definition.
often this comes down to multiple aspects of confusion, in conjunction
with one another. not understanding well the difference between
authoritative and caching [sometimes called "recursive"] nameservers,
not understanding well the different between iterative and recursive
queries, and typically most often, not understanding the difference
between the queries a nameserver accepts and the queries it performs.
lastly, nameservers can be configured in such a way that they are
providing both authoritative and caching service, which can introduce
additional confusion to inexperienced folks.
generally, caching nameservers accept recursive queries, and perform
iterative queries in order to provide the answer. however, it's
possible that a caching nameserver could also perform a recursive query
to get the answer [think "forwarders"], had the admin configured it to
do so. this type of config is generally discouraged [for of the reasons
covered regularly on this list, of course].
in terms of caching nameservers being referred to as recursive
nameservers, this means that the server *accepts* recursive queries. it
does not necessarily mean that the server *performs* recursive queries
[although as mentioned above, it may].