Whenever a domain is switched between registrars or change an IP address, you are more likely to face delays caused by the DNS propagation. This can hardly be avoided, but its impact can be reduced to some extent.
The domain name server propagation is basically the time taken to update the DNS records across the DNS infrastructure around the globe. The DNS system basically helps in keeping the load on your nameservers low due to the caching feature it holds. It is due to the caching mechanism that gives rise to the DNS propagation, if it wouldn’t have been there, all the requests made to your domain would have flooded your nameservers for every lookup, which would have inturn put more pressure causing to malfunctioning or even non-functionality of these servers.
There are resolvers, a kind of servers that takes care of running the DNS queries for the web users, cache a copy of the zone files of any domain at the very beginning when a request is made for an information about a domain. Until the next cache update, all the DNS queries are served from the most recent zonefile that cached in the system. Such a mechanism helps in reducing the overall process load and bandwidth of a DNS nameserver.
The main reason for the propagation is basically the DNS caching. Consider a situation where a resolver has cached a zonefile for approximately 5 hours and the IP address has been switched to a different one and the records have been updated in the nameserver after sometime within this while, then the resolver would still exhibit the incorrect DNS information for approximately 5 minus the time at which the IP was changed. Only after all the resolvers from all across the globe are updated with the latest zone file, we say that the propagation has been completed.
At-times the DNS Cache gets poisoned or polluted, check more on this here – DNS Cache Poisoning
This was about the general procedure, but being an owner of a domain, you can set time within the zonefile called as the Time To Live (TTL). In there you must assign time in seconds which tells the DNS resolver about the applicable cache for a zonefile before it comes back asking for a new one. As a default value 14400 seconds ie. 4 hours are set. Though domain owners may make changes to these DNS settings, you must keep in mind that the changes would take effect in approximately 24 hours. Ofcourse, you must also check with your ISP whether they allow the TTL settings to be changed.
Not many are aware about the multiple uncontrollable factors that affect the DNS propagation time for a particular domain name. It may take anywhere between a couple of hours to approximately 48 hours for the propagation to complete.
What are the factors that affect the DNS propagation time?
TTL (Time to Live) Settings — As discussed above the TTL is set for every domain name server record which is help within the zone file. It is the period of time for which the servers cache the information for DNS records. Lesser the time set, causes to an increase in the number of queries to your nameserver, causing an increase in load resulting in a degraded server performance.
ISP (Internet Service Provider) — The ISP would usually cache the DNS records at their end inorder to avoid retrieving retrieving information from your domain name server everytime. This also helps them serve the requests faster hence increasing the surfing experience for users. Few ISP’s maybe an exception to this by overlooking the TTL settings and only update their cached records after fixed intervals of time.
Domain Name Registry — If the DNS’s are changed, the changes are forwarded to the registry after-which the new record updates is processed to the root zone. Different registries might take different times to update the records as their TTL setting are set high for the name server records. Moreover, even though recursive nameservers doesn’t cache the root NS records usually, though few ISPs cache the information anyway, further resulting in a delay in the propagation time.