Re: [dnsext] WG opinion on draft : Improvements to DNS Resolvers, for Resiliency, Robustness, and Responsiveness

Edward Lewis <Ed.Lewis@neustar.biz> Wed, 23 February 2011 19:03 UTC

Return-Path: <Ed.Lewis@neustar.biz>
X-Original-To: dnsext@core3.amsl.com
Delivered-To: dnsext@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 33B843A6943 for <dnsext@core3.amsl.com>; Wed, 23 Feb 2011 11:03:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.599
X-Spam-Level:
X-Spam-Status: No, score=-102.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id MgrV+h45D0NB for <dnsext@core3.amsl.com>; Wed, 23 Feb 2011 11:03:38 -0800 (PST)
Received: from stora.ogud.com (stora.ogud.com [66.92.146.20]) by core3.amsl.com (Postfix) with ESMTP id DAC453A6956 for <dnsext@ietf.org>; Wed, 23 Feb 2011 11:03:37 -0800 (PST)
Received: from Work-Laptop-2.local (gatt.md.ogud.com [10.20.30.6]) by stora.ogud.com (8.14.4/8.14.4) with ESMTP id p1NJ4pXa037419; Wed, 23 Feb 2011 14:04:52 -0500 (EST) (envelope-from Ed.Lewis@neustar.biz)
Received: from [10.31.200.118] by Work-Laptop-2.local (PGP Universal service); Wed, 23 Feb 2011 14:04:24 -0500
X-PGP-Universal: processed; by Work-Laptop-2.local on Wed, 23 Feb 2011 14:04:24 -0500
Mime-Version: 1.0
Message-Id: <a06240800c98b01b9d9b9@[10.31.200.118]>
In-Reply-To: <4D622624.90303@ogud.com>
References: <4D622624.90303@ogud.com>
Date: Wed, 23 Feb 2011 14:04:15 -0500
To: namedroppers@ops.ietf.org, dnsext@ietf.org
From: Edward Lewis <Ed.Lewis@neustar.biz>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
X-Scanned-By: MIMEDefang 2.68 on 10.20.30.4
Cc: ed.lewis@neustar.biz
Subject: Re: [dnsext] WG opinion on draft : Improvements to DNS Resolvers, for Resiliency, Robustness, and Responsiveness
X-BeenThere: dnsext@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: DNS Extensions working group discussion list <dnsext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/dnsext>
List-Post: <mailto:dnsext@ietf.org>
List-Help: <mailto:dnsext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dnsext>, <mailto:dnsext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Feb 2011 19:03:39 -0000

At 3:45 -0500 2/21/11, Olafur Gudmundsson wrote:
>The chairs have received a request to Last call this draft.
>http://tools.ietf.org/html/draft-vixie-dnsext-resimprove-00

Some comments on the document.

# 1. Introduction
#
#   1.1. Iterative caching DNS resolvers can be both compliant and
#   interoperable without also being optimal. Indeed a wide range of
#   optimizations, mechanisms, and outright "tricks" can be employed
#   without affecting correctness or interopability. Such optimizations
#   could be recommended but never required.

The first use of the word "optimal" is a problem.  First, is there 
really a definition by which an "iterative caching" resolver can be 
deemed compliant?  Second, is there any way to measure the degree to 
which it is optimal.

This is a wording nit.  I'd suggest something along this line:

1.1. Iterative caching DNS resolvers can be interoperable with other 
servers yet vary in speed of obtaining an answer, safety in believing 
answers, efficient in use of computing resources, and so on. 
Interoperability is of the utmost importance, but there are some 
useful optimizations that deserve to be documented.

(A rough reworking.  The point is to remove comparative words, like 
"optimal" and "compliant," when there's nothing being compared.)

#   1.3. Three practices are described here:
#
#      A. Revalidating a delegation when a parent NS RRset TTL expires.

What does it mean to "validate" a delegation?  We have a definition 
of validation in the context of DNSSEC.  I am sure this is different.

#      B. Stopping a downward cache search when an NXDOMAIN is encountered.

I'm not so sure this is a good one.  It goes against RFC 2308.

#      C. Upgrading the credibility of NS RRsets upon delegation events.

A mistake I've made many times: the term is "trustworthiness," not 
credibility.  See RFC 2181, 5.4.1. Ranking data.

# 3. Stopping Downward Cache Search on NXDOMAIN
#
#   3.1. In virtually all existing resolvers, a cached NXDOMAIN is not
#   considered "proof" that there can be no child domains underneath.
#   This is due to an ambiguity in RFC 1034 that failed to distinguish
#   empty nonterminal domain names from nonexistent names.  For DNSSEC,
#   the IETF had to distinguish this case, but the implication on non-
#   DNSSEC resolvers wasn't fully realized.

FWIW, the ambiguity was addressed in RFC 4592 to fix wild cards, not DNSSEC.

#   3.2. When searching downward in its cache, an iterative caching DNS
#   resolver should stop searching if it encounters a cached NXDOMAIN.
#   The response to the triggering query should be NXDOMAIN.
#
#   3.3. When an iterative caching DNS resolver stores an NXDOMAIN in its
#   cache, all names and RRsets at or below that node should be deleted
#   since they will have become unreachable.

This is in conflict with RFC 2308, section 5:

RFC A negative answer that resulted from a name error (NXDOMAIN) should
RFC be cached such that it can be retrieved and returned in response to
RFC another query for the same <QNAME, QCLASS> that resulted in the
RFC cached negative response.

This says that the cached NXDOMAIN only applies to the FQDN itself, 
not it's domain.  Ok, ok, that's just paper fighting paper, but this 
switch in requirements has to be addressed.

And I have a sneaking suspicion that this optimization isn't all that 
good of an idea.


-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Edward Lewis             
NeuStar                    You can leave a voice message at +1-571-434-5468

Me to infant son: "Waah! Waah! Is that all you can say?  Waah?"
Son: "Waah!"