each / draft-aname

work on a draft to standardize ANAME/ALIAS records to allow CNAME-like records at the zone apex
7 stars 4 forks source link

multiple ANAME at node (Anthony, at least one other) #11

Closed Habbie closed 6 years ago

each commented 6 years ago

This would make some sense if we only had auth-side semantics to consider, but specifying what a resolver should do if it sees multiple ANAME responses is extremely thorny. Let's not do this.

aeden commented 5 years ago

@each I'd like you to reconsider this. At minimum, can you explain some of the thorniness of multiple ANAMEs in a resolver? I'd expect a resolver to resolve all of the ANAMEs it holds in the RRSet into a their target addresses and then treat the result as an RRSet of A records and an RRSet of AAAA records.

each commented 5 years ago

@aeden If a resolver that implements ANAME (and is therefore able to send queries to ANAME targets to upgrade the addresses provided by the original auth server) receives a response containing three ANAMEs, what should it do? Should it send address-upgrade queries to all three of them? Should it wait for replies from all three before it answers its client, or is it sufficient to answer when it gets the first response?

When you have one ANAME and some siblings associated with it, and you get a better answer from the ANAME target, you drop the sibling addresses and replace them. But if you have three ANAMEs, and a better answer from one of them, you have no way of knowing which of the sibling addresses to drop and which to keep, so you'll have to drop all of them.

Do these considerations change at all if only one of the ANAME targets returns a signed answer and the others don't?

If we're going to allow multiple ANAMEs then we have to specify this all very carefully, and the document becomes correspondingly more complex and harder to shepherd through the IETF (and it's already shown itself to be very, very hard).

Bottom line, I really don't want to be responsible for writing the specification text for this, nor particularly enthusiastic about implementing such a potentially complex mechanism in BIND, but I'm open to reviewing text if you want to write it.

aeden commented 5 years ago

@each thanks for filling in the gaps in my understanding of some of the challenges at resolvers. Given how challenging this document has been to get out, I think you're absolutely right, this one is best left out.