"DNS Propagation" Does Not Exist: A Suggested Change In Terminology

Written by ruurtjan | Published 2021/05/18
Tech Story Tags: dns | networking | internet | dns-propagation | software-development | software-engineering | web-monetization

TLDRvia the TL;DR App

A widespread fallacy among IT professionals is that DNS propagates through some network. So widespread in fact, that there are a couple of sites dedicated to visualizing the geographic propagation of DNS records. But DNS propagation does not exist.

So how does it work?

When you request DNS records from the server that is authoritative for that domain (i.e. who "owns" it), it will accompany those records with a TTL (time to live). This indicates how long you can keep using those values before you should request a fresh copy. The records are stored in a cache on your device. Eliminating the need to query the DNS server every time speeds things up and offloads the DNS servers.
Many internet service providers provide DNS caching servers to their subscribers. There are also some public DNS servers, offered by Google, Cloudflare, and others. Those are all called recursive DNS servers. They can provide you with an answer by querying the authoritative DNS server. These recursive servers use the TTL to cache records on their side. So there are multiple layers of caching: in these servers and on your device.
It's of course possible that the records have been changed, and that you get an old version of the records that were still in the cache. These records are said to be stale. So when this happens, it's not caused by records that didn't propagate yet but by a stale cache.
Staleness depends on the incidental timing of previous requests, and they are not correlated with the geolocation of a DNS server or its place in some physical or logical network.
Another way to look at it is that records are not pushed (propagated), but pulled (queried and cached).

A suggested change in terminology

Okay, so "DNS propagation" may not be the best choice of words. But why does that matter?
Well, words trigger associations, and they shape the way we think about something. So the terminology we use is important from a pedagogical perspective. When something is said to propagate, someone who hasn't learned how DNS works will assume that it somehow spreads through a network. And everyone who does know how it works had to have learned it at some point. It will be easier to learn if we use words that trigger the right associations.
So let's eliminate this fallacy, and call it cache expiration instead of propagation.
Hi, I’m Ruurtjan, maker of nslookup: an online DNS client that lets you look up DNS records and check the caches of several popular DNS servers. Follow me on Twitter: https://twitter.com/Ruurtjan

Published by HackerNoon on 2021/05/18