> On Jan 25, 2018, at 3:27 PM, Evan Hunt <e...@isc.org> wrote:
> 
> On Thu, Jan 25, 2018 at 10:05:24PM +0000, Wessels, Duane wrote:
>> Why does the draft mandate initial TTL behavior?  The important aspect
>> would seem to be how long the data can be kept in cache, not what the
>> (initial) TTL value is.  As I noted in the previous message, Unbound's
>> cache-max-ttl works that way and I think it has some nice properties.
> 
> I'm not sure I understand the distinction you're making. When you first
> cache something, its TTL represents the length of time that data can be
> kept in the cache, and it counts down from there to zero. That's what
> I meant by the initial TTL.

As an example, consider an ANAME record with TTL 3600 and a corresponding
AAAA record with TTL 86400.

I'm suggesting its just as acceptable to return the AAAA record with TTL 
counting
down from 86400, but after 3600 seconds it is ejected/marked stale/whatever from
the ANAME-implementing authoritative server.

Unbound does that with its cache-max-ttl setting.

If you do it this way then the consumers of the data (including ANAME-unaware
clients) get to cache it for the original TTL.  


> 
>> Also in this new text I'm not sure what to make of "intermediate and address
>> records." If "and" is truly intentional in this phrase then I think
>> intermediate should be better defined, or examples given.
> 
> Suppose ANAME (TTL 3600) points to a CNAME (TTL 30) which points to a CNAME
> (TTL 5) which points to an A (TTL 86400).  The response would contain ANAME
> with TTL 3600 and, because of the intermediate CNAME, A with TTL 5.
> 
> Suggestions welcome for a clearer way to phrase this.

I now notice that intermediate is sort of defined at the end of section 3.  
Perhaps
that is sufficient.  I guess we don't have a good collective term for 
CNAME/DNAME/ANAME yet.

> 
>>>   Address records with expired TTLs MUST NOT be used to answer
>>>   address queries until refreshed by sending a new query to the ANAME
>>>   <target>.
>>> 
>>> [...]
>>> 
>>>   If resolution of the ANAME <target> yields no address records due to
>>>   some other failure, and the query was for a specific address type,
>>>   the response MUST include the ANAME record and set the RCODE to
>>>   SERVFAIL.
>> 
>> If the authoritative server has address records, which then expire, and
>> cannot be refreshed, I read this as saying the later response must be
>> SERVFAIL.
> 
> For A or AAAA queries, that is the intent. An explicit query for type ANAME
> would still be answered.
> 
>> That seems in contradiction with the ideas of draft-serve-stale which says
>> "stale bread is better than no bread" and "Several major recursive resolver
>> operations currently use stale data for answers in some way ...  Their
>> collective operational experience is that it provides significant benefit
>> with minimal downside."
> 
> This seems like a job for the resolver, not the auth server.  In the long
> term my hope is that resolvers will implement ANAME, chase the answers
> themselves, and then decide whether to serve stale records or not.
> However, I guess we can relax this requirement if the auth server is
> configured for serve-stale.

It seems to me that ANAME gives auth servers resolver-like properties, so why
wouldn't that apply there as well?

DW

_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to