What is DNS TTL, and why do DNS changes seem to take time to "propagate"?
TTL is how many seconds resolvers may cache a record. When you change a record, resolvers that cached the old one keep serving it until its TTL expires, so different users see the change at different times.
Explain it simply
A shop's old price list is still stuck on customers' phones as a screenshot. Until each person refreshes it, they see the old price. TTL is the time after which a screenshot is considered stale.
Example
example.com. 3600 IN A 203.0.113.10 TTL = 3600 s = 1 hour
You change it to 203.0.113.99 at 10:00.
Resolver X cached the old record at 09:50 -> serves old IP until 10:50
Resolver Y cached at 09:10 -> refreshes at 10:10
New visitor with no cache -> sees new IP immediately"Propagation" is not data spreading across the world; it is caches expiring at different times. Planning a migration: lower the TTL to 300 seconds a day or two before the change, move the record, then raise the TTL again. Browsers and operating systems also keep their own short caches.
Higher TTLs reduce load and speed up lookups; lower TTLs give faster failover. Typical values are 300 to 86400 seconds.
What to say in the interview
"TTL is the caching lifetime of a record. Changes take effect as old cached copies expire. For a planned change I lower the TTL ahead of time, then switch the record, so the stale window is short."
Common mistakes
- Lowering TTL at the moment of the change. Old caches still hold the previous long TTL.