Apologies in advance for iPad MIME-crime. See below for crimes committed by 
workman rather than tools.

> On Sep 7, 2017, at 21:37, Paul Vixie <p...@redbarn.org> wrote:
> 
> note, there's a proposal contained here.
> 
> Jared Mauch wrote:
>>> On Thu, Sep 07, 2017 at 01:29:47PM -0700, Paul Vixie wrote:
>>> if the draft being considered was clear on two points, i'd support adoption.
>>> 
>>> ...
>> 
>>   Would you see the querying application informing you of intent via
>> option code saying "If I'm unable to talk to you once TTL expires, I may 
>> serve
>> your last known good answer"?
> 
> i don't think so. if it was "may i serve your last good answer?" then yes. 
> but with it as "i may" and the ? outside the quotes as shown above, then no.

There's a recursive operator with whom Jared and tale may be familiar that some 
time ago had a feature called "pinning" whereby particular names that were 
known to be availability-sensitive (their non-availability caused great 
disturbance in the helpdesk) could be "pinned" -- that is, in the recursive 
server, they were configured never to expire from the cache. They could be 
refreshed, but they would not expire.

When I remember learning about this I remember a certain personal conflict. The 
goal in the implementation I referred to was edge-centric, in the sense that 
the goal was to reduce the opportunity for end-users to see breakage due to DNS 
resolution failure. The recursive operator (and, by proxy, the access provider 
that was fielding the support calls) could probably find out in short order 
whether this was a safe thing to do for particular domains, and they chose the 
domains that should be pinned, but I thought and still think that that was a 
less desirable workflow than the zone manager signalling what the behaviour 
should be in the event that authoritative servers couldn't be reached. The 
implementation was pragmatically good, but I thought it could be better.

The conversation I have seen so far is edge-centric; a recursive operator might 
serve stale data because it believes that a stale answer is better than no 
answer in all cases. A more granular approach might allow a recursive server to 
cache a record with multiple TTLs, indicating (for example) that ideally you 
would refresh this response after N seconds, but if you can't do that then 
perhaps M seconds would be fine. A large M would reasonably approximate "quite 
stale". Telling recursive servers what to do in the event of authority servers 
being unreachable seems better as an authority server operator than having to 
deal with a variety of behaviours between you and the end-user. This is 
different from a mechanism whereby a stub or downstream recursive resolver 
would signal tolerance for stale data in responses.

This could be implemented maybe as an EDNS option used in the request and 
corresponding response between a recursive server and an authority server. 
Queries within zones that were not served by their authority servers configured 
to supply the option or which were not requested by recursive servers prepared 
to do the necessary would be handled conventionally.


Joe

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

Reply via email to