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"?

Peter Mortensen
  • 2,319
  • 5
  • 23
  • 24
joeqwerty
  • 108,377
  • 6
  • 80
  • 171
  • 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. – Michael Kohne Nov 06 '09 at 16:29
  • Where's the question? – womble Nov 07 '09 at 00: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 07 '09 at 00: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. – ThatGraemeGuy Nov 07 '09 at 07:32
  • This isn't a question – tore- Oct 11 '10 at 11:42
  • @tore: You're a year late to the party... and you're right, it isn't a question it's a community wiki. – joeqwerty Oct 11 '10 at 12:05
  • 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. – Chris Thorpe Oct 12 '10 at 10:47
  • @Chris: This was posted almost a year ago and it was posted as a community wiki. Granted, it was in question form but it was meant to solicit the opinions of the members, not incite a firefight. Also, no arrogance was intended. – joeqwerty Oct 12 '10 at 11:08
  • There can be multiple layers of caching for a change to propagate through. Where is the myth? – JamesRyan Dec 06 '13 at 15:15

8 Answers8

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.

Scott Forsyth
  • 16,339
  • 3
  • 36
  • 55
  • 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 '10 at 12:31
  • 1
    -1 Because of "pushed to the 13 root servers" – Sandman4 Apr 28 '12 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. – Scott Forsyth Jul 19 '13 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 '20 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.

Evan Anderson
  • 141,071
  • 19
  • 191
  • 328
  • 1
    After our last major web site migration I noticed a web crawler hitting the old address a week later. – Gerald Combs Nov 06 '09 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. – Evan Anderson Nov 08 '09 at 03: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 '10 at 06:41
7

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.

Florin Andrei
  • 1,148
  • 1
  • 11
  • 18
  • 3
    +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 ^^ – Oskar Duveborn Aug 19 '10 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. –  Jul 02 '13 at 18:56
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.

Ed Fries
  • 1,621
  • 2
  • 11
  • 14
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.

al.
  • 915
  • 6
  • 17
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.

GregD
  • 8,713
  • 1
  • 23
  • 35
-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.

Jonathan J
  • 584
  • 1
  • 5
  • 11
  • 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 '10 at 06: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.

3dinfluence
  • 12,409
  • 2
  • 27
  • 41