In message <alpine.bsf.2.11.1406221459160.94...@joyce.lan>, "John R Levine" writes: > >> I understand that it's still a cache in the DNS hierarchy, but in > >> operation, it's much more like a secondary master. Like a secondary, > >> it bulk fetches the zone, answers all queries about that zone from its > >> own copy, and uses the SOA times to decide when to fetch again. > > > > There are some potentially surprising protocol implications for clients > > when recursive servers answer authoritatively for particular queries. > > Specifically, AA and AD bit processing is different. > > I don't get it. The recursive server is still using data that it got from > an authoritative server. Why wouldn't it set the bits the same way it > would as if it had fetched the records one name at a time?
Because authoritative servers don't normally validate the answers they are returning. You have to answer things like what to do when you can't establish a chain of trust to the zone you are serving or prove that there isn't a chain of trust. For a cache you SERVFAIL. An authoritative server's job is to serve the data it has regardless of whether it validates or not. That said it is possible to validate answers from a local copy of a zone and I do just that on my caching servers by having the recursive view query a seperate view which has local copies of the zones in it. > The only thing I can see that's a little funky is that it makes its own > NXDOMAIN responses, but I'd think those would be AD if they're created > from signed RRSETs. Synthesizing NXDOMAIN / NODATA responses is different to having a local copy of the zone. DLV requires caches synthesize negative responses internally so it is not like doing this is impossible. The fun part becomes limiting it to just some zones. For DLV this is easy as the entire namespace is supposed to be involved. There is no bottom of zone to detect and worry about. You also need to do things like maintain seperate NSEC / NSEC3 trees or finding the previous NSEC / NSEC3 record becomes expensive in the general case. In the NSEC3 case you also have to workout where to anchor the search for the NSEC3 record. You also have to worry about things like OPTOUT. For NSEC you can just walk the normal cache tree, provided it is in DNSSEC order, which is why DLV only uses NSEC signed zones. I didn't want to have to solve those other issues involved with NSEC3. > Regards, > John Levine, jo...@taugh.com, Taughannock Networks, Trumansburg NY > Please consider the environment before reading this e-mail. > > _______________________________________________ > DNSOP mailing list > DNSOP@ietf.org > https://www.ietf.org/mailman/listinfo/dnsop -- Mark Andrews, ISC 1 Seymour St., Dundas Valley, NSW 2117, Australia PHONE: +61 2 9871 4742 INTERNET: ma...@isc.org _______________________________________________ DNSOP mailing list DNSOP@ietf.org https://www.ietf.org/mailman/listinfo/dnsop