[DNSOP] Re: New Version Notification for draft-bortzmeyer-dn sop-poisonlicious-05.txt

Babak Farrokhi <[email protected]> Wed, 05 Aug 2026 18:01:04 +0200
Newsgroups gmane.ietf.dnsop
Message-ID <[email protected]>
--===============6969072994316916145==
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha512; protocol="application/pgp-signature"

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Petr =C5=A0pa=C4=8Dek <[email protected]> writes:

> On 05. 08. 26 17:33, Ben Schwartz wrote:
>> On Wed, Aug 5, 2026 at 10:54=E2=80=AFAM Petr =C5=A0pa=C4=8Dek <pspacek@i=
sc.org> wrote:
>>> On 04. 08. 26 22:00, Ben Schwartz wrote:
>> ...
>>>>   My question is whether we should be pursuing this
>>>> architecture (an O(N) response "broadcast" for cache sharing), as
>>>> opposed to some other architecture (such as a multilayer cache
>>>> architecture).  Are you running broadcast-style cache sharing in
>>>> production?
>>>
>>> It does not have to be broadcast, does it? Generally it is discretion of
>>> the sender to whom it will get delivered, and I would expect great
>>> variety in strategies here. E.g. not sending NXDOMAINs unless they pass
>>> some heuristic etc.
>> Filtering which responses are shared seems plausible.  Delivering
>> different responses to subsets of the fleet in a useful way seems much
>> more difficult.
>> If I were trying to use poisonlicious in a highly optimized
>> architecture, it would look like this:
>> 1. The stub issues a query.
>> 2. The query hits a dispatcher (dnsdist), which routes it to a
>> resolver instance based on hash(qname)
>> 3. The resolver starts working, encountering some cache misses along
>> the way.  On cache miss, it sends an RD=3D0 (i.e. cache snooping) query
>> back to the dispatcher, which forwards it to the responsible instance
>> by hash(qname).
>> 4. If the cache snooping query fails, the resolver queries upstream,
>> and copies the response to the dispatcher via poisonlicious.
>> 5. The dispatcher forwards the poisonlicious response to the instance
>> responsible for hash(qname), which adds it to the cache.
>> If an architecture like this is in scope for poisonlicious, then I
>> think it would be useful.  I don't see any technical impediment within
>> the present draft, but perhaps the operational considerations could be
>> expanded to note the possibility of a dispatcher and "lookaside
>> snooping" behavior.
>
> I would much prefer if we just defined what messages on the wire mean
> and left implementations to figure out what's best for them. We have
> bunch of resolvers with different strategies and there's a reason for
> it - different deployments have different requirements. DNS is nowhere
> close to one size fits all.

I agree with Petr here. I understand that implementers don't want to add
more complex logic to their implementation, and by that to introduce new
failures modes and security risks.

On the topic of broadcast: My idea setup would involve a multicast group
in a cluster, where a resolver can decide to join or leave. Like a
resolver with a cold-cache to join the group and warm up the cache,
and then leave when it reaches a certain level of cache hit ratio threshold.

BR,

=2D-=20
Babak Farrokhi

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iKUEARYKAE0WIQRu+73tYCYKk7tFGWuCnEUHptH9aQUCanNeQBsUgAAAAAAEAA5t
YW51MiwyLjUrMS4xMiwwLDMTHGJhYmFrQGZhcnJva2hpLm5ldAAKCRCCnEUHptH9
aXUPAP9bEq0+leDQsg8bVjO/Ya2S5mVbjZET2bDUA9rro2XiYQEApGOHX3x96Qam
duv7Oh2AaV1HBW63RkJbTbVd/nMlGw0=
=97lE
-----END PGP SIGNATURE-----
--=-=-=--


--===============6969072994316916145==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: inline

X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRE5TT1AgbWFp
bGluZyBsaXN0IC0tIGRuc29wQGlldGYub3JnClRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwg
dG8gZG5zb3AtbGVhdmVAaWV0Zi5vcmcK

--===============6969072994316916145==--