In the past two posts we talked about the SOA record. In this post, we’ll finish it. The last parts of the SOA record are refresh, retry, and expire. These are all numbers that note the number of seconds. Each one does a different thing, but they all work together.
Refresh is the number of seconds the secondary name servers wait before asking the primary name server ‘do you have any updates for me?’. You don’t want the primary to be drowned in requests of ‘got anything got anything got anything?’. It’s like the two year old younger brother asking you constantly. That’s annoying. So we set the refresh of a domain.
The next number is the Retry. Now suppose I ask my Mom ‘Can I have a new Xbox?’ and I don’t get a response. How long should I wait so I don’t annoy her? For a domain, that’s the ‘I didn’t get an answer from my primary name server, how long do I wait before asking again?’ Asking Mom repeatedly for an Xbox (especially if she doesn’t respond) is just going to make her mad. Overloading a name server with repeated requests can do the same thing.
The Retry time must be less than the Refresh time. Otherwise, I’m waiting longer than I should to re-ask than when I’d actually be doing my asking to begin with.
Now if my Mom doesn’t respond to me about the Xbox, how long should I wait until I give up on her ever responding? (With my Mom, that’s infinity. She’ll just ignore what she calls silly questions.) With domains, that’s Expire. That tells the secondary server when to give up. It’s usually a long time and the number has to be bigger than refresh or retry. If it’s less than retry, then the secondary server is going to go ‘eh, why bother retrying, he’s dead Jim’. Same with Refresh. If it’s less than Refresh, then the secondary server is never going to bother trying.
Now for the last number, the TTL. TTL stands for Time To Live. This doesn’t actually anything to do with zone transferring. Surprise!
It has to do with people querying the domain. When I query a domain and get an IP address, the TTL tells me how long do I believe that response. If it’s set to 300, then I believe that response for 5 minutes, at which time I have to query again.
It took us three posts, but we covered the SOA record! In the next post, we’ll talk about other records used in DNS.