> no. it's not an interoperability matter. If it's not an interoperability matter, then there shouldn't really be any normative language.
> however, how you'd go about justifying the removal of all rrsets at some > name when you learn that this name does not exist, without also removing > all rrsets of all subdomains, will be interesting. > if i had rrsets cached at a name, and then i heard an nxdomain for that > name, and then that nxdomain expired, i would not "feel alright about" > answering with the old rrsets. why would subdomains be different? This is all certainly true as far as it goes. However, if every NXDOMAIN requires a full cache traversal, as it will for any hashed cache with the restriction you've proposed, then NXDOMAIN suddenly becomes a _really_ powerful DoS attack. The best part is that there don't even have to be any entries in the cache to prune: every time you get an NXDOMAIN you're going to have to traverse the whole hash. So all I have to do to bring a server to its knees is send it a bunch of queries for names in .COM that don't exist. This is _seriously_ not a good idea. It is worth noting that there's a generally accepted principle, which has been tossed in my face one or two times on this mailing list, that the DNS is not required to be consistent. A zone's contents for any serial number are expected to be the same, but caches don't cache zones--they cache answers. At the level of answers, as opposed to zones, consistency is always on a best-effort basis. Arguing that not pruning the tree when you get an NXDOMAIN is inelegant isn't sufficient to justify the proposed normative language, true though it may be. _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop