> Perhaps we can make it explicit that the tree here is conceptual, and > not an implementation required data structure?
That's not the point. The point is that if the _cache_ is represented as a tree, then you can talk about names being "under" other names; if it's not, then that relationship doesn't exist _in the cache_ even though it _does_ exist in the namespace. > 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). Absolutely right. The problem is that are not just reasoning about it: we are placing a requirement on implementations. > 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. That's up to the chairs to decide, but I certainly don't think we _should_ have consensus on this point without having some sense of whether there is any measurable real-world increase in efficiency. This is easy to implement, as is any proposal; the question is, do we want to slow down _every_ query in order to speed up a very tiny number of queries? A hashed implementation will, for every query, have to check every label in the question, starting from the root, a cached NXDOMAIN record, and almost every time will find nothing. So this is really quite a significant increase in overhead. Whereas the increase in efficiency even for caches that use a tree data structure will be down in the noise. What this might be is a quick speed hack for dealing with PRSD attacks in caches that use trees. So I support _allowing_ this behavior. I just don't support requiring it, and if you do, you should really do some measurements to show that there is a _significant_ speed improvement to justify such a requirement. Otherwise, I think that this change is out of charter, because there's no operational issue that this new _requirement_ addresses, even if the clarification has some value operationally. _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop