On 1 Nov 2015, at 3:36, Tim Wicinski wrote:
This starts a Working Group Last Call for
draft-ietf-dnsop-edns-chain-query
Current versions of the draft is available here:
https://datatracker.ietf.org/doc/draft-ietf-dnsop-edns-chain-query/
Please review the draft and offer relevant comments. Also, if someone
feels the document is *not* ready for publication, please speak out
with your reasons.
I have read this document and believe it needs a bit more work. Sorry
for not reviewing this document earlier (e.g. before the wg last call).
Currently the document is marked “Standards Track”, but due to
lack of implementations at this time (though some are being worked), I
am suggesting we apply the “Experimental” label to this. The
working group is welcome to chime inhere.
According to RFC 2026 section 4.1.1, "Proposed Standard":
A Proposed Standard specification is generally stable, has resolved
known design choices, is believed to be well-understood, has
received
significant community review, and appears to enjoy enough community
interest to be considered valuable. However, further experience
might result in a change or even retraction of the specification
before it advances.
Usually, neither implementation nor operational experience is
required for the designation of a specification as a Proposed
Standard. However, such experience is highly desirable, and will
usually represent a strong argument in favor of a Proposed Standard
designation.
I don't think a lack of implementation reports should be a deal breaker
for proposed standard. No doubt our illustrious AD could shed some light
here, however, since I am far from familiar with this stuff.
Suggestions
General
The introduction and overview are littered with phrases like
"stub-mode", "DNS client" and "host" that, because of the nineteen
different varieties of name server we have to deal with come across as
ambiguous. Worse, there are different world-views about DNSSEC
validation on end hosts, e.g. those that trust an unsigned AD bit,
expecting validation to occur upstream, and those who do validation
themselves.
I think the context of the whole document would be much easier to grasp
for a new reader if there was a clear diagram as close to the top of the
text as possible that clearly outlined the precise deployment scenario
we're talking about. I realise there is plenty of text that describes
the use case here, but starting with a picture I think would be a great
kindness to the reader.
Specification
The "Closest Trust Point (FQDN)" field in the EDNS(0) option as
described in section 4 is a bit vague, I think. You're talking about an
owner name, but you don't mention that phrase; you talk about "lowest"
without context (is the root at the top or the bottom?) You don't
specify the encoding of the owner name; I think it's natural to assume
that it's a series of run-length encoded labels with a zero-length label
indicating the end, but as written it could be taken as being in
presentation format with a trailing dot (a nod to the use of "FQDN"
which is generally in presentation format).
I have some reservations about the idea of inferring capabilities based
on previous experience interacting with a server at a particular
address. Authority servers are frequently built in clusters, and the
origin server that responds to one query at one address might be
different from the one that responds next time. Similarly, clients are
frequently deployed behind NATs, and inferring capabilities based on
source address there seems like a bad idea.
More fundamentally, I'm not sure I understand the benefit of
capabilities discovery. A client surely should add the option to all
queries; if it gets useful information back in the response it can use
it, and if it doesn't, it has to re-query along the chain anyway. If the
concern is related to dealing with servers that don't deal with unknown
EDNS(0) options correctly, then I think the preferred approach would me
to let them fail, forcing operator intervention on one or both sides.
Aside from capabilities disovery, I'm not sure what the purpose is of a
server including the CHAIN option in a response. The sections in the
response will either contain additional, useful information or they
won't -- it's not clear to me what benefit the CHAIN signalling from
server to client provides.
Section 5.4 indicates that extra RRSets included because of CHAIN
processing should be included in the authority section. Wouldn't the
additional section make more sense, except in the case of RRSIGs over an
NS RRSet?
Section 6.4 contains the intriguing word "partian" that I had not
encountered before, although I have to say I like it.
Section 8.1 uses the phrase "source IP address verification" which is
vague. Do you mean that the implementation needs to have convincing
indications that a query is not spoofed, e.g. by using DNS cookies? Or
do you mean that the server should not be an open resolver? Or that if
it's an open resolver, it should be operated mindful of the fact that
there is amplification potential?
Joe
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop