> Saying "without DNSSEC" doesn't seem like a better way to address any
> problem...

Depends on how far in front of the horse you want to put the cart, I guess.   
By "without DNSSEC," I mean "without requiring DNSSEC."   Of course we want 
DNSSEC, but it's not widely enough deployed yet to really make a difference, is 
it?

As for your question about complexity, I'm going to include an answer from our 
engineering team here, because I don't think I can paraphrase their explanation 
in a way that would improve on it:

Consider a zone with names "@", "aa", "bb", ... "zz".  ("@" being "the empty 
name", and I'm using relative names for brevity.)

You query for "m" and get an NSEC proving there's nothing between "ll" and 
"mm", and a proof that there is no wildcard.  Let this be denoted by "!ll->mm" 
and "!@->aa".

Meanwhile, at the authority, "m" is added and "ll" is deleted.

You query for "l".  The authority gives back "!kk->m" and "!@->aa".  How should 
you update your state as a resolver?  The !ll->mm and !kk->m rules are mutually 
inconsistent.  Do you store inconsistent data?  If asked about "m" do you 
answer "NXDOMAIN" or go recurse to find out the answer?  Do you flush any 
specific NXDOMAIN entries you have in your O(1) cache that might be affected 
(maybe you made them for performance reasons), or do changes to the tree only 
affect new resolutions?

IMO, the only "right" thing to do is to drop !ll->mm and keep !kk->m since it 
is more recent.  (In this example, we know it is more recent, but in the real 
world how do you know you're not talking to a slave that's behind?  Are you 
meant to look at the serial in the SOA RR too or signature expiration times?)  
I'm OK with not flushing things out of the O(1) cache.

Meanwhile at the authority, everything but @ is deleted.

You query for "b" and get "!@->@".  Now you have to delete everything in the 
tree.  The point here is just that the tree maintenance can affect multiple 
nodes in the tree, as any new truth you learn from the authority can be 
inconsistent with some sequence of things you already know.
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to