SOA Values

Remember this SOA record for the zone?

@                       IN  SOA (
                         17           ; serial number
                         900          ; refresh
                         600          ; retry
                         86400        ; expire
                         3600       ) ; default TTL

We never explained what the values in between the parentheses were for.

The serial number applies to all the data within the zone. Think of it as a version number for the zone. When we created this zone with the DNS console, the serial number began at 1. The DNS console automatically increments the serial number in a zone’s SOA record whenever you make a change to the zone. The current serial number of 17 shows we’ve made a few changes since creating the zone. If you look at SOA records from other zones, you might see the date encoded in the serial number—for example, 2000102301. This format is YYYYMMDDNN, where YYYY is the year, MM is the month, DD is the day, and NN is a count of how many times the zone data was modified that day. Note that you can’t use this convention with the DNS console. It just increments the serial number by one each time a change is made and doesn’t understand the date encoding.

When a secondary name server contacts a primary master server for zone data, it first asks for the serial number of the data. If the secondary’s serial number is lower than the primary’s, the secondary’s zone data is out of date. In this case, the secondary pulls a new copy of the zone. As you might guess, if you ever modify the zone datafiles on the primary master by hand, you must increment ...

Get DNS on Windows Server 2003, 3rd Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.