Hi Duane,

On Wed, Jul 5, 2023 at 18:32, Wessels, Duane 
<[[email protected]](mailto:On Wed, Jul 5, 2023 at 18:32, 
Wessels, Duane <<a href=)> wrote:

> On Jun 30, 2023, at 2:32 PM, Joe Abley <[email protected]> wrote:
>
>> I wonder whether another subsection of section 2 would be useful to discuss 
>> transactions that don't time out, but whose transports return positive 
>> indications of failure, e.g. a TCP handshake failure or RST, or a TLS 
>> negotiation failure when using DoT or DoH. These are not
>
>> timeouts, but they also lack RCODEs (since they lack responses). Is it worth 
>> suggesting that failures that are transport-specific be cached, e.g. to 
>> record that server 192.0.2.1 doesn't respond on TCP so don't bother 
>> bombarding it with SYNs? You talk about this in 3.1; perhaps a forward 
>> reference from section 2 would be helpful.
>
> Based on your points here, we suggest this update to section 2.3:
>
> 2.3. Timeouts and Unreachable Servers
>
> A timeout occurs when a resolver fails to receive any response from a
> server within a reasonable amount of time. Additionally, a transport
> layer protocol may more quickly indicate lack of reachability in a
> way that wouldn't be considered a timeout. For example: an ICMP port
> unreachable message, a TCP "connection refused" error, or a TLS
> handshake failure. [RFC2308] refers to these conditions collectively
> as "dead / unreachable servers."
>
> Note that resolver implementations may have two types of timeouts: a
> smaller timeout which might trigger a query retry and a larger
> timeout after which the server is considered unresponsive.
> Section 3.1 discusses the requirements for resolvers when retrying
> queries.

I like it.

>> Section 2 talks at some length about RCODEs like SERVFAIL and REFUSED but is 
>> silent on the existence of the extended error option. This may be ok, e.g. 
>> since the EDE spec is quick to specify that it "does not change the 
>> processing of RCODEs" and since the purpose of your draft is presumably to 
>> deal with retry behaviour regardless of whether EDE is supported, but it 
>> feels odd not to mention it at all even if it's just to clarify why it's ok 
>> for this specification to deal just with RCODEs.
>
> We’ve added this:
>
> Although the extended DNS errors method exists "primarily to extend
> SERVFAIL to provide additional information," it "does not change the
> processing of RCODEs" [RFC8914]. This document operates at the level
> of resolution failure and does not concern particular causes.

Great!

>> Section 3.1 uses the phrase "a server's transport". I stared at that for 
>> quite a bit and I'm not sure I know for sure what it means. I think you're 
>> talking about the number of successive transmission of the same query using 
>> the same transport that are sent to the same server address. Perhaps that's 
>> obvious to other people (or perhaps my interpretation illustrates that there 
>> is some ambiguity).
>
> That is the intention. Is this more verbose text better?
>
> A resolver MUST NOT retry a given query to a server address over a
> given transport protocol more than twice (i.e., three queries in
> total) before considering the server address unresponsive over that
> transport for that query.

That seems better to me, thanks.

>> Later in this section when you say "timeout value" I think you're talking 
>> about how long to wait before identifying a timeout. Again, perhaps that's 
>> obvious.

> how about this?
>
> This document does not place any requirements on how long an
> implementation should wait before retrying a query (aka timeout
> value), which may be implementation- or configuration-dependent. It

Unless you're going to reuse the phrase "timeout value" somewhere else I'm not 
sure why you define it, but that is definitely clearer to me than the original 
and I am wary of being even more pedantic than I already was (which is why I 
didn't make any comment above about "a given query") (whoops, inside voice).

Thanks for taking care of those things. I think the document is ready to ship.

Joe
_______________________________________________
DNSOP mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/dnsop

Reply via email to