On Fri, Mar 11, 2016 at 3:52 PM, Ted Lemon <ted.le...@nominum.com> wrote:
> > It is certainly not the goal. Can you tell exactly where it is > > assumed? Section 2 is supposed to be implementation-neutral. > > Right here: > > When an iterative caching DNS resolver receives a response NXDOMAIN, > it SHOULD store it in its cache and all names and RRsets at or below > that node SHOULD then be considered to be unreachable. Subsequent > queries for such names SHOULD elicit an NXDOMAIN response. > > "At or below" assumes a tree. Just because it isn't explicitly mentioned > doesn't mean that it's not saying that! > Perhaps we can make it explicit that the tree here is conceptual, and not an implementation required data structure? The domain name space is certainly defined in terms of a tree structure. And the cache being a subset of the data in the domain name space -- it is much easier to reason about it in terms of that tree structure and to describe things in those terms (names under/above, descendent names, subtrees etc). In fact, the DNS algorithm description in RFC 1034 clearly states an assumption that the cache is a tree structure, so the precedent is already well established: see section 4.3.2 which says "The following algorithm assumes that the RRs are organized in several tree structures, one for each zone, and another for the cache:" ... Personally, I would be okay with removing the "Implementation Considerations" section. On the question of "SHOULD", I was hoping we'd get rough consensus that this is a good goal, in terms of making the entire DNS ecosystem more efficient - why should resolvers make unnecessary outbound queries for name that don't exist, and why should authoritative servers receive those queries? But I understand the concern that there might be implementation challenges for some. -- Shumon Huque
_______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop