Re: [DNSOP] Working Group Last Call

Matthijs Mekking <> Tue, 04 October 2016 12:07 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id EDB1F129835 for <>; Tue, 4 Oct 2016 05:07:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -6.92
X-Spam-Status: No, score=-6.92 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H4=-0.01, RCVD_IN_MSPIKE_WL=-0.01] autolearn=ham autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id A5YWJt-NMjZG for <>; Tue, 4 Oct 2016 05:07:02 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 36B18129834 for <>; Tue, 4 Oct 2016 05:07:01 -0700 (PDT)
Received: from [] ( []) by (Postfix) with ESMTPSA id E2401B852 for <>; Tue, 4 Oct 2016 14:06:56 +0200 (CEST)
Authentication-Results:; dmarc=none
References: <>
From: Matthijs Mekking <>
Message-ID: <>
Date: Tue, 04 Oct 2016 14:06:54 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.3.0
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 7bit
Archived-At: <>
Subject: Re: [DNSOP] Working Group Last Call
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: IETF DNSOP WG mailing list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 04 Oct 2016 12:07:06 -0000


I reviewed this draft and while it is shaping up nicely, I don't think 
it is quite ready for publication:

1. As John pointed out earlier, the document makes an inconsistent use 
of RFCC 2119 keywords, and we need to decide whether to use MAY or 
SHOULD. Looking at the definitions of the keywords again I am leaning 
towards MAY, but given the described benefits I could see how SHOULD 
would be appropriate. Either way, it should be consistent. Also, the 
used keyword for NSEC should not be different than that for NSEC3.

2. In addition to the first point, I don't think it is appropriate to 
use RFC 2119 keywords to dictate name server configuration. Mentioning 
it would be useful to have configuration options for enabling and 
disabling this functionality seems okay, but drop the RFC 2119 formalities.

3. In section 6 on Benefits, it says "currently around 65% of queries to 
Root Name servers result in NXDOMAIN responses." This is quickly 
outdated, so I would replace 'currently' with 'at the time of writing'. 
But more importantly, where does this number come from? A reference here 
seems appropriate.

4. There are several bikeshedding issues/nits that I have put up a PR 
for here:

5. It seems that sections 5.2 and 5.3 only consider NXDOMAIN responses. 
Is it perhaps that at the end of section 5.1 NODATA answers are covered?
I would suggest a better structure to make more explicit the scope. 
Currently it reads as if NODATA answers should always be subject to 
aggressive use of negative cache, while NXDOMAIN answers only if the 
configuration option enables it.

Given these remarks, I suggest the following structure and text:

   If the negative cache of the validating resolver has sufficient
   information to validate the query, the resolver MAY use NSEC, NSEC3
   and wildcard records aggressively. Otherwise, it MUST fall back to
   send the query to the authoritative DNS servers.

   It is recommended that resolvers that implement Aggressive Use of
   Negative Caching provide a configuration switch to disable the
   feature. Separate configuration switches can be implemented for
   the aggressive use of NSEC, NSEC3 and wildcard records.

   5.2 NSEC

   5.2.1 No Data

   If the query has an NSEC record matching the query name, proving
   the data requested does not exist, the resolver MAY respond with an
   empty NOERROR (No Data) answer.

   5.2.2 Name Error

   If the resolver has an NSEC record covering the source of synthesis
   and an NSEC record covering the query name, it MAY respond with an
   NXDOMAIN answer.

   5.2.3 Wildcard No Data

   If the resolver has an NSEC record matching the source of synthesis
   and an NSEC record covering the query name, it MAY respond with an
   empty NOERROR (No Data) answer.

   5.2.3 Wildcard Answer

   If the resolver has an NSEC record covering the query name, but no
   NSEC record matching the source of synthesis, it MAY respond with an
   wildcard expanded answer from the cache. If the corresponding
   wildcard record is not in the cache, it MUST fall back to send the
   query to the authoritative DNS servers.

   5.2 NSEC3


A similar layout for NSEC3 should be provided, and I am willing to 
provide that if this layout is accepted.

Best regards,

On 22-09-16 14:19, Tim Wicinski wrote:
> All
> This draft has been worked on and it seems that the Working Group is
> happy with the updates that have been made and I feel it's ready for the
> next step.
> This starts a Working Group Last Call for:
>     "Aggressive use of NSEC/NSEC3"
>       draft-ietf-dnsop-nsec-aggressiveuse
> Current versions of the draft is available here:
> 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.
> It's currently marked as "Proposed Standard", so if folks feel
> differently then please speak up.
> This starts a two week Working Group Last Call process, and ends at
> midnight 7 October 2016 UTC.
> thanks
> tim
> _______________________________________________
> DNSOP mailing list