Hi Philip,

Thanks you for the feedback.

On 19/05/2026 09:33, Philip Homburg wrote:
I'm a bit worried what will happens if the graph that connects the nameservers
is not a tree.

1) A secondary may receive multiple notifies. Without a SOA check the
    number of zone transfers may get out of hand.

Section 5 specifies that a secondary must rate-limit how often they will request an AXFR from their primaries. That should prevent excessive amounts of zone transfers.

2) A loop in this graph may cause an endless series of zone transfers.

3) A secondary could receive a notify but not know which upstream nameserver
    has a more recent version of the zone.

Good catch on both of these!

I wonder, the SOA serial is an in band mechanism. Maybe it is easy enough
to add an out of band mechanism. For example, we have the ZONEVERSION
ENDS(0) option. Maybe that can be added to both the notify an and the AXFR
request.

Right. This would have to contain an incrementing value, distinct from the SOA serial.

What we could do is pass a (64-bit) timestamp in EDNS(0) with the AXFR as well as the NOTIFY(AXFR). Secondaries would have to store the highest timestamp they received with the AXFR response to deal with (2). Comparing the timestamp in a received NOTIFY(AXFR) with that in the AXFR response would deal with (3). If the AXFR has a lower timestamp, another primary should be tried. If a timestamp is not attached to the AXFR, chained NOTFIFY(AXFR)'s must not be sent out.

This would have to be a new EDNS(0) option instead of a new ZONEVERSION type. NOTIFY(AXFR) is a type of query, and "OPTION-LENGTH for the ZONEVERSION option MUST have a value of 0 for queries".

Kind regards,
Martin

_______________________________________________
DNSOP mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to