this is getting pretty good. anyone who stopped reading before now, may
want to delve back in at this point.
Ted Lemon wrote:
no. it's not an interoperability matter.
If it's not an interoperability matter, then there shouldn't really
beany normative language.
i think hop-by-hop interoperability (which is what ietf normally
measures, since the bits on the wire have senders and receivers) is the
wrong way to understand end-to-end utility and correctness in the dns.
an authority server operator experiencing a PRSD DDoS might wish to add
a zone cut or even remove a name in order to manage their defense costs.
when they hand out authoritative content to recursive servers, they will
find that some recursive servers will honor the clarified subdomain
semantics of nxdomain and others will not. this is not an
interoperability problem, but it's a very real problem well deserving
our attention here.
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. ...
you're distracting me. i used to be a programmer and this is an
interesting problem. as others have pointed out up-thread, you don't
have to do the purge at nxdomain time; you can purge lazily when you are
responding on an affected qname; or you can purge never and just send
the nxdomain instead of the unreachable content, and let the unreachable
content expire naturally (TTL or LRU or whatever.) or you can refactor
your cache to be a hierarchy of hash tables rather than a flat hash table.
however, back to the topic at hand, the implementation costs are not
germane to system correctness. if nominum CNS and/or nlnetlabs Unbound
can't implement the clarified nxdomain semantics, then they just won't.
your customers and your investors can decide what this means to them.
note that interposing a new zone cut should ideally also cause a purge,
either real or effective. this is nowhere written down, but has the same
reasoning: a new authority ought to be given a fresh chance to populate
caches. this is related to, and similar to, but not the same as the
ns-rrset reverification logic proposed in resimprove-00, and will cause
very similar implementation problems for flat-hash caches.
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. ...
inconsistency is in that sense a known hazard, but not a benefit. we
call the system "best efforts" because we know it won't be consistent
but we want everyone involved to do their best anyway.
--
P Vixie
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop