On 01/11/2016 02:05 PM, Ted Hardie wrote:

>> I'm a little confused. Do you mean the justification of the COOKIE
>> requirement needs more justification, or
>> the edns-query-chain option itself needs more justification. I would hope
>> the latter is clear - it reduces the
>> need for either multiple latency bound round trips or many parallel
>> queries and their callbacks.
>>
>>
> ​Sorry that I wasn't clear enough here.  I'm not asking for a justification
> of the COOKIE, I'm wondering how often this will work over UDP.   Since the
> basic issue is that response sizes needed for validation ​may be large, and
> the cookie will add between 15-40 bytes, it's not clear to me what range of
> UDP payload sizes would actually allow you to use this mechanism over UDP.

Oh I see. I would expect most chains to be only 1-2 segments long, so I think 
those will
fit in a UDP packet, but I have not yet done any careful calculations of that. 
Obviously,
this option fits much better with edns-tcp-keepalive based (long lived) 
connections, but
I think a lot of the time UDP will work fine, even with the COOKIE.

> If I understand your answer correctly, you are saying that the small number
> of bytes here doesn't change distribution of responses that fit into UDP
> significantly.  ("The additional size of the COOKIE is not really a problem
> here. Those would be very few bytes compared to an abusive long chain that
> an attacker could be asking for.")  If the working group believes that's
> the case, that's fine.  It might be useful to include a bit of text in the
> introduction indicating that this is the expectation, but that sort of text
> in archival documents is definitely a matter of taste.

That answer was more in reply to amplification abuse, and not so much in 
response to regular operation.

> 
> 
>>> Is there a
>> ​ ​
>> reason for limiting partial answers to the top-most hierarchical
>>> responses?  If so, could the document include it?
>>
>> The reason for limiting the answer from the top down is that it enables
>> the querying
>> client to extend its own chain further down, and send a new query for the
>> same data
>> with the updated Closest Trust Point further down. This method guarantees
>> that the
>> DNS client can work its way to the answer.
>>
>> If the server decides to send other parts of the chain, the client has to
>> modify its
>> query target in an attempt to get the top part of the chain it did not
>> get. And it has
>> no guarantee that the next query will give it another useful hunk of the
>> chain.
>>
>> Additionally, assuming the DNS client to DNS server connection is of high
>> latency, and
>> the DNS server itself has a low latency uplink, it might actually do the
>> DNS client a
>> disservice giving it part of the chain instead of querying to create the
>> full chain. It
>> would also be guessing as to whether the full chain is likely to fit or
>> not.
>>
>> To me, such strategies seem overly complicated, and require more code on
>> the DNS client
>> implementing handling unexpected partial answers. The top down cut-off
>> seems much simpler
>> to me. But let's ask the working group as well what they think.
>>
>>
> ​I think a short statement like "This strategy somewhat limits the
> opportunity to
> use cached data but results in lower code complexity for clients by
> allowing them
> to retain a common query target after a partial answer" would cover this and
> might be useful.

Are there any others that would think this paragraph would be useful to add? I 
have no objection to it, but also don't really see the need to write this out.

>>> To resolve this, the client would have to be able to detect when the
>> ENDS0
>>> option is suppressed by the path, versus not offered by a Recursive
>>> Resolver.   Some further text on how this is discerned would be useful;
>>> absent a method, I believe the text in 5.3 is sufficient and 6.5 not
>> useful
>>> beyond the points made in RFC 6891.
>>
>> How about removing section 6.5, but moving the one sentence in there:
>>
>>    A fallback strategy similar to that described in [RFC6891] section
>>    6.2.2 SHOULD be employed to avoid persistent interference due to non-
>>    clean paths.
>>
>> to the end of section 5.3? Would that resolve your issue?
>>
>> ​Yes, that seems to work.​

Great, done in my draft. (Still waiting on Tim or Joel to tell me if I should 
wait or push a new version now we are in the middle of the LC)

> 
> 
>>>
>>> Nits:
>>>
>>> The abstract uses the term "security aware validating Resolver".  This
>> use
>>> of "security aware" appears to be the term of art used in RFC 4033, but
>>> that may not be obvious; perhaps "DNSSEC validating resolver" would be
>> more
>>> clear for an abstract?
>>
>> RFC-7719 DNS Terminology marks all of these terms as "have caused
>> confusion". I am fine with DNSSEC validating resolver", but I would like to
>> punt this question
>> to the authors of RFC-7719. I'll ping them offlist if they miss this
>> message on the dnsop list.
>>
>>
> ​Fair enough; I'm happy to go along with their advice, whatever it may be.​

Ok, I have this item pending hearing from some more people.


>>> In section 6.3, the document says:
>>>
>>>    In the event that there is greater demand for Chain Queries than can
>>>    be accommodated, DNS servers may stop advertising the CHAIN option in
>>>    successive DNS messages.  This allows, for example, clients with
>>>    other candidate servers to query to establish new sessions with
>>>    different servers in expectation that those servers might still allow
>>>    Chain Queries.
>>>
>>> Given that this would also apply to UDP CHAIN queries, it is not clear
>> why
>>> this is in the TCP Session Management section.
>>
>> Correct. How about renaming section 6.3 from "TCP session management" to
>> "session management" ?
>>
>>
> ​Sounds good.

Done on my copy as well. Thanks for the prompt reply!

Paul

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

Reply via email to