Hello Jinmei,
apologies for the delay. Due to the length of your email I flagged it
for later reading and then I got distracted by other things.
On 13 Apr 2017, at 22:27, 神明達哉 wrote:
Overall I agree this is worth trying to achieve. There is a clear
need for the ability of defining an alias at a zone apex, and it will
be nicer if we provide a standard-compliant and interoperable way for
that. I also agree that a long-term goal (hope) should deploy it in
the resolver side even if it will take quite long (if not fail), so
that authoritative server implementations can be kept lightweight and
simple.
I do not envision a future in which all resolvers support it, so I fear
auths that want it will need to do it, forever.
I have one high-level concern in terms of the merit of providing a
standard/interoperable version of 'alias'. As already noted in the
draft there are currently several proprietary mechanisms of 'alias',
mainly to allow an alias at a zone apex. In order for the standard
version to be successful, it will have to be compatible with these
existing ones as much as possible and as long as it doesn't break
other DNS standards.
I’d like to agree, but if the existing implementations are not all the
same, this is unfeasible.
In that sense I see some disparity with the
ALIAS record of Amazon Route53, one of the earliest (and probably
largest) players of the idea:
- Supporting other types of records than AAAA and A
- Allowing different target names for different types
As I replied to John Levine, we do not feel this is prudent at this
stage. Operational experience with ANAME, once standardised and
deployed, would be a good basis for another draft that is more
extensive, like having a type bitmap - this would support both these
features.
I don't know how critical these are for existing R53 ALIAS users, but
depending on that ANAME may not be able to be successful in practice.
Outside of R53, most implementations appear to be similar. That’s a
pretty decent installed base that we can try to convert!
I also wonder whether it's okay to allow 'AAAA or A' and ANAME to
coexist for the same owner name. Shouldn't it be prohibited similar
to that CNAME and other types can't coexist?
If A and/or AAAA coexist with ANAME, no ANAME expansion happens, as this
is deemed to have already happened during provisioning or slaving etc.
Some specific comments on the draft text follow:
- Section 3
If the original query is for type A, and an RRset of type A exists
at
the final ANAME <target>, then that A RRset (with <owner> changed
to
match that of the ANAME RR), MUST be appended to the answer section
after the ANAME RRset.
What if the target name of ANAME does not exist (NXDOMAIN)?
Returning NXDOMAIN is quite likely to be a bad choice, since the
owner name of the query actually does exist. It will be certainly
problematic if it's a zone apex. So should it be translated into
NOERROR+NODATA? Or something else? Also, if the zone is signed,
what kind of proof should be returned?
The draft does not usefully cover this right now. Indeed returning
NXDOMAIN would be wrong, so a NODATA-ish response would be right. The
proof would consist of a signed NSEC(3) with a type bitmap containing
ANAME, and if at the apex, also SOA, NS, perhaps MX, etc. A/AAAA would
not be in the type bitmap.
- Section 3.1
Address records cached locally MUST have a limited TTL. The
initial
TTL for locally-cached address records MUST be set to the lesser of
the ANAME TTL and the TTL of the address records retrieved from the
ANAME <target>. The local TTL MUST count down, just as it would in
a
conventional resolver cache.[...]
Should the local TTL count down, even if the initial value is from
the ANAME TTL? I suspect that's not the intent, and if I'm correct
I think the current text is confusing and should clarify it.
Noted.
- Section 3.2
If the zone is configured with an A or AAAA RRset at the same DNS
node as ANAME, then the ANAME is considered to have been
pre-expanded
for zone transfer purposes. When a zone is being transferred to a
secondary server, if any address record already exists at the same
node as an ANAME RR, then the ANAME RR MUST NOT be further expanded
by the authoritative server.
(I have a more fundamental concern about the coexistence as stated
above, but ignoring it in this context) I'm afraid this text talks
about something not explained before this point or not even
explained clearly anywhere in the draft. I guess the "pre-expand"
means the following behavior described in section 3.3, but not
necessarily with RRSIGs:
Implementers MAY allow address records associated with the ANAME to
be populated and signed by the primary server, then sent along with
their RRSIGs to secondaries via zone transfer.
If my understanding is correct, the concept of population/pre-expand
behavior for zone transfer should be explicitly introduced before
the discussion in Section 3.2.
Also noted.
Thank you for your extensive review!
Kind regards,
--
Peter van Dijk
PowerDNS.COM BV - https://www.powerdns.com/
_______________________________________________
DNSOP mailing list
DNSOP@ietf.org
https://www.ietf.org/mailman/listinfo/dnsop