Knowledge Base

DNS Propagation

99.9% of those who have anything even remotely to do with webhosting have encountered the unpleasant phenomenon known to most only as DNS propagation. To understand what this is and how it works, one needs to know certain things about the domain name system, or DNS for short.

Domain Name System

Basically, the domain name system is a software program that is run on a dedicated server called the DNS server. It’s there to resolve the domain names we can easily understand and remember into the IP addresses.

What IP addresses are for

Each network member, from a server to a personal computer, router or similar hardware component, has its own identification number, or IP address, which allows other network members to identify them via TCP/IP protocols and send them data packets or receive data packets from them.

These IP addresses are fully numerical, or in case of IPv6, hexadecimal, and thus very inconvenient to understand or remember. It is much easier to say that your website is, then to always refer to it by its IPv4 address,

What DNS is for

The domain name system exists to associate the numeric IP addresses with the readable and easily-understood domain names. The DNS consists of a complex hierarchy of the so-called name servers that keep track of which IP address is associated with which domain name. Thus, in theory, when the end-user enters an URL in his or her browser window, the browser sends a query to the corresponding name server, which answers with an IP address of the domain name entered. The browser sends a session request to the server with the IP address it has received from the name server, and receives a response.

However in reality all this is much more complicated.

First of all, the end-user’s PC can’t really remember all the name servers for each web page. So, to look up the name server authoritative for the web-page that needs to be opened, the web-browser first queries root DNS servers. The root servers give the IP address and now the browser can query the authoritative name server directly.

In order not to send dozens of queries to-and-from for opening one single website, the DNS information is stored with intermediary network members, such as ISP providers.


Since the DNS information isn’t static and changes constantly due to domain name expiration, server migration, IP address changes etc., etc., the DNS information must also be updated regularly.

For that, the so-called time-to-live, or TTL for short, is used.

TTL is a value of how long the DNS information should remain stored by a network node. It is set by the system administrator of the node in question and varies wildly from one network member to another. It can be seconds, or minutes, or even days, but, to save cache and memory space, by an unspoken rule, it’s usually around 24 hours for new domains and never longer than 72 hours for existing domains.

Even the end-user’s browser stores DNS information after its first look-up of a website.

Now, for all this to take place, the name server information stored at the root servers must be correct, thus:

  • correct nameservers are indicated in the NS record of the domain’s DNS zone file
  • name servers listed by a domain registrar match the ones in a DNS zone.

If there is a discrepancy between the name servers recorded at the root-servers, and those listed in the domain’s DNS zone file, the domain name will not resolve properly.

DNS propagation

So, let’s say that we have a website and a domain name associated with it, and it’s been hosted by SRHP (Some Random Hosting Provider), and we want to change our hosting provider.

To do so, we got the information for the new account, and the friendly technical support staff has already helped us get the site’s content to the new server that will be hosting our account in the future. However, our web-site’s visitors still won’t see the website if they type the URL in their browser.

First, we need to update our domain with proper nameservers, usually via simply logging in to domain registrar’s website, and change the name servers listed there to those our new hosting provider has provided us with.

Now, our new DNS configuration is set up correctly and everything should work, right?

Wrong, because all around the world, our website’s visitors’ ISPs, and a number of other network members and hardware components still have the old DNS information cached in their memory. And, since all of them have different TTL values, it will also take a different amount of time until they refresh their cache and will be able to provide the correct, up-to-date DNS information to any querying party.


Let’s sum this all up now.

  • The domain registrar is the one responsible for publishing the domain name’s DNS information at the very first (root server) DNS level.
  • When it is published, it is placed into a directory that is broadcast out to primary DNS servers around the world. The primary DNS servers in turn broadcast out to secondary DNS servers and so on and so forth.
  • This process is known as propagation and can take upwards of 72 hours to complete.
  • Propagation refers to the amount of time it takes for all the DNS servers everywhere around the world to recognize the fact that either a new domain has been registered, a domain name has been changed, or that the authority for that domain has changed.

It doesn’t always take 72 hours for the DNS propagation to complete. For most users, the propagation period is over well within that time, but there are no guarantees that every browser around the globe is able to open the website either.


Please rate this article to help us improve our Knowledge Base.

2 0