Re: [DNSOP] comments on draft-ietf-dnsop-edns-client-subnet-00

神明達哉 <jinmei@wide.ad.jp> Thu, 08 January 2015 18:58 UTC

Return-Path: <jinmei.tatuya@gmail.com>
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 3B5321A8F43 for <dnsop@ietfa.amsl.com>; Thu, 8 Jan 2015 10:58:03 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.978
X-Spam-Level:
X-Spam-Status: No, score=-0.978 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, FREEMAIL_FROM=0.001, MIME_8BIT_HEADER=0.3, SPF_PASS=-0.001] autolearn=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 JtGjpSpS4k0A for <dnsop@ietfa.amsl.com>; Thu, 8 Jan 2015 10:58:01 -0800 (PST)
Received: from mail-wi0-x229.google.com (mail-wi0-x229.google.com [IPv6:2a00:1450:400c:c05::229]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5930C1A00DF for <dnsop@ietf.org>; Thu, 8 Jan 2015 10:58:01 -0800 (PST)
Received: by mail-wi0-f169.google.com with SMTP id r20so4900759wiv.0 for <dnsop@ietf.org>; Thu, 08 Jan 2015 10:58:00 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date:message-id:subject :from:to:cc:content-type; bh=37PHbjuLiS0i9tCcQs2Qn/Er6VmmerwI9HVXsT/u+Ak=; b=hOqhrKC57o1pI3Fn54JGSQninmIswKW/aVHH6x6DdQRUf+cPRJuq0/JXIDlMkpkexl R2ZINWWQFHPq1KDgBwl9EvTmnoWurVU2hnymZzB3IHWoLoIW5sl4H7YwNaP6N8lwFa4t n1eDcLNoPwWh8IkK+GPnJLDpWs46Uneo5KPo1R9h8OKCZLNqyu7t8r0xsblHYtPyIbM/ lHsNbgYmxzOLcOE00q71eMH3lJSMYzQC9+v8AEnHPfMfl3wRgTOY6VeeGkn7G9wX26nU n8vrP5X1J7fi9wcKdg5ld4HH76f77htU8uvIG9PQd43xIcKUl2YCCBx+lp0wFhChhLVK 2soA==
MIME-Version: 1.0
X-Received: by 10.194.90.10 with SMTP id bs10mr22834463wjb.43.1420743480066; Thu, 08 Jan 2015 10:58:00 -0800 (PST)
Sender: jinmei.tatuya@gmail.com
Received: by 10.194.44.66 with HTTP; Thu, 8 Jan 2015 10:58:00 -0800 (PST)
In-Reply-To: <54AE999C.1000404@nlnetlabs.nl>
References: <CAJE_bqeY3g7s4HN=5XpoT5Z=4FqgRRTrmOXDSA_0sidWOZ5jiQ@mail.gmail.com> <54AE999C.1000404@nlnetlabs.nl>
Date: Thu, 08 Jan 2015 10:58:00 -0800
X-Google-Sender-Auth: 6CNahKPNpi-CSuEUQYuw06MkD5M
Message-ID: <CAJE_bqdp_Z=1PsfBD7bj1DCh+uV-nKt4ViPepN+yYVfCjzvShQ@mail.gmail.com>
From: 神明達哉 <jinmei@wide.ad.jp>
To: Yuri Schaeffer <yuri@nlnetlabs.nl>
Content-Type: text/plain; charset="UTF-8"
Archived-At: <http://mailarchive.ietf.org/arch/msg/dnsop/bnYYsS4zvk6gHotqJ_vwUoSVW8c>
Cc: dnsop <dnsop@ietf.org>
Subject: Re: [DNSOP] comments on draft-ietf-dnsop-edns-client-subnet-00
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: Thu, 08 Jan 2015 18:58:03 -0000

At Thu, 08 Jan 2015 15:52:12 +0100,
Yuri Schaeffer <yuri@nlnetlabs.nl> wrote:

> > If I understand this (and Section 6.3 in general), the following
> > "suboptimal" scenario could happen: - The Authoritative Server is
> > configured with two prefixes for optimized responses: 2001:db8::/32
> > and 2001:db8:2::/48 - The Recursive Server sends a query with
> > SOURCE of 2001:db8:1::/48 - The Authoritative Server finds the best
> > matching prefix for the SOURCE is 2001:db8::/32 and returns a
> > response corresponding to it, setting SCOPE NETMASK to 32
>
> No, I thing the authority should have responded with a scope of 47.
> That's the number of bits it needs (for this address) to make sure
> there isn't a more specific answer.
>
> Q:  2001:db8:1::/48/0
> A:  2001:db8:1::/48/47

Hmm, okay, if the definition of SCOPE is what you described, I see it
will prevent the "suboptimal" case I described above.

I hope I'm not the only person, but I suspect it's very difficult to
reach this understanding just from the current description of the
draft:

   o  SCOPE NETMASK, unsigned octet representing the length of the
      netmask pertaining to the reply.  [...
      ...] In responses, this field is set by the
      Authoritative Nameserver to indicate the coverage of the response.
[...]
   The SCOPE NETMASK in the reply indicates the netmask of the network
   for which the answer is intended.
[...]
   Conversely, a shorter SCOPE NETMASK indicates that more bits than
   necessary were provided, and the answer is suitable for a broader
   range of addresses.

[...]

> Think of scope like:
>  "I would have used N bits to come to this answer if N or more have
> been available. (for this particular block)"
> Rather than:
>  "Only the first N bits of the address are relevant"

I'm also not sure if the "would have used N bits" definition is clear
enough to get the idea.  To me, "the number of bits it needs (for this
address) to make sure there isn't a more specific answer" looks
better, and, even with this definition, I guess I'd need some specific
examples to understand it correctly.  (So I'd suggest revising the
draft with some "better" definition with helper examples)

   In the cache, any resource record in the answer section will be tied
   to the network specified by the FAMILY, ADDRESS and SCOPE NETMASK
   fields, as detailed below.


Now, if this is the intended definition of SCOPE, I have a couple of
concerns:

- The authoritative server's implementation will be very complicated.
  Maybe this is not something we have to worry about, maybe
  existing utility libraries used for longest prefix matching are good
  and capable enough to implement the concept, and maybe
  the quality/maturity of implementations will become better over time
  anyway.  But I think it's still worth discussing whether the
  resulting behavior is worth the complexity.
- Using my server side configuration example of 2001:db8::/32 and
  2001:db8:2::/48 again.  With this definition of SCOPE and caching
  behavior at the Recursive Server, the Recursive Server would have to
  cache separate responses for all of the 64K prefixes that match
  2001:db8::/48.  Wouldn't it be too costly, even though a Recursive
  Server that supports this option is already expected to be memory
  (or cache storage in general) hog and it would manage the amount of
  total cache storage properly by, e.g., purging least used ones
  regularly?  Do we have any analysis and/or measurement results on
  the cost against the perceived benefits?

--
JINMEI, Tatuya