Re "recursive queries", an interesting thing came up yesterday...

http://www.unbound.net/downloads/CVE-2014-8602.txt

> Resolvers fetch the content for domain names by sending queries to
> authority servers on the internet.  One of the responses that authority
> servers can return is a referral response, which points to further
> servers to continue the lookup.  To continue the lookup, resolvers
> may have to perform recursion, where new names, called glue, from the
> referral response have to be looked up to continue the query resolution.

This is not the usual DNS meaning of recursion. Referrals occur during
*iterative* resolution. (Also, tangential to the point of this message,
delegation NS records are not glue - if there is glue in the response,
it isn't necessary to find the addresses of the NS targets!)

I have spent a little time trying to see what these sub-queries are called
in other contexts.

RFC 1034 section 5.3.3 says:

> The top level algorithm has four steps:
>
>    1. See if the answer is in local information, and if so return
>       it to the client.
>
>    2. Find the best servers to ask.
>
>    3. Send them queries until one returns a response.
>
>    4. Analyze the response, [...]

The question is, what do you call the queries made in step 2?

BIND has various functions with "find" in the name which deal with finding
name server addresses. I don't think it has a more special name for this
part of the iterative process.

I can see why Unbound calls them "recursive" queries, from the structure
of the process, but it is a really unhelpful choice of word given its
other very different meaning in the context of the DNS.

There are a few places in the RFCs where these are referred to as
"parallel" queries, e.g. later in RFC 1034 section 5.3.3,

> The resolver has many choices here; the best is to start parallel
> resolver processes looking for the addresses while continuing onward
> with the addresses which are available.

and RFC 1035 section 7.1 (noted by Peter van Dijk),

>     Note that if the resolver structure allows one request to
>     start others in parallel, such as when the need to access a
>     name server for one request causes a parallel resolve for the
>     name server's addresses, the spawned request should be started
>     with a lower counter.  This prevents circular references in
>     the database from starting a chain reaction of resolver
>     activity.

Tony.
-- 
f.anthony.n.finch  <d...@dotat.at>  http://dotat.at/
Rockall, Malin, Hebrides, Bailey, Fair Isle: South veering west or southwest,
gale 8 to storm 10, occasionally violent storm 11 in Rockall and Bailey later.
Very rough or high, becoming very high or phenomenal. Rain, then squally
wintry showers. Moderate or poor, occasionally good.

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

Reply via email to