In this article we’ll talk about DNS Propagation. But before that, we need to make sure you know what DNS is. Basically, the DNS is a network of specialized servers that manages hostnames, IP addresses, services, and their relationships via interchange of data in the form of DNS records.
Now let’s see the second word – propagation. To propagate, it means to spread ideas, opinions among people and places (Cambridge Dictionary). So DNS propagation is about spreading the DNS records’ changes through the vast network of DNS name servers.
What is DNS propagation
It is the time it takes, from updating your DNS records in the Primary Zone in the Authoritative name server, and actually spreading this new information (a new DNS A record that points to a new host (IP address), change in a host and a service, or another) to all of the DNS recursive servers. When you make the changes in your DNS records, they will get instantly updated in the authoritative servers. It will take extra time, for the data, to be modified in all the recursive servers along the way, depending on the TTL values of the DNS records. The recursive servers have cache memory that temporarily stores the data.
The connection passes through many recursive servers, including those in your internet provider (ISP). All of them have TTL (Time to live) which defines for how long they will keep the DNS cache with the DNS records. The DNS cache exists mostly for load balancing so that it won’t be so heavy on your nameservers and to make the whole process faster.
When a user uses their browser to open a web page for the first time, he or she will send a request all the way to an authoritative server. If it is not for the first time, the request will get an answer on the way in a recursive server, and if the data is still up to date, the user will get his answer quicker.
Basically, the DNS propagation depends on the TTL in the DNS records.
How much time does DNS propagation usually take?
The DNS propagation could take 48 hours or even 72 hours. It depends on the TTL values, and when was the last time your recursive DNS servers got their update, the name servers at TLD level, and the recursive servers at the ISPs. A recursive server won’t search for updates until the DNS records that it has in the cache memory expire.
Why the DNS propagation takes so long?
4 factors really affect the DNS propagation speed:
- The domain name registrar. When you buy a domain name, you get it from a domain name registrar. You will get a domain name with the TLD (top-level domain) you have chosen. The name servers will be there, and you will get their IP addresses. When you get a managed DNS, you need to make the change in this TLD’s name servers. The time it takes to update there is out of your hands and is usually up to 48 hours.
- The TTL values of the DNS records. This part we already mention a few times. The TTL value shows the time that recursive servers should keep the DNS records in their memory before updating. If you have the TTL value of an A record at 30 minutes, for example, it will take up to 30 minutes to propagate the change, depending on the last time it updated before.
- The recursive servers of the ISPs (internet service providers). Not all recursive DNS servers are the same. The ISPs have their own, and they could ignore the TTL values of your DNS records and keep them for longer. Why? Because they want to have less DNS traffic. So the ISPs recursive servers could be the bottleneck of your DNS propagation.
- The DNS cache of the users’ computers. When a visitor enters a website, the DNS records for this site will be saved on his or her computer, the time that the TTL value indicates. So, if you are a site owner and you want to visit your site, to which you recently change the IP address, you will need to flush the DNS cache. Then you can visit the site with its new IP address. The users will need to wait until the DNS propagation comes to them or flush the DNS tool.
How to make the DNS propagation faster?
Yes, you can, and it is simple; you need to lower the TTL period of the DNS records. If you want to know more about it, you can read our article about TTL, where we recommend different duration for various DNS records. You will still need to wait for the expiry period that was set before. All the DNS caches need to expire and the recursive servers to refresh.
You can also force a zone transfer, and that way, push an update to all of the Secondary DNS servers.
Just take into consideration that a lower TTL value for your DNS records will mean more DNS queries to the Authoritative name servers. This uses more server’s resources.
*Take a look at the previous point. You can’t control the DNS propagation when we are talking about the recursive servers of the ISPs and in the case of change on the TLD level.
How to check the DNS propagation?
It is an easy process. We will show you two ways, depending on your OS.
First, on Windows OS, you will need to open the Command Prompt. There you can use Nslookup on your web site. Just write:
*Change YOURWEBSITE.TLD with your domain name.
It will perform a lookup for an A or AAAA record and show your website’s IPs, and you can see if they have already changed.
Linux (Ubuntu, Debian, CentOS, etc.), and macOS
For Linux OS, you can perform a dig command. Open your Terminal, and you can write:
“dig YOURWEBSITE.TLD” command. You will get similar result like the nslookup command on Windows OS – the A or AAAA record and the current IP addresses.
*Put your domain name on the place of YOURWEBSITE.TLD.
You can also check the DNS propagation online, regardless of the device you are using. We have an easy-to-use DNS tool that will show you all the A and AAAA records for the domain name you want to check. Go to https://dns.computer/, write the domain name, and press audit.
Now you know what does DNS propagation means. It takes time, but you should be patient. You learned how to see if the DNS propagation is ready. For more useful information about DNS, you can check our BLOG.