Re: [DNSOP] ANAME in answer or additional section [issue #62]

Brian Dickson <brian.peter.dickson@gmail.com> Thu, 13 June 2019 17:50 UTC

Return-Path: <brian.peter.dickson@gmail.com>
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 6E8E61201B5 for <dnsop@ietfa.amsl.com>; Thu, 13 Jun 2019 10:50:42 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.997
X-Spam-Level:
X-Spam-Status: No, score=-1.997 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 Bl6c9F34eVCV for <dnsop@ietfa.amsl.com>; Thu, 13 Jun 2019 10:50:40 -0700 (PDT)
Received: from mail-qk1-x730.google.com (mail-qk1-x730.google.com [IPv6:2607:f8b0:4864:20::730]) (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 E23981200FF for <dnsop@ietf.org>; Thu, 13 Jun 2019 10:50:39 -0700 (PDT)
Received: by mail-qk1-x730.google.com with SMTP id r6so13345848qkc.0 for <dnsop@ietf.org>; Thu, 13 Jun 2019 10:50:39 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=WQjeWbF/AQrchH8oV41w+fomBuvt+9iEeUl0a7mxZ5o=; b=XU2mfJIhoGM2/GYeQRnXSEJF5g8V709kbVSoqtWt/Ai6cxwoB5j7KzkDZPH/qd1/qH DYKWxP9pkF/Zgn5gL3n5NlP26MjqKY89NDDSqvLNpD/R+zmCHY6+TEWE6DaXZ9jA5xgh LqmdcpziV5E9i30qSBqGZd9lQ64Qt6um3Zo5FetD1LsQaTEH72PblVcWb0NaVSKWai7F HF+ht64d4cE9YKTEX3MAI/ztX/6NAbzcMxPPn7swYpqBDwYsUl4syyiDUn6V+qN9jsHR q3bF2td8zKmsjDLB6Z8I1hkApddkLAAcoqUWyIH1eOAMYgRkg8QBodbhHZ8TIUp4Wm+F HbDQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=WQjeWbF/AQrchH8oV41w+fomBuvt+9iEeUl0a7mxZ5o=; b=ojgY+CErO5YCvA1BSxwMYny3LhhytMrQyQUq2e/kgSsOIjb/xDqwH67naOsc9V2+VW aQHtQLUG9t6xbtsvgv52MH7j5ZG5VbYtEGwqqlktqYG1/rlWcejxQ6a0Pezi02wSX0oP hI8zzNRtq6TBLCRgGHyIJvJqQh3Ap7igu/qEloiYESouAMIP4h/ySE08dPaYNu8+SPTI Ka6FgC0PqtrNNjT4qGSmoBy7pAdMeJjBUDf4zMQscBSCY3XHkWsowxJhnWdCTEAbSra3 zykmXPHVs1wUsynIHIyNY1linLP30kPfYUAOJcnLzUcp8nKi8bPIir4QYBXZzg7e08JO waJg==
X-Gm-Message-State: APjAAAUtzqOuhdf9dNgPJ1DyBfbhcW+5ygTWGA2Rh5mG5Exp9MFYZ6qt vRFMabxAwy5QJLsGBgDNPynGfxYHaMjThY9vlG8gksOL
X-Google-Smtp-Source: APXvYqyduV/O2pMwDxaxL6Bk3bJhzd43EoZx1FFZiuTuG3l3QivtAUTOJCpn44PQ7gkIZkAgEFHjrWte/ybeOqPM0AI=
X-Received: by 2002:a37:c449:: with SMTP id h9mr52817324qkm.187.1560448238726; Thu, 13 Jun 2019 10:50:38 -0700 (PDT)
MIME-Version: 1.0
References: <3b136e34-7ec0-e144-2c2a-0885185ec2b1@pletterpet.nl> <20190612000459.GA60387@isc.org> <CAJhMdTP-iDbbgnCDV7WRhbh495KvhOW3cGS+0tu74VAoYfU=gg@mail.gmail.com> <CAH1iCiqE70T3fWVcCrSvA86=qJKoWwuRGFRzKnQyediMrm404A@mail.gmail.com> <68b5997e-1c24-a366-1165-9874a36169b5@pletterpet.nl>
In-Reply-To: <68b5997e-1c24-a366-1165-9874a36169b5@pletterpet.nl>
From: Brian Dickson <brian.peter.dickson@gmail.com>
Date: Thu, 13 Jun 2019 10:50:27 -0700
Message-ID: <CAH1iCiqp1dbP-No4K3t2hNQ2+kD4RVGPgUHB_sHgByzEOsAxuw@mail.gmail.com>
To: Matthijs Mekking <matthijs@pletterpet.nl>
Cc: "dnsop@ietf.org" <dnsop@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000f5b08e058b382aa8"
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/p-w6YWXpuP9eP4PhbMZv3_c8Kzw>
Subject: Re: [DNSOP] ANAME in answer or additional section [issue #62]
X-BeenThere: dnsop@ietf.org
X-Mailman-Version: 2.1.29
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: Thu, 13 Jun 2019 17:50:43 -0000

On Wed, Jun 12, 2019 at 1:11 AM Matthijs Mekking <matthijs@pletterpet.nl>
wrote:

> Brian,
>
> Thanks for the detailed background on why DNAME worked. There are a few
> things that caught my attention:
>
> > When a recursive queried an authority server, if it got back a DNAME
> but did not understand it, it ignored the DNAME but processed the CNAME
> (as if only the CNAME existed) (plus any other data like chained CNAMEs
> or A/AAAA records)
>
> > All of this is unfortunate, because of the fact that there is no
> genuinely backward compatible record similar to ANAME that can be used,
> without a very strong likelihood of breaking things. From authority to
> recursive: You can't return an ANAME and a CNAME (as a
> backward-compatible rewrite signal that corresponds to the ANAME), since
> the CNAME will effectively obscure other RRTYPEs that might coexist
> (e.g. at the zone apex).
>
> This is fine, because that is not what we want: We would like to add the
> ANAME in the answer section with the A/AAAA records (not a CNAME).
>
> > The real problem here, is the "other" record for backward
> compatibility isn't a rewrite-type (such as CNAME or DNAME), but is a
> "promoted" A/AAAA record of potentially limited utility and questionable
> provenance (due to geo-ip stuff, TTL stuff, and RRSIG problems).
>
> I actually see the A/AAAA record as the backward compatibility records:
> An ANAME-aware resolver would understand the ANAME and can act upon it,
> an ANAME-unaware resolver will use the A/AAAA records that the
> authoritative returned.
>

So, this is where the analogy to DNAME diverges from reality of ANAME, and
IMHO is the the crux of one of the main problems with ANAME.

In the DNAME/CNAME example, the A/AAAA records are returned ONLY IF the
server that is authoritative for the DNAME is also authoritative for the
DNAME "target" (right-hand-side/RDATA).
If the DNAME auth server is not, it will only return DNAME+CNAME records.

The only "legitimate" (in my opinion) reason that the ANAME authoritative
server should also return A/AAAA records, is if it is also authoritative
for the ANAME "target" (right-hand-side/RDATA).

(And the reason that having the ANAME authoritative server obtain and
return A/AAAA records itself leads to what I called:

> potentially limited utility and questionable provenance (due to geo-ip
> stuff, TTL stuff, and RRSIG problems).
>

I have elaborated on this problem previously, but will do so again for
completeness/context:

   - There can be differences (possibly significant differences) in the
   results returned for resolution of the "target" between the ANAME
   authoritative server, and the querying resolver.
      - E.g. Any sort of "stupid DNS tricks" that return different values
      based on either physical topology (anycast instance) or geo-ip
      (client-subnet)
      - That discrepancy can direct clients to a suboptimal server, where
      suboptimal can even be, from a user perspective, badly broken (e.g. wrong
      language, illegal content, etc.)
   - The interactions on TTLs and the need for repeated lookups can have
   adverse impacts on both clients, resolvers, and auth servers
      - An auth server might want to use longer TTLs to reduce query
      volume, for ANAME values that do not change frequently (A/AAAA TTL set to
      same as ANAME TTL)
      - The original A/AAAA TTL (for the "target" owner name's A/AAAA
      RRDATA) might be short because it changes frequently (e.g. CDNs)
   - If the "sibling" data is only a hint, non-upgraded resolvers will
   serve A/AAAA records that are either poor (longer latency, higher loss),
   wrong (incorrect language due to wrong CDN node), broken (long TTL -> wrong
   server), or slow (requery required)

I don't have a better suggestion on how to fix this within the context of
ANAME; IMNSHO it is an intractable issue, a fundamental problem with ANAME
if sibling records are required.

Brian