DNS Propagation: A Necessary Evil?
In a world where users expect to perform complex online transactions in a fraction of a second, one of the last hurdles to performance and flexibility is the DNS system. Invented in the 1980s, and remaining more or less the same since then, DNS is a vast, distributed system. Even the smallest change can take between a few hours and a few days (!) to be propagated across the Internet.
When you change a DNS record, you simply can’t be sure when users and devices will be able to see the change. Is this a necessary evil of Internet systems, even as we near the third decade of the 21st century? The short answer is, no.
In this article you’ll learn the causes of the propagation problem, “do it yourself” techniques to speed your propagation, and how to achieve near-instant DNS propagation with next-generation DNS technology.
The DNS System and the Challenge of Propagation
The Domain Name Server (DNS) system is a global infrastructure, which enables translating human-readable host names such as “www.example.com” into Internet Protocol (IP) addresses such as “18.104.22.168”. The DNS system is distributed, and relies on multiple tiers of DNS servers.
When a web browser or network device needs to discover the IP for a hostname, it begins a DNS lookup process. It consults a DNS server, and may be referred to several other DNS servers, until it reaches the authoritative name server that holds the IP address and other details for the required hostname. At each stage in the DNS query process, systems can store DNS information in their local cache.
What Is DNS Propagation?
When an IP address, or any other information about a hostname, is added or changed in a DNS record, the change needs to be propagated to all systems around the world participating in the DNS process.
If a client performs a DNS query and reaches a system where the change has not propagated yet, that client will receive the old address, meaning that the change has not yet propagated to reach that user.
DNS propagation is the time frame it takes for DNS changes to be updated across the Internet. A change to a DNS record—for example, changing the IP address defined for a specific hostname—can take up to 72 hours to propagate worldwide, although it typically takes a few hours. For many modern use cases, these DNS propagation times are inconvenient, or simply unacceptable.
The problem with DNS propagation is that it is only as strong as its weakest link. There is a huge, global chain of DNS servers and local DNS resolvers, and as long as one element in the chain insists on retaining its old DNS information, propagation won’t be complete.
Propagation is a hard problem, but you’d be surprised—with next-generation DNS infrastructure, DNS propagation time can be reduced from days or hours to just a few seconds.
Why Does DNS Propagation Take So Long? 3 Factors Affecting Propagation Time
What makes DNS propagation take longer? There are three primary factors:
- Time to Live (TTL) settings—TTL is the time during which DNS information is allowed to “live” on a local machine or a remote DNS server. When the TTL period elapses, the local system purges its DNS information and reaches out again to the global network of DNS servers to receive new data. The lower the TTL, the faster propagation will be. For example, if TTL is set to 60 minutes, and you change a DNS record, servers around the world will continue to use the old information for an hour, and then purge it and make a new DNS request to obtain the up to date information.
- Internet Service Provider (ISP)—ISPs around the world cache DNS records, to allow users to access websites more quickly. For each website, they perform a DNS lookup once, and then use the result for as many users as possible. Some ISPs ignore TTL settings, and retain DNS records in cache even if the TTL period has already expired. This can cause propagation to take longer.
- Domain name registry—if you change the authoritative name server for your website (this is the DNS server that holds the official, correct information for your web addresses), the change needs to be reflected higher up in the DNS hierarchy. For example, if your website address is “.com”, the name server change must be updated in the Top Level Domain (TLD) Name Server. Root servers might have a TTL of 48 hours or more to prevent overuse, so this change might take much longer to propagate.
Speeding Up DNS Propagation—Do it Yourself
Most of the elements in the DNS system are outside your control—ISPs and DNS root servers distributed around the world have their own policies. However, there is a simple way to speed up DNS propagation:
- Define or modify an A record that points your hostname to the new destination IP address.
- Set a minimal TTL for that DNS record—we recommend 5 minutes. Below that, many ISPs might ignore the TTL and retain the old record in cache.
In many cases, this simple process will significantly speed up propagation, although there is no way to guarantee or predict exactly how long propagation will take.
Can You Monitor DNS Propagation and Verify it is Completed?
There is no foolproof way to verify DNS propagation, because to do that, you’d have to check every DNS resolver and server in the world, or at least all those serving your users.
However, it is possible to check propagation with a reasonable degree of accuracy. Here are three ways:
A commercial solution from CA that performs a continuous quality check of the accessibility of your website, including DNS.
Google’s G Suite administration tools allow you to perform Dig queries to see the current status of your DNS records.
An anonymizing proxy
A proxy running in the same geographical location as your users can help you simulate a real user experience. A respected commercial tool that provides proxies in most cities worldwide is Luminati.
You can access the Internet using the proxy and run one of the following console commands—nslookup, traceroute or ping—with your domain name as an argument (e.g. nslookup yoursite.com). See which IP is resolved by these commands—if it is the new IP, propagation has completed, at least for those servers in the DNS lookup chain of your proxy.
Meet Next-Generation DNS Technology: DNS Propagation, Solved
DNS is an essential, reliable, but notoriously slow infrastructure. With new DNS platforms based on next-generation DNS servers, this is no longer the case.
NS1 is a next-generation DNS platform that provides near-instant propagation—any DNS changes are propagated worldwide in just a few seconds. It does this using a global network of super-fast DNS servers that can respond to DNS requests very quickly. NS1 allows you to set a low TTL, and permits DNS clients to “hit” its DNS servers as often as they need, solving the problem of slow propagation.
Next-generation DNS platforms like NS1 provide other capabilities, such as:
- Location-aware DNS routing—sends users automatically to the server closest to their location
- Intelligent traffic steering—intelligently routes DNS clients to one of several servers based on rich data like bandwidth, connectivity, latency and network congestion
Get a free trial of NS1’s next generation DNS platform and see how the problem of slow propagation is solved once and for all.