16

I always hear system administrators talk about waiting for DNS records to propagate "around the Internet" or "around the world" when they talk about making DNS changes. The fact of the matter is that my DNS records don't propagate to any other DNS servers except for the name servers that host my namespace (primary, secondary, tertiary). When I change a DNS record (A, CNAME, MX, etc.) those changes are reflected immediately in my zone and they do not propagate anywhere. What people really mean when they talk about DNS record propagation is actually TTL caching. This article at Wikipedia explains it succinctly:

http://en.wikipedia.org/wiki/Domain_Name_System

Isn't the concept of DNS propagation a myth? So, why is it called "propagation"?

9
  • 4
    What's the question? You already understand the issues in play, and you're just arguing with common terminology. I'll admit the term is incorrect, but from the point of view of the users it describes what's going on effectively, so it sticks. Nov 6, 2009 at 16:29
  • Where's the question?
    – womble
    Nov 7, 2009 at 0:04
  • There is no question. It's a community wiki. I'm asking for opinions. Can you explain the downvote? Is my post completely inane or inappropriate for this forum? Am I misunderstanding the rules here?
    – joeqwerty
    Nov 7, 2009 at 0:14
  • There's no question here, and you have hit the nail exactly on the head, it's just caching, it's just semantics. Move along, nothing to see here. Nov 7, 2009 at 7:32
  • 1
    Err Joe, there's a question right there in the title. Also, whoever originally penned this came off as a 100% arrogant jackass. Flagging to close as argumentative, as this is purely semantics. Oct 12, 2010 at 10:47

8 Answers 8

14

Myth? Kind of.

There are 2 aspects that people often confuse. If you make a change to your domain name with your domain name registrar, for example changing the name servers, that is pushed to the name servers for your TLD (.com, .ca, .fr, etc). That's where the propagation comes into play. In years past, that could take hours or even days waiting for the registrar to take the information you provided, push that to their deployment servers which would update the TLD root servers twice per day. That's improved rapidly over the years and often times changes made to your domain name take take effect nearly immediately.

On the other hand, if you make a change to your DNS zone, like adding an A record or an MX change, that should take 'up to' as long as the TTL setting to be updated everywhere. That's not really propagation though, it's caching. Microsoft DNS, for example, defaults to 1 hour TTL.

With the caching, if you happen to use the domain name just before making a change, and the TTL is 1 hour, then it will take an hour for it to be updated. However, if you haven't tested anything with the domain name just prior to the change, then your change will be immediate for you. (i.e. add a new A record that you haven't tested with yet, and it will take effect immediately).

So, nowadays almost all changes will take affect within an hour (or whatever your DNS TTL is set for). The only exceptions are if a DNS server doesn't honor the TTL (spammers often don't), or if your domain name registrar's servers aren't updating properly to the internet and you make a registrar level change. That isn't often though.

4
  • 4
    Unless you work for a TLD, which is not common, your name servers change will not be "pushed to the 13 root servers around the world", only to the servers of your TLD (.fr, .net, etc).
    – bortzmeyer
    Jun 28, 2010 at 12:31
  • 1
    -1 Because of "pushed to the 13 root servers"
    – Sandman4
    Apr 28, 2012 at 20:01
  • 1
    Thanks bortzmeyer and Sandman4. You're correct, it's not the 13 root servers that are updated, but rather than name servers of the TLD. I updated my post to correct that. Jul 19, 2013 at 22:27
  • Data that is 'Refreshed', 'Updated', 'Pushed', 'Changed' (a single 'local' change affecting many non-local sources) is what 'propagation' can mean. All these words work when describing it - especially to laymen. If you want to understand how DNS works, READ about it specifically. Not strictly the nomenclature surrounding it. Propagation means: "the action of widely spreading" - nothing more. The word is fine. Decent answer, but anal/dumb OP.
    – B. Shea
    May 14, 2020 at 12:46
11

Yes-- people are talking about cached lookups timing-out of DNS server caches when they make these kinds of statements.

Unfortunately, some DNS servers will blithely ignore TTL values and cache records beyond the stated TTL for some period. I've seen ISP DNS servers hold onto cached records with very low TTLs (minutes) for up to 24 hours, and there are probably some really brain-damaged servers that hold them even longer.

3
  • 1
    After our last major web site migration I noticed a web crawler hitting the old address a week later. Nov 6, 2009 at 16:47
  • It makes me want to do something really rude to ISPs when they do that, but public shaming of an ISP that ignores TTL values isn't going to get a lot of people riled up. Jerkwads, nonetheless. Nov 8, 2009 at 3:03
  • 1
    Given the use of fast flux domains for botnet control, it is may be desirable to cache data with very low TTLs for much longer than specified. This does limit the utility of very low TTLs for fast domain switchover.
    – BillThor
    Dec 19, 2010 at 6:41
8

They are "propagated" to DNS servers around the world in the same sense that ideas are propagated from one mind to another. When a query comes in, the local DNS cache needs to learn the information (if it's not cached already, or if it's cached but it's expired). So, the new value you just pushed to your server shows up on the map pretty much like gossip shows up on the blogs. Well, not exactly the same, but I think it's a neat analogy.

3
  • 4
    +1 It bothered me nobody thought like this until I came all the way down to this post ^^ And I don't get it, what is propagating (ie spreading or taking effect) are the new values - regardless of how that is technically done. No they're not pushed or permanently replicated anywhere, but since when does "propagate" mean anything specific like that? Then again, English isn't my native language ^^ Aug 19, 2010 at 17:44
  • 1
    I agree with the wave analogy. Like a stone being thrown in a pond, the immediate point of impact of the rock (the DNS change on the authorative server) gets reflected in ever widening circles from the point of origin until all the DNS servers reflect the change.
    – user180068
    Jul 2, 2013 at 18:56
  • Definition of Propagation: the spreading of something (such as a belief) abroad or into new regions (merriam-webster.com/dictionary/propagation) This definition does not specify the technical mechanism by which the IP address spreads, nor where it spreads to, only that it does. The fact the information is short-lived in a cache does not make the word propagation incorrect.
    – Myster
    Feb 26 at 1:55
6

Not a myth, we see "speed of propagation" issues fairly frequently when changing MX records. It's always when we don't control the DNS and are working through a third party so we usually can't tell if the TTL is very long, it is being ignored by some DNS servers, the MX is cached by the SMTP server or some combination of all 3. Regardless, it's painful when it happens.

3

In the original DNS specification (RFC 1034/1035) there were two steps of cache invalidation that needed to take place, before a zone update was globally visible. Additionally to the already mentioned TTL expiry of caching resolvers around the world, you first needed to wait for (all) your secondary name server(s) to refresh the zone data from the primary's zone.

Only after DNS NOTIFY (RFC 1996) was specified in the year of 1996, there was a standard way of promptly notifying all authoritative name servers about zone changes.

So maybe the original phrase of "change propagation" was more appropriate at the time, since it was a two-step process.

0

I've only heard DNS propagation being spoken about with regard to hosting your .com website with a third party vendor and only because they cache the records for 48 hours. Any DNS servers that don't have the records cached, should have them immediately available.

-1

If we look at the dictionary definition and etymology of "propagate," we can see that the word implies that by some act of a parent, a child is produced. In the case of DNS, when you have multiple servers authoritative for a particular zone, and you make a change on one server (the "parent" record), the record is propagated to the other servers (the "child" records) by a replication system that pushes changes out to partner servers.

Using the term propagate to describe how a DNS change is recognized by non-authoritative DNS servers is a misapplication of the term propagate, as it does not really fit the dictionary definition of the word. A more appropriate term would be discovery, because it's the action of DNS caching servers to discover the address resolution and remember it for the TTL.

So really, we're not waiting for the DNS change to propagate around the world, we're waiting for it to be discovered.

1
  • The definition "to cause to spread out and affect a greater number or greater area" if the applicable definition. The use likely derived from the concept of signal propagation.
    – BillThor
    Dec 19, 2010 at 6:45
-2

I wouldn't call it a myth. The TTL on the caching does have the side effect of stale records being held onto after the DNS entries have been updated on the authoritative DNS server.

So call it want you want but the end result is the same.

Also MX records are not cached so any changes to an MX records for a domain is instant.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .