Re: [DNSOP] I-D Action: draft-ietf-dnsop-dns-terminology-02.txt

"Joe Abley" <jabley@hopcount.ca> Mon, 15 June 2015 16:25 UTC

Return-Path: <jabley@hopcount.ca>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D58071B378E for <dnsop@ietfa.amsl.com>; Mon, 15 Jun 2015 09:25:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.7
X-Spam-Level:
X-Spam-Status: No, score=0.7 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N1p0QFRsuARQ for <dnsop@ietfa.amsl.com>; Mon, 15 Jun 2015 09:25:10 -0700 (PDT)
Received: from mail-ie0-x22c.google.com (mail-ie0-x22c.google.com [IPv6:2607:f8b0:4001:c03::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 52DCF1B3678 for <dnsop@ietf.org>; Mon, 15 Jun 2015 09:25:10 -0700 (PDT)
Received: by iecrd14 with SMTP id rd14so34551554iec.3 for <dnsop@ietf.org>; Mon, 15 Jun 2015 09:25:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hopcount.ca; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-type; bh=olXdTbpHVmCYvG5a4oAk0zC4opyFLquQSfbVMrxA3SQ=; b=N7wgKjdqFca37ZJcNbfqyuMsMZSAM/d/CPLi7Y40u+ThwJD07Mja5J4z/Re+wxXSzu Yr6EaXQTTN2/9TE3XbDgA44wfNyYI28xwTVO09wJGoqBDjeuAr7j1ASKe/3MfNPEYXsd 7HssHz8Ha91hT5jPalEAqvK2hXEQ9PT3jiqX8=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-type; bh=olXdTbpHVmCYvG5a4oAk0zC4opyFLquQSfbVMrxA3SQ=; b=EpZgfDexeE+YNG7s0WdsQ2G7po8ZTmLoo8i+SLpfpvsd3pEI+7GKou7568VfSycWXz eIKjo2Bu/TEcfF9E0p0y7w3Vj6HIwnscP2hyvMo6yS5/KIm1VckL0hh0sSSjcUrEKu6D 4UXXkfPSQkHgwcHtW9AWZbOeMzQGAB91yGPg1jT6rTm0XzBtskWiA1P70/ylFFIVJ3OQ k1tv35DpuNwn1Bh5/LWJ8h0pQm4fQOA7cD9dERyYvunXb2HoZyF9wxcOpNKOW4kvCKkN +uaQkZb8WLd8poluG+tys+jLT3bKPv5bk5G0/ZncKtWv3QAVUx8ujZVrXgt09Yukcj6v F4Zw==
X-Gm-Message-State: ALoCoQkmDphVkOgQ/S06FVfRCvgnxYltYwgu4XWALyLpH1gmCcsbmGBlak3wCTGK8/ccpNDt6p5X
X-Received: by 10.50.176.228 with SMTP id cl4mr22175837igc.2.1434385509615; Mon, 15 Jun 2015 09:25:09 -0700 (PDT)
Received: from [199.212.92.108] (135-23-68-43.cpe.pppoe.ca. [135.23.68.43]) by mx.google.com with ESMTPSA id g3sm7888365igi.10.2015.06.15.09.25.08 for <dnsop@ietf.org> (version=TLSv1 cipher=RC4-SHA bits=128/128); Mon, 15 Jun 2015 09:25:08 -0700 (PDT)
From: Joe Abley <jabley@hopcount.ca>
To: dnsop@ietf.org
Date: Mon, 15 Jun 2015 12:25:07 -0400
Message-ID: <75E0FCDF-615C-4F54-8503-9F821C38B0D5@hopcount.ca>
In-Reply-To: <20150526153132.306.56516.idtracker@ietfa.amsl.com>
References: <20150526153132.306.56516.idtracker@ietfa.amsl.com>
MIME-Version: 1.0
Content-Type: text/plain; format="flowed"
X-Mailer: MailMate (1.9.1r5084)
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnsop/20PZcAWTm1ISF4SMixeZzGG8fy8>
Subject: Re: [DNSOP] I-D Action: draft-ietf-dnsop-dns-terminology-02.txt
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: IETF DNSOP WG mailing list <dnsop.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dnsop>, <mailto:dnsop-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsop/>
List-Post: <mailto:dnsop@ietf.org>
List-Help: <mailto:dnsop-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsop>, <mailto:dnsop-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Jun 2015 16:25:13 -0000

Hi all!

On 26 May 2015, at 11:31, internet-drafts@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