The 'SOA' Resource Record (RR) defines the key characteristics and attributes for the zone or domain and is standardized in RFC 1035. This RR is considered the most important RR in the zone file and it is among the most complex and takes a significant number of parameters.

Most of the SOA RDATA fields are pertinent only for name server maintenance operations. However, MINIMUM is used in all query operations that retrieve RRs from a zone. Whenever a RR is sent in a response to a query, the TTL field is set to the maximum of the TTL field from the RR and the MINIMUM field in the appropriate SOA. Thus MINIMUM is a lower bound on the TTL field for all RRs in a zone. Note that this use of MINIMUM should occur when the RRs are copied into the response and not when the zone is loaded from a master file or via a zone transfer. The reason for this provison is to allow future dynamic update facilities to change the SOA RR with known semantics.


RR Type: SOA
ID: 6 (0x0006)
Defining RFC: RFC 1035,  Section 3.3.13,  Page 19
Description: Start of [a zone of] Authority Record
Function: Specifies authoritative information about a DNS zone, including the primary name server, the email of the domain administrator, the domain serial number, and several timers relating to refreshing the zone.
Status: Active

'SOA' RR Syntax

name ttl class type rdata {mname, rname, serial, refresh, retry, expire, minimum}

RR Field Example Description
name @ The @ symbol substitutes the current value of $ORIGIN.
ttl This is the records time to live value (in seconds). If there is no TTL specified, the zone's default $TTL Directive will be used.
class IN Specifies the class to be 'Internet'.
type SOA Specifies the RDATA field will contain data in the SOA RDATA format.
rdata mname Specifies the primary name server for the zone. The name server referenced here also needs to be defined using the NS RR.
rname Specifies the email address who is responsible for the zone. Because the @ symbol has speical meaning, you must use a . in place of the @ in the address. Thus, if '' is the email for your admin, it would to be converted to '' when placed in the SOA RR.
serial 7 The unsigned 32 bit version number of the original copy of the zone. Zone transfers preserve this value. This value wraps and should be compared using sequence space arithmetic.
refresh 900 A 32 bit time interval (in seconds) before the zone should be refreshed.
retry 600 A 32 bit time interval (in seconds) that should elapse before a failed refresh should be retried.
expire 86400 A 32 bit time value that specifies the upper limit on the time interval (in seconds) that can elapse before the zone is no longer authoritative.
minimum 3600 The unsigned 32 bit minimum TTL (in seconds) that should be exported with any RR from this zone.


Snippets from a fictitious forward lookup '' zone file

Typical 'SOA' Record Entry

;   Start of Authority for the zone
7 ; serial number
900 ; refresh
600 ; retry
86400 ; expire
3600                             ) ; minimum (default TTL)
;   Zone NS records
IN NS IN A IN AAAA 2a01:8840:6::1
IN NS IN A IN AAAA 2a01:8840:7::1

See Also

This content was last updated on December 9, 2020
An error has occurred. This application may no longer respond until reloaded. Reload 🗙