DNS Propagation: How it works and how long it takes

In this article, we will explain the process of DNS caching and DNS propagation. Basically, the DNS Servers can take a bit long to propagate the information due to intermediary networks caching procedures.

DNS Propagation basics

Whenever you update the nameservers of a domain, it is likely to take 24–48 hours for the change to come into effect.

This happens because all the ISP (Internet service provider) nodes across the world need to update their records often. They will fetch the new DNS information of your domain as well. DNS propagation is basically the time period required to update the new IP information over DNS servers.

The above proposed time is ideal, but often, it may differ according to situations.

dns fetching information over other networks
DNS Propagation time

The providers must update their DNS caches from time to time. They have to keep caches, in order not to overload the internet.

The internet providers’ connection speeds have grown substantially over the last years. It reduced DNS caching times over the years.

In the middle ’90s, a domain name consumed up to 3 days to update the DNS changes. Nowadays, such updated occur in a few hours only. The time to live (TTL) is diminishing annually. The following graphic explains the DNS propagation time, on average:

dns propagation times over the last years

Is it possible to speed up DNS propagation?

DNS propagation is almost a natural factor, and each DNS server has its caching time. Whenever the caching time expires, it will query again the domain registrar to check for any updates in DNS. However, we can force our PC to look up again for the updated DNS. There isn’t really a method to force DNS propagation, but we can force our local PC to update it.

In Windows command prompt, this will flush your DNS cache:

ipconfig /flushdns

Or even, we can simply change our local DNS servers. By following this method, there is a high possibility to compel the updated DNS. We can recommend these free DNS resolvers:

  • Google DNS: 8.8.8.8 and 8.8.4.4
  • OpenDNS: 208.67.220.220 and 208.67.222.222

How does a DNS query work?

Simple explanation

Every network device on the web makes use of an IP address to route requests. This is similar to someone asking the DNS server what is the IP address of a certain domain.

Then, the DNS server answers this question, with the corresponding IP address. Whenever you type a URL and hit enter, your browser makes a request for a particular website.

The ISP (Internet service providers) manages this process. May it be a cable internet provider, a DSL broadband provider, or a corporate network.

The DNS resolver for the ISP forwards the request for a particular website to a DNS root name server. And once the DNS server finds the IP address for the requested website, it will answer with the corresponding IP address.

Further, your local ISP will provide the host IP address to your browser.

how the dns server works

Sometimes your ISP can’t find the IP address information locally. In this case, it forwards the query to other DNS servers in the world. The DNS servers will “talk” between them to fetch the IP address information of a domain.

Detailed explanation

The Domain Name System (DNS) communication occurs through a series of steps. For example, that involves various entities, including the client, DNS resolver and root name servers.

Here’s a step-by-step overview of the DNS communication process:

Client Initiates DNS Query. The process begins when a client, such as a web browser, initiates a DNS query. It requests the IP address corresponding to a domain name.

For example, the client wants to resolve the domain name “example.com” to an IP address. DNS works the same way, either for ipv6 or ipv4 addresses.

DNS Resolver Receives the Query. The DNS resolver, usually provided by the client’s ISP or network, receives the DNS query from the client. The resolver checks its local cache to see if it has the IP address for the requested domain name. There is a DNS hierarchy.

If the information has expired, or else if it’s not present in the cache, the DNS server resolves the query.

Recursive Query. The DNS resolver performs a recursive resolver query to find the IP address for the domain name.

It starts by querying the root DNS servers. Then sends a request for the tol level domain TLD servers that handle the requested domain extension (.com, .net, etc.).

Then…

TLD Name Server Resolution. The root DNS servers respond to the resolver with the IP address of the appropriate TLD name server.

The one responsible for the requested domain extension (e.g., the .com TLD server). The resolver then queries the TLD name server.

Authoritative Name Server Resolution. The TLD name server responds to the resolver with the IP address of the authoritative name server. The one responsible for the specific domain (e.g., the authoritative name server for “example.com”). The resolver then queries the authoritative name server.

Response and Caching. The authoritative name server responds to the resolver with the requested IP address. The resolver caches this response and sends it back to the client. The client can now use the obtained IP address to establish a connection with the desired resource (e.g., a web server).

Throughout the process, the devices use UCP or TCP packets to exchange DNS messages. It depends on the specific query and response sizes.

The DNS communication is efficient and distributed. For example, allowing for the resolution of millions of domain names across the internet.

It’s worth noting that subsequent DNS queries for the same domain can benefit from caching at the resolver level. As a result, that avoids the need to repeat the entire resolution process unless the cached data has expired.

What does DNS Cache mean?

DNS cache (also known as DNS resolver cache) refers to a process of storing data temporarily. For example, data about the previous DNS lookups on the computer’s operating system or browser.

The DNS cache maintains a record (IP address) of all recently viewed websites and domains. Maintaining a cached copy of DNS lookups speeds up the process of data retrieval. Speeds up IP address resolution as well, by avoiding the need to go through the complete process of DNS lookup again.

How to verify the health of my DNS?

To check the health of your DNS, you can perform a series of diagnostic tests and checks to ensure its proper functioning. Here are some methods you can use to check the health of your DNS:

  • DNS Lookup: Use tools like nslookup or dig to perform DNS lookups for your domain. Check if the expected DNS records match the lookup. Also checks if the resolution is fast and consistent. Verify the IP addresses, MX records, and other DNS entries to ensure they are accurate.
  • DNSSEC Validation: If you have DNSSEC (Domain Name System Security Extensions) enabled, check if DNSSEC validation is working correctly. DNSSEC ensures the authenticity and integrity of DNS data. You can use online tools like DNSViz (dnsviz.net) or DNSSEC Analyzer (dnssec-debugger.verisignlabs.com) to validate your DNSSEC configuration.
  • Name Server Availability: Check if your DNS name servers are accessible and responding properly. You can use tools like ping or traceroute to test the connectivity and latency to your name servers. Ensure that all your authoritative name servers are operational and reachable.
  • DNS Zone Transfers: if you have secondary DNS servers for redundancy. verify that zone transfers are occurring correctly between the primary and secondary servers. Ensures that changes in DNS records on the primary server are equal to the secondary servers.
  • DNS Caching: Monitor DNS caching behavior to ensure that DNS resolvers are caching your DNS records properly. You can use tools like dig with the +trace option to trace the DNS resolution path and check for any inconsistencies or caching issues.
  • Third-Party DNS Health Checkers: There are online services available that provide DNS health checks and monitoring. These services can perform regular checks on your DNS infrastructure and notify you of any issues or inconsistencies. Examples include DNSstuff (dnsstuff.com) and DNS Health (dns-health.com).

Regularly monitoring the health of your DNS infrastructure is important to ensure reliable DNS resolution for your domain. By performing these checks and addressing any issues promptly, you can maintain a healthy and properly functioning DNS environment.

Conclusion

Firstly, DNS propagation may take from a while to several hours to complete. The speed is progressively increasing with time. Finally, you can use Mxtoolbox to check for the DNS Propagation status. It’s a nice tool that will help you to check the current status of DNS propagation around the world.

 

Share the Post:
Picture of Gustavo Gallas

Gustavo Gallas

Graduated in Computing at PUC-Rio, Brazil. Specialized in IT, networking, systems administration and human and organizational development​. Also have brewing skills.