Hi all!

On 26 May 2015, at 11:31, internet-dra...@ietf.org wrote:

A New Internet-Draft is available from the on-line Internet-Drafts directories. This draft is a work item of the Domain Name System Operations Working Group of the IETF.

     Title           : DNS Terminology
     Authors         : Paul Hoffman
                       Andrew Sullivan
                       Kazunori Fujiwara
        Filename        : draft-ietf-dnsop-dns-terminology-02.txt
        Pages           : 23
        Date            : 2015-05-26

TL;DR: I found some text I think could be improved. I mainly haven't suggested changes to the text, since I have no way of knowing whether my prejudices are shared by anybody else, but I'm happy to suggest words for any or all of these if that seems helpful.

By section, then:

2. Names

"Domain name" receives some attention, but "domain" does not. I find when teaching DNS that there is constant confusion about how "domain" and "zone" are different; the way I explain it is that "domain" is a namespace abstraction, caring nothing about zone cuts, provisioning and resource records; "zone" is the provisioning view, where you need to know about resource records and zone cuts. I think it would be good to have a definition for "domain" in here.

I think that "superordinate" and "subordinate" might be worth mentioning here, with reference to their definitions in EPP.

3. DNS Header and Response Codes

The text suggests that RDATA is sometimes called RRdata. I have never heard that before. Is that common enough usage to bother including?

I appreciate why FORMERR, SERVFAIL and NXDOMAIN are summarised in a single paragraph, by reference to the IANA registry, but it feels like they would be easier to find if they were presented in hangText sections like the others.

"Name Error" as a synonym for NXDOMAIN seems like it is worth including, somewhere.

I'm not sure why "Zone transfer" is included in this section. I think the definition presented is fine, though. Perhaps it would feel more at home in section 5.

4. Resource Records

The negative cache TTL is alluded to under SOA field names, but not under TTL. The former also claims a definition of MINIMUM of "the TTL to be used for negative responses", when in fact the TTL to be used for negative responses is the MINIMUM value or the TTL of the SOA RR returned with the negative response, whichever is the smaller. This fact may be familiar to Secure64 and Afilias people :-)

5. DNS Servers

There are documented uses of "iterative mode resolvers" to mean exactly "recursive mode resolvers" as defined in this section. I had only ever heard the phrase as a knee-jerk objection to the observation that "recursive servers" don't recurse, they iterate. I mention this just in case "iterative mode" as described here does not have a posse.

There is no mention of "authority-only servers", which I find to be in common usage.

Every workshop or tutorial on the DNS I have heard or helped present in the last 15 years or so has characterised "secondary server" as an archaic phrase, and has recommended "slave server" instead. So the assertion that the opposite is true in the "secondary server" section is jarring, for me. What is the basis for saying that common usage has shifted to calling this "secondary"? Ditto-ish for primary vs. master.

I think under "primary master" it might be worthwhile to point out that the only DNS protocol element remaining that cares about the MNAME is DNS UPDATE. It's meaning in the context of zone distribution is archaic.

I wonder what the real difference is between "stealth server" and "hidden master". If they are synonyms (I think they are) it might be as well to say so; as it stands they both have the appearance of having different definitions.

I think "open resolver" and "public resolver" are subtly different; the former is usually unintentional and hence can be seen as a configuration error (e.g. prompting RFC 5358) whereas the latter seems more like a conscious choice (e.g. Google public DNS).

I wonder whether there's any use in including a reference to anycast in this section, here. Anycast is arguably more commonly found in conversations about the DNS than any other; there's also a reasonable reference (RFC 4786).

6. Zones

The definitions of child and parent here would benefit greatly from judicious use of the word "zone" rather than "domain". A child domain is a subset of a parent domain, whereas a child zone is not a subset of a parent zone. The distinction is important.

In "origin", (a), the usual word for this in my experience is "apex". It would seem as well to mention apex here. If we're able to provide value judgements, we might recommend apex over this use of origin.

In zone cut, I'm not sure what "barely an ostensive definition" is intended to convey. Are you saying that this is not a definition that is made by way of demonstration, or that it is, or that it should be, or something else?

"in-bailiwick": s/the name of which/whose name/ feels like it requires slightly fewer mental gymnastics to parse, at the risk of anthropomorphising.

"root zone": let's not use the word "origin" here; "apex" is better. If zones have names, perhaps we could just describe its name as being a single, zero-length label and avoid either of the other terms. Since various definitions from 1034/1035 refer to nodes in the namespace tree, perhaps we could tie that in, e.g. by describing it as the zone whose apex node is also the apex of the entire namespace tree.

"Wildcard" does not actually have a definition listed; just a note that earlier attempts at providing a definition have been problematic. While the text here seems entirely agreeable, it seems like it would be nice to present at least a cursory definition in this document, even if it needs provisos and references.

"Fast flux DNS": the use of "domain" and "bound" in this definition seems woolly. Are we talking about an A or AAAA RRSet each containing multiple RRs and a low TTL? Are we talking about delegations to nameservers whose A/AAAA RRSets have that character? The sentence "It is often to deliver malware" seems lonely and hard to parse (what is "it"?) "Because the addresses change so rapidly..." what addresses are changing? I think this definition could do with a re-write. I wouldn't object if it was dropped entirely actually, since unlike the majority of other terms that are called out, this one has precious little to do with the protocol.

7. Registration Model

This whole section talks about "registration of names in a zone", which I think encourages a kind of conflation between database and DNS operations that keeps cropping up and always causes headaches.

The RRR (or RR or RRRR, with a reseller layer, even) structure exists to maintain uniqueness in a database. Information present in that database is used to publish one or more zones in the DNS, but the interactions between the Rs are better characterised in database terms than DNS terms.

"WHOIS" is defined in this section by reference to 3912, which makes it a protocol. I applaud this definition (although I object slightly to the capitalisation chosen, as if it's a mnemonic), but I'll note that these days there's a very small number of us who are clapping. "WHOIS" to the rest of the room is the data maintained by the RR/RRR/RRRR process, which is sometimes retrieved using EPP, more widely by HTTP and only by 43/tcp by crotchety old bastards who detest the youth of today with their snapchats and their bookface, DAMN THEM ALL, GET OFF MY LAWN.

8. General DNSSEC

DNSSEC-aware and DNSSEC-unaware: the phrase "In specific" is missing a noun. Perhaps s/\. In specific,/, including/ -e s/ are all defined\.//, if you sed what I mean.

"Signed zone": it feels like there ought to be some way to link opt-out sections to NSEC3, or otherwise strengthen the meaning of relevant in "relevant RRSets in the zone are signed".

"Unsigned zone" makes mention of NSEC but not NSEC3 (which is understandable, given the source of the quoted text).

"NSEC3": whether not NSEC3 is "quite different" from NSEC depends on your context. Functionally, in the narrow sense of "allows verifiable denial of existence", they are identical. I think it would be clearer to focus on their functional similarities, and point out the additional features of NSEC3 (opt-out and making zone enumeration harder), observing that any particular signed zone must use exactly one of these, not both (so, they are alternatives, and one of them is required).

"Opt-out": It would be helpful I think to include a sentence or two that illustrates the point of opt-out, e.g. that in a delegation-centric zone with relatively few secure delegations, use of opt-out can reduce the overhead of DNSSEC on zone size.

"Key signing key (KSK)": I have noticed confusion about the KSK can often be avoided by confirming that it's a key pair, not a single key. This helps people understand why if we're storing it in a safe with armed guards, we're also publishing it in the DNS.

"Zone signing key (ZSK)": I don't think it's uncommon for signers to sign the apex DNSKEY RRSet with the ZSK as well as the KSK, regardless of how useful anybody imagines that to be. It doesn't feel right to say definitively that the ZSK doesn't sign the DNSKEY RRSet when we can see it happening.

"Secure Entry Point (SEP)": I really don't like "RRdata". :-)

9. DNSSEC States

Given that the definitions of the states are different, I think this would be a great opportunity to choose one over another. Merely pointing out that there are two conflicting definitions without giving any guidance as to which is better seems less than ideal.

10. IANA Considerations

RFC 5226 recommends the sentence "This document has no IANA actions".


Joe

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

Reply via email to