[DNSOP] Love for draft-bellis-dnsext-multi-qtypes (was The DNSOP WG has placed draft-wkumari-dnsop-multiple-responses in state "Candidate for WG Adoption")

Shane Kerr <shane@time-travellers.org> Wed, 06 July 2016 19:26 UTC

Return-Path: <shane@time-travellers.org>
X-Original-To: dnsop@ietfa.amsl.com
Delivered-To: dnsop@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D886212D1C2 for <dnsop@ietfa.amsl.com>; Wed, 6 Jul 2016 12:26:40 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.902
X-Spam-Level:
X-Spam-Status: No, score=-0.902 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FSL_HELO_HOME=1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=no autolearn_force=no
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 rzak9ZxzdedH for <dnsop@ietfa.amsl.com>; Wed, 6 Jul 2016 12:26:39 -0700 (PDT)
Received: from time-travellers.nl.eu.org (c.time-travellers.nl.eu.org [IPv6:2a02:2770::21a:4aff:fea3:eeaa]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E5C1912D61C for <dnsop@ietf.org>; Wed, 6 Jul 2016 12:26:03 -0700 (PDT)
Received: from [2001:470:78c8:2:224:9bff:fe13:3a9c] (helo=pallas.home.time-travellers.org) by time-travellers.nl.eu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from <shane@time-travellers.org>) id 1bKsSN-0002gG-DV; Wed, 06 Jul 2016 19:25:59 +0000
Date: Wed, 06 Jul 2016 21:25:56 +0200
From: Shane Kerr <shane@time-travellers.org>
To: Paul Hoffman <paul.hoffman@vpnc.org>
Message-ID: <20160706212556.21240caa@pallas.home.time-travellers.org>
In-Reply-To: <3FEEE970-032F-498A-BACC-D232F79C3159@vpnc.org>
References: <20160701075116.24678.59997.idtracker@ietfa.amsl.com> <20160706.180940.1170484542745240536.fujiwara@jprs.co.jp> <435414e8-2b20-b9d0-7707-14016fae1163@bellis.me.uk> <3FEEE970-032F-498A-BACC-D232F79C3159@vpnc.org>
X-Mailer: Claws Mail 3.13.2 (GTK+ 2.24.30; x86_64-pc-linux-gnu)
MIME-Version: 1.0
Content-Type: multipart/signed; micalg="pgp-sha1"; boundary="Sig_/gat2eKCsRoI.3IAL1zVbz1W"; protocol="application/pgp-signature"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/oaV_re8KxhEzrJHZ6X9MvzFrKXg>
Cc: dnsop@ietf.org
Subject: [DNSOP] Love for draft-bellis-dnsext-multi-qtypes (was The DNSOP WG has placed draft-wkumari-dnsop-multiple-responses in state "Candidate for WG Adoption")
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.17
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: <https://mailarchive.ietf.org/arch/browse/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: Wed, 06 Jul 2016 19:26:41 -0000

Paul,

At 2016-07-06 07:34:03 -0700
"Paul Hoffman" <paul.hoffman@vpnc.org> wrote:

> On 6 Jul 2016, at 3:54, Ray Bellis wrote:
> 
> > On 06/07/2016 10:09, fujiwara@jprs.co.jp wrote:  
> >> * My idea
> >>
> >>   I prefer multiple query sections (with some restrictions)
> >>   and merged answers.
> >>
> >>   multiple query examples may be
> >>     NAME A + NAME AAAA + MX
> >>     NAME A + NAME AAAA + _443._tcp.NAME TLSA
> >>     NAME A + NAME AAAA + _sip._udp.NAME SRV + _sips._tcp.NAME SRV + 
> >> ...
> >>
> >>   Many people may dislike QDCOUNT != 1.
> >>   EDNS0 option which contain additional query section may be 
> >> possible.  
> >
> > and there's my idea (draft-bellis-dnsext-multi-qtypes-02) which only
> > permits a single QNAME, but supports additional QTYPEs via an EDNS0 
> > option.  
> 
> Of these three solutions to the same problem, I prefer Ray's. It seems 
> less work to implement and less likely to trip up naively-implemented 
> DNS stacks.

I think that I agree.


In either the case of that or Warren's draft, I reiterate that I think
that the biggest win is from the stub to resolver state, where we can
in principle save almost 50% of the queries that the resolver answers.

I think advice to stubs (and possibly resolvers) would help make Ray's
draft more useful.

For stubs the recommendation could be as simple as:

1. When starting, send a query for ID.SERVER or the like with the multi
   QTYPE option (QTCOUNT=0), and look for the QTD bit in the reply.

2. If this works, future queries to the local resolver can use multi
   QTYPES. Should a answer come back without the QTD bit, then the stub
   should immediately stop using multi QTYPES.

For resolvers, the advice probably should be expanded. My thinking is
that a resolver who wants to try this should include the multi QTYPE
option with the first query to an authority server for probing. If a
resolver doesn't know whether a server supports multi QTYPE then it can
go ahead and do queries in parallel the old fashioned way - while
probing. :) (Surely any production server will have to do back-off in
the same way that they do EDNS0 back-off - it seems like this would be
helpful to note in a document, but maybe that is over-specification.)

Cheers,

--
Shane