When you run a Twitter trivia contest…

… I expect the answers to be right.

Namecheap, a domain registrar and web services provider, is currently running a Twitter contest with tech/domain/company trivia, awarding free domain registrations to participants, and top prizes of a Macbook Air and iPads to the top of the leaderboard. To be clear, I am not competing in this contest, and my first involvement with it was with this question. In other words, I’m not posting this because I want anything out of it—I’m posting it just to point out the mistakes.

Inconsistent tenses aside (one… his/her), the most important parts to emphasize are:

  • what record
  • domain propagation

The best answer, although not necessarily the 100% correct answer (see below), as I answered in my tweet, is the Start of Authority (SOA) record. About three other individuals on Twitter agreed with me, facing hundreds with a different answer.

In fact, the Refresh and Minimum TTL data entries in the SOA record are responsible for domain zone propagation, whether to a secondary nameserver or to the broader Internet.

Screenshot of Twitter users giving the "TTL" answer, which should be wrong.
Twitter users giving the “TTL” answer, which should be wrong.

Hundreds of others poured in their answers, most lending their support to the answer that Namecheap ultimately declared correct: Time to Live (TTL).

This is (mostly) wrong. For two reasons:

  1. TTL is not a DNS record. It is a setting within the SOA record, and an attribute attached to other records such as A and AAAA host records. Given the question, this should disqualify it as a potential answer.
  2. TTL whenever applied to non-SOA records affects particular records, not domain propagation (e.g. the lifetime of the ‘www.namecheap.com’ A record, not of all entries in ‘namecheap.com’).

Ultimately, the question posed was a bad one. The traditional understanding of the SOA minimum TTL is that it is the shortest frequency with which other nameservers will check against the authoritative/primary nameserver—at least according to this DNS service provider. While the original specification, RFC 1912, would completely agree with me here in declaring…

Minimum: The default TTL … This is by far the most important timer. Set this as large as is comfortable given how often you update your nameserver.

RFC 2308 changed things so that the minimum TTL in the SOA record affects only negative caching: e.g. you visit ‘doesntexist.namecheap.com’, it doesn’t work, the ISP’s nameserver caches it, and the minimum TTL specifies how long before your ISP’s nameserver fetches that data again. It’s not supposed to be used as a lower bound for update frequency anymore.

That having been said, given the constraints of record and domain propagation, we can be certain that TTL on individual resource records is an incorrect answer that was erroneously, but not maliciously, accepted.

</rant>