I support the adoption of this document. Was there a discussion of any
actual downsides besides "I'd like to know if it's stale" and
monitoring?

On Mon, Sep 11, 2017 at 11:11 AM, Bob Harold <rharo...@umich.edu> wrote:
>
> On Thu, Sep 7, 2017 at 10:07 PM, Mark Andrews <ma...@isc.org> wrote:
>>
>>
>> Part of the problem is that we have one TTL value for both freshness
>> and don't use beyond.
>>
>> This is fixable.  It is possible to specify two timer values.  It
>> does require adding signaling between recursive servers and
>> authoritative servers, on zone transfers and update requests.
>>
>> You basically add a additional timer field to every record immediately
>> after the TTL field.  This is only returned if the client has
>> signalled support for the extended field, I suggest using the last
>> DNS header bit for this as you can determine how you will parse the
>> response base on whether the bit is set in the response or not.
>> This field is used to expire records from the cache and its value
>> is set to the TTL field if the server has learnt the record from
>> server that doesn't support the extension.
>>
>> The existing TTL field is used for freshness checking.  When a query
>> comes in after that value has expired a freshness check is performed
>> similar to the existing prefetches that happen today.  A TTL of 1
>> is returned unless the original TTL was 0 in which case 0 is returned.
>>
>> New client - new recursive server - new authservers
>>
>>         example.com. 300 86400 IN A 1.2.3.4
>>
>>                 +300 seconds
>>
>>         example.com. 1 86100 IN A 1.2.3.4
>>          (background query is in process)
>>
>> Old client - new recursive server - new authservers
>>
>>         example.com. 300 IN A 1.2.3.4
>>
>>                 +300 seconds
>>
>>         example.com. 1 IN A 1.2.3.4
>>          (background query is in process)
>>
>> New client - new recusive server - old auth servers
>>
>>         example.com. 300 300 IN A 1.2.3.4
>>
>>                 +300 seconds
>>          (record has expired from cache,
>>           new query is performed)
>>
>>         example.com. 300 300 IN A 1.2.3.4
>>
>> For UPDATE a replacement opcode would be cleanest way to signal the
>> new format is being used.  NOTIMP should be returned by servers
>> that don't support the new opcode.
>>
>> There will be a few broken servers that just echo back the new
>> header bit.
>>
>> This way the authoritative servers still control how long records
>> are stored for.  Dead servers will get a little bit of traffic until
>> the the refresh completes.  If the authorative servers are under
>> attack the clients still see a answer.
>>
>> The alternative is to perform the refresh query and if it fails to
>> complete within X milliseconds return the cached data rather than
>> returning the cached data and doing the refresh in the background.
>>
>> Mark
>>
>> --
>> Mark Andrews, ISC
>> 1 Seymour St., Dundas Valley, NSW 2117, Australia
>> PHONE: +61 2 9871 4742                 INTERNET: ma...@isc.org
>
>
> While I like the idea of a  "don't use beyond" timer, I think it will be a
> very long time before it is widely deployed (and actually configured by zone
> owners), and therefore won't solve our immediate need.  It would be great if
> clients could opt-in, but again I don't see that happening anytime soon.  So
> I would start with resolver-operators deciding what seems best for their
> clients (which is hat is happening whether we like it or not).  Adding
> client opt-out/opt-in would be good.   Signalling to say that a response is
> stale would be good.  Adding the second timer (both per-RR and as a zone
> default value, like TTL is handled) would be good.
>
> On a related note - the SOA "expire" timer tells a slave how long to keep
> serving "stale" zone data when the master cannot be reached.  Would that be
> a reasonable default value for how long a resolver should serve "stale" data
> when the authoritative servers cannot be reached?   (Currently I think most
> people set a very high value compared to the TTL.)
>
> --
> Bob Harold
>
>
>
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop
>

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

Reply via email to