Re: [DNSOP] ANAME loop detection

Matthijs Mekking <matthijs@pletterpet.nl> Thu, 04 July 2019 09:54 UTC

Return-Path: <matthijs@pletterpet.nl>
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 8EE7D1201D6 for <dnsop@ietfa.amsl.com>; Thu, 4 Jul 2019 02:54:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.597
X-Spam-Level:
X-Spam-Status: No, score=-2.597 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham 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 FgBvuTv0L559 for <dnsop@ietfa.amsl.com>; Thu, 4 Jul 2019 02:54:15 -0700 (PDT)
Received: from lb2-smtp-cloud9.xs4all.net (lb2-smtp-cloud9.xs4all.net [194.109.24.26]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A85C8120176 for <dnsop@ietf.org>; Thu, 4 Jul 2019 02:54:14 -0700 (PDT)
Received: from [IPv6:2001:980:4eb1:1:3429:ed0d:6289:9f2f] ([IPv6:2001:980:4eb1:1:3429:ed0d:6289:9f2f]) by smtp-cloud9.xs4all.net with ESMTPSA id iyROhALrtAOfNiyRPhxbZY; Thu, 04 Jul 2019 11:54:12 +0200
To: dnsop@ietf.org
References: <CAM1xaJ9txy98s5Y+Sq5T5N1KaD-LvtrDTut=mUomjHFwTvWnDg@mail.gmail.com>
From: Matthijs Mekking <matthijs@pletterpet.nl>
Message-ID: <a4137531-7641-34f2-6443-1cd904b485e3@pletterpet.nl>
Date: Thu, 04 Jul 2019 11:54:10 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.2
MIME-Version: 1.0
In-Reply-To: <CAM1xaJ9txy98s5Y+Sq5T5N1KaD-LvtrDTut=mUomjHFwTvWnDg@mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
X-CMAE-Envelope: MS4wfCgF9fHh2IdNvAmvJnWuwUQOhKkKWNYKE0MBZ1XnD6CynGx94FCVFr84yO7X3FpvcdaeJyYmKPieLghZp3FmyhESqXBxp4O+FWVkok+3vxF76jZOr8o+ WlTATIZzzDDknWrSv/Sd8JMsV7yv/7FkzpOLLlHnsoZBKsa2Qc0QrPwPJAoS2yniDZvxKB3OKn+sQToEL1UiWNJ+T7ARdJGGa/RqEWQ2VBoaz2tRV0xLcnxP jdE07n4Y1Zf4dLuTDSzPy4rXAqgvEgaTN8KCkleR31Q=
Archived-At: <https://mailarchive.ietf.org/arch/msg/dnsop/ChIgeEkXKthiWKznMBy3TJjUIVU>
Subject: Re: [DNSOP] ANAME loop detection
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, 04 Jul 2019 09:54:18 -0000

Jan,

I like something like option 2 the best, I'll react to your options below.

On 7/4/19 11:37 AM, Jan Včelák wrote:
> Hello.
> 
[ ... ]

> We had been thinking about how this could be fixed and here is what we
> have came with:
> 
> 1. EDNS "do not follow ANAME" option: The requester would indicate
> that it is capable of following ANAME and that the server receiving
> the query should not include the ANAME sibling address records. The
> loop detection would then work exactly the same ways as with CNAMEs.

This would be an easy addition I think, however I thought the "do not
follow ANAME" option actually meant "really don't do a target lookup I
can do it myself".  The authoritative server can still send the sibling
address records that are placed in the zone, they can be used if the
requester fails to perform the ANAME target lookup (for example due to a
network error or outage).

Furthermore, a service provide receiving such a request might want to
ignore it if it feels strongly it should hand out more appropriate
addresses than the sibling records (basically because that is the
service they provide their customers, will they rely on an EDNS option
from the requester saying "no really I can do this"?).


> 2. QTYPE=ANAME: According to the current version of the draft, server
> answering to ANAME must include the ANAME and should include the
> sibling records. Let's modify the behavior and say the server should
> not (must not) include the sibling records. Then the server performing
> ANAME sibling address resolution could first query for ANAME before
> trying A or AAAA. We get the same loop detection mechanism as with
> CNAMEs at the cost of an extra query per ANAME

Again, I think what we should clarify is that it is a signal to not do
do ANAME target lookup. Sibling address records are fine and required at
some point.

I like this option the best, because the requester is interested in the
ANAME record in the particular zone, and so there is no need for
chasing.  While with address queries the requester is actually
interested in the target address, and so chasing makes sense.

We could change the specification such that a server that does ANAME
target lookups MUST use QTYPE=ANAME and servers receiving ANAME queries
MUST NOT chase the target and would solve the loop problem.

> 3. EDNS "seen names" options: An option with a list of visited ANAMEs
> would be introduced. The requester would add the option into the query
> when resolving an ANAME target. The receiving server would consult the
> list in case another ANAME was encountered and either broke the loop
> or forwarded the updated option to the next server.
> 
> 4. EDNS "nonce" option: Variance on the previous option which would
> include a numeric nonce instead of full domain names. A receiving
> server would break the loop if it has seen their nonce. It would be
> more compact but the question is how to select the nonce pragmatically
> especially if there can be more servers serving the same zone.

These options feel like more work and if one of the earlier options work
I would rather do that.


Best regards,

Matthijs


> Do you have thoughts on the listed options or brand new suggestions?
> 
> It's also worth mentioning that this is an optimization in a sense.
> The timeouts will be the only option to resolve the loop with
> ANAME-unaware resolvers.
> 
> Jan
> 
> _______________________________________________
> DNSOP mailing list
> DNSOP@ietf.org
> https://www.ietf.org/mailman/listinfo/dnsop
>