I see, thanks for clarifying. So this proposal would require every
implementation that chooses to ever deploy a new codepoint to implement
this new extension, for all eternity. That seems brittle to me, as things
would break in the presence of a single lazy implementer. What made GREASE
viable was the fact that it only takes work from one popular implementation
to create herd immunity, even if all other implementers are lazy. I don't
think it would have been viable otherwise.
David

On Wed, Apr 24, 2024 at 2:59 PM Brian Dickson <brian.peter.dick...@gmail.com>
wrote:

>
>
> On Wed, Apr 24, 2024 at 2:28 PM David Schinazi <dschinazi.i...@gmail.com>
> wrote:
>
>> If I understand your proposal correctly, this would require the receiver
>> to support this new EDNS option in order to properly remove values that the
>> sender thought were unused but that the receiver did not. Such a
>> requirement on receivers makes it impossible for the sender to know it can
>> safely GREASE, because the sender has no way of knowing that the receiver
>> supports this new EDNS option. In general, the idea behind GREASE is that
>> any sender can use it without requiring any changes on the receiver.
>>
>
> Not exactly, at least I don't think so.
>
> The presumption would be at some point in time, new code points are
> deployed. If the "grease" specific thing were well publicised, and new code
> points referenced it, it might be possible to infer that newer code points
> are deployed only if they are covered in grease.
> And conversely, code points prior to the EDNS grease thing would not be
> covered in grease.
>
> Thus, senders using grease would be able to know that either a code point
> was free to use for grease operations (because the receiver does not return
> the grease EDNS thing), or that the grease coverage facilitated flagging of
> code points subsequent to the EDNS grease thing.
>
> It's kind of like a flag day, but more of a soft opening, i.e. a
> dependency situation.
>
> Brian
>
>
>>
>> David
>>
>> On Wed, Apr 24, 2024 at 2:09 PM Brian Dickson <
>> brian.peter.dick...@gmail.com> wrote:
>>
>>>
>>>
>>> On Wed, Feb 28, 2024 at 7:11 AM Shumon Huque <shu...@gmail.com> wrote:
>>>
>>>> Thanks for your comments David. I hope it will progress too, and good
>>>> to hear that that grease worked well for TLS and QUIC.
>>>>
>>>> On random vs reserved values, we do intend to propose some reserved
>>>> ranges (there is a placeholder section in the draft for this already). And
>>>> then try to have a debate about the pros and cons (e.g. is reservation just
>>>> going to cause middleboxes to treat the greasing range specially, etc). For
>>>> the larger fields, yes, we could allocate larger reserved ranges and pick
>>>> randomly from those. For the smaller fields (that accommodate just a
>>>> discrete set of flags, rather than a number), we could reserve just a small
>>>> handful of flags. For any proposal that uses purely random unallocated code
>>>> points, I think we'd need software to have pre-configured (or configurable)
>>>> end-of-test dates as one way to avoid future interoperability issues.
>>>>
>>>> Even for the larger ranges though, there is a more granular
>>>> classification (such as data vs meta vs q-types in the RR-type space) where
>>>> more nuanced treatment is needed, such as defining multiple reserved ranges
>>>> and expecting distinct response behavior for each.
>>>>
>>>
>>> I have an idea, which may or may not be useful, for avoidance of testing
>>> random code points which are subsequently used, when the two endpoints have
>>> differing ideas of which code points are in use.
>>>
>>> (Philosophically, I prefer negotiated/signaled over unilateral/reserved
>>> things. Reserved ranges are the latter. The suggestion here is one
>>> potential method or approach for the former.)
>>>
>>> Would using an EDNS option to signal the set of values that the sender
>>> believes are "grease" (and are set in the outgoing packet) work?
>>>
>>> The recipient would flag the values that are "in use" from among the
>>> "grease" values, and the original sender would handle the non-grease
>>> response elements flagged by the recipient.
>>>
>>> This would also allow for one or more grease values to be probed
>>> simultaneously or individually, in order to assess/investigate sources of
>>> non-response. Including information from both ends via EDNS allows for
>>> correlation of those including both the path and the authoritative server
>>> EDNS information as data points.
>>>
>>> For example, if RRTYPE=FOO were a grease value sent by a resolver, it
>>> would have EDNS thing "grease-list:RRTYPE=FOO,..." (modulo bike shed color)
>>> added. The authoritative server would generate whatever response it had for
>>> RRTYPE=FOO, and add a corresponding EDNS thing "non-grease-list:RRTYPE=FOO".
>>> The resolver would be able to safely ignore anything/everything in the
>>> response, and optionally cache tuple of (authority-IP,code-point) so as to
>>> potentially avoid using it as grease, or to log something to the effect of
>>> "FOO is now in the wild, maybe you need to update this resolver's
>>> software?".
>>>
>>> This would allow for random grease rather than reserved grease, I think,
>>> and would be more appropriate for exercising the full range of code points.
>>>
>>> Brian
>>>
>>>
>>>>
>>>> Shumon.
>>>>
>>>> On Tue, Feb 27, 2024 at 5:59 PM David Schinazi <
>>>> dschinazi.i...@gmail.com> wrote:
>>>>
>>>>> I think this draft is a great idea and I'd love to see it progress.
>>>>> GREASE did well in TLS and worked wonders in QUIC - it helped us catch
>>>>> multiple real production issues early on.
>>>>>
>>>>> That said, I do worry about the idea of using random unallocated
>>>>> values. Not all software gets updated, and no software gets updated
>>>>> immediately worldwide, so this idea is bound to cause interoperability
>>>>> failures down the road. For the 16-bit values, definitely allocate a few
>>>>> hundred GREASE codepoints and then pick a random one from that allocated
>>>>> list. For the fields smaller than 8 bits, things are obviously more
>>>>> difficult but I think you'll be much better off reserving a much smaller
>>>>> number of codepoints and using those instead of using random ones. One
>>>>> instance of an non-updated implementation spraying what values it thinks
>>>>> are unallocated could be enough to prevent future extensibility.
>>>>>
>>>>> David
>>>>>
>>>>> On Mon, Feb 26, 2024 at 10:39 PM Mark Andrews <ma...@isc.org> wrote:
>>>>>
>>>>>> Yep, we are in a much better position than we were in 2019.  Most
>>>>>> failures are
>>>>>> well < 1% when talking to authoritative servers.  Broken firewall
>>>>>> defaults have
>>>>>> been fixed and mostly deployed.
>>>>>>
>>>>>> > On 27 Feb 2024, at 16:41, George Michaelson <g...@algebras.org>
>>>>>> wrote:
>>>>>> >
>>>>>> > so yet again, I voice things which show my ignorance, not yours. I
>>>>>> > thank you for the gentle clue-stick hit, it was educational.
>>>>>> >
>>>>>> > -G
>>>>>> >
>>>>>> > On Tue, Feb 27, 2024 at 12:24 PM Shumon Huque <shu...@gmail.com>
>>>>>> wrote:
>>>>>> >>
>>>>>> >> On Tue, Feb 27, 2024 at 12:01 AM Mark Andrews <ma...@isc.org>
>>>>>> wrote:
>>>>>> >>>
>>>>>> >>>
>>>>>> >>>> On 27 Feb 2024, at 15:53, George Michaelson <g...@algebras.org>
>>>>>> wrote:
>>>>>> >>>>
>>>>>> >>>> Not in any way to stop this specific draft, I wonder if this is
>>>>>> a more
>>>>>> >>>> general principle of exercising code points which are not marked
>>>>>> >>>> "never to be used" and should also be raised cross-area, or in
>>>>>> another
>>>>>> >>>> place?
>>>>>> >>>>
>>>>>> >>>> Maybe the best path is to get this proved here, and then
>>>>>> embrace-extend.
>>>>>> >>>
>>>>>> >>> Sure there are a lot of places where this should be done.  This
>>>>>> is going
>>>>>> >>> to cover DNS.
>>>>>> >>
>>>>>> >>
>>>>>> >> Yup, and although Mark and I have been mulling this for DNS for a
>>>>>> number
>>>>>> >> of years now, the general principle has also been discussed
>>>>>> elsewhere (see
>>>>>> >> the references to greasing) and RFC 8701 describes greasing for
>>>>>> TLS.
>>>>>> >>
>>>>>> >> We should track that work too, but this draft can focus on the DNS
>>>>>> use case.
>>>>>> >>
>>>>>> >> Shumon.
>>>>>> >>
>>>>>>
>>>>>> --
>>>>>> 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
>>>>>>
>>>>> _______________________________________________
>>>>> 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
>>>>
>>>
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to