At 16:16 13/01/2010, Jim Reid wrote:
On 13 Jan 2010, at 20:49, Alex Bligh wrote:

Current operational practice would result in DO clear packets
fitting within 4096 bytes, so no need for TCP when DO is clear.

I don't think that's always the case Alex. See the lengthy discussion
in this list about datagram fragmentation and broken middleware boxes
that don't grok EDNS0. [Or do EDNS0 with a 512 byte buffer size.
Sigh.] Mind you, some of those boxes will also barf on TCP DNS traffic.

EDNS0 RFC restricts EDNS0 to 4096 bytes, number of implementations
will not send more even if client ask for it. Firewalls will
enforce this.


Thinking about it, a total prohibition (at MUST level) of using TCP
is probably a bit harsh given we don't even know they have UDP
connectivity. Perhaps "MUST issue the priming query *first*
over UDP", or use a SHOULD.

SHOULD is more appropriate than a MUST IMO. If the resolver has a
priori knowledge that UDP/EDNS0 will fail for some reason, forcing
them to do that and then revert to TCP or whatever would be a Bad Thing.

We are talking about the priming query, assume no prior knowledge
only hints that the resolver is configured with i.e. the SBELT.

The preferred approach might probably be along these lines:
        [1] EDNS0 + DO with a buffer of 5-8K (ish)
        [2] TCP + DO when [1] fails
        [3] EDNS0 + DO + 1.5K (ish) buffer if [2] fails
        [4] EDNS0 (no DO) with a 1.5K (ish) buffer
        [5] Vanilla UDP (no EDNS0) if [4] fails

1 is not an option

I think it would be helpful if the guidance on priming queries was
split into 3 categories: resolvers that speak DNSSEC, those that are
not DNSSEC-aware but speak EDNS0 and resolvers that are ignorant of
both protocols. They'd start at [1], [4] and [5] respectively in the
scenario above. The optimal priming behaviour for each may well be
different, particularly wrt EDNS0 buffer minima and maxima. It would
be good to give an explanation for those buffer sizes too in case
we've all forgotten about that when revisiting the issue 5-10 years
from now.

Perhaps the recommended resolver behaviour should apply to all queries
and not just the priming query?

No the priming query is different from all other queries.
Yes there should be guidance on fall back for ENDS0 and that
should be discussed in the ENDS0bis document context.

        Olafur

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

Reply via email to