Does the SOA record in a DNS zone file have any purpose whatsoever, apart from zone file transfers? If a DNS server does not rely on zone file transfer for replication (but instead relies on some distributed backend database), is there even any reason for having an SOA record? Looking thru DNS query logs, I've never even seen a client even request an SOA record.
I suppose the "primary nameserver" and "admin" fields could be of some use, but usually the primary nameserver is obtained via an NS record.
Best Answer
Yes, the
SOA
record serves a purpose regardless. While theSOA
record is not typically queried directly by regular clients it is returned in negative responses!If you were to analyze your nameserver's responses rather than the incoming queries I think you would see the
SOA
record a lot more.However, some of the fields of the
SOA
record are no longer relevant if the zone transfer method that is part of the DNS spec is not used.If we take a look of the fields of the
SOA
record:MNAME
: name of master nameserver. Used in the context of dynamic updates as well as in some cases as part of the zone transfer implementation.RNAME
: technical contact email. Not really used by the system itself but rather informational.SERIAL
: zone serial number, used for zone transfers.REFRESH
: refresh interval, used for zone transfers.RETRY
: retry interval, used for zone transfers.EXPIRE
: expire interval, used for zone transfers.MINIMUM
: used to be the minimum TTL but is nowadays used as TTL for negative responses.So we can see that
MNAME
,RNAME
andMINIMUM
are not specific to the zone transfer spec.Out of this, I would say that the way negative responses work in DNS and the
SOA
MINIMUM
field in particular is the main reason why aSOA
record is necessary regardless of how zone synchronization is implemented.Because of this, you simply can't implement a properly working authoritative nameserver without having
SOA
record in each zone.