Hi Joe!

On 05/11/2024 12.47, Joe Abley wrote:

On 5 Nov 2024, at 13:13, Shane Kerr <sh...@time-travellers.org> wrote:

I wrote a quick draft to specify that answers returned should be returned in a 
random order:

https://datatracker.ietf.org/doc/draft-kerr-everybodys-shuffling/

I think that you might need to nail down what "random" means. I presume you 
don't mean random in the xkcd-221 sense, for example. You probably don't mean lava-lamp 
or double-pendulum random either, at least not as a MUST. Would it be ok for an rrset to 
be shuffled once per minute rather than every time a response is generated?

In the security section I do mention that you don't need cryptographically-secure random numbers. I could expand that a bit, if it is useful.

I did consider the idea of periodic shuffling. That makes sense to me, since I think we can reasonably assume that servers will not be shuffling at exactly the same time and should have different results. It would mean slightly more state on the server (tracking when the last shuffle was) in exchange for saving the work of re-ordering results on every response. If you think it makes sense I'm happy to add text about this approach.

More generally from your OARC talk I think your experience is that  
(paraphrasing) not shuffling is fine for most people, but sometimes causes 
problems. Does it make sense to translate that into a normative MUST for the 
protocol?

My own feeling is that probably it impacts many zones but people are not aware (which could be interpreted as "is fine", but also could be interpreted as "basically works but doesn't actually do what the user thinks it does"). There are for sure some zones that experience problems.

I learned offline that at least one resolver operator recent changed their system to randomize results recently independent of my research and presentation. Plus most open source resolvers randomize results by default.

The fact that people keep independently discovering the same thing is what prompted me to write this draft!

I think good practice on the consumer end of this is to understand that 
addresses obtained from a dns response be treated as an unordered set and not 
an ordered list. Maybe it makes sense to talk about recommendations there as 
well as recommendations for DNS responders?

The draft does recommend that both stub resolvers and applications treat the RR in a random order.

I'm happy to expand on that although I am doubtful it will help much. Maybe it could be convincing enough that OS or library authors will change how they present answers to applications though... 🤔

Thanks for your feedback!

--
Shane

_______________________________________________
DNSOP mailing list -- dnsop@ietf.org
To unsubscribe send an email to dnsop-le...@ietf.org

Reply via email to