1. Library
  2. Computer Networks
  3. Dns
  4. Records

Updated 39 minutes ago

You've just updated your DNS records to point your domain to a new server. You check from your computer—nothing. You wait five minutes and check again—still the old server. Someone across the country reports seeing the new site. Your colleague in the same office sees the old one.

Two people in the same room, experiencing different versions of your website. This is DNS propagation—and understanding why requires grasping one of the most misunderstood concepts in DNS: Time to Live.

What DNS Propagation Actually Is

Here's what clears up most confusion: DNS propagation isn't propagating anything. There's no wave of updates spreading across networks. No central system broadcasts your changes to DNS servers worldwide.

When you update a DNS record, you're changing data on your authoritative nameserver—the source of truth for your domain. But millions of DNS resolvers don't constantly check your nameserver for updates. They cache responses to save bandwidth and reduce latency.

"Propagation" is passive cache expiration happening on countless independent systems, each on its own schedule. Each resolver learns about your update when its cached copy expires—not when you make the change.

Picture millions of countdown timers, all started at different moments, all set for different durations. Your DNS change becomes visible to each resolver only when its timer hits zero.

Time to Live: The Cache Controller

Every DNS record includes a TTL (Time to Live) value measured in seconds. This number tells resolvers how long they can cache the record before discarding it and fetching fresh data.

TTL ValueDurationUse Case
3005 minutesRecords that might change during migrations
36001 hourStandard balance of caching and flexibility
8640024 hoursStable records that rarely change

When a resolver queries your authoritative nameserver, the response includes both the record data and the TTL. The resolver stores this information and starts its countdown. For the next TTL seconds, anyone asking that resolver for your domain receives the cached answer without contacting your nameserver.

Once the TTL expires, the resolver discards the cached record. The next query forces a fresh lookup—where it receives whatever record currently exists.

This caching mechanism is fundamental to DNS scalability. Without it, every lookup would require multiple round trips to authoritative servers, creating massive load and latency. But efficiency has a tradeoff: you cannot force resolvers to expire their caches early. The countdown runs on their clock, not yours.

Why Propagation Times Vary

The "up to 48 hours" estimate for DNS propagation is a conservative worst-case that's rarely accurate. Several factors create variability:

TTL configuration is the primary factor. If your previous record had a TTL of 300 seconds, propagation can complete in minutes. If it was 86400 seconds, you're waiting a full day. The 48-hour estimate assumes high TTL values plus buffer for misbehaving resolvers.

Resolver behavior introduces unpredictability. Most resolvers respect TTL values, but some aggressive caching systems extend TTLs to reduce upstream queries. ISP resolvers might cache longer than specified. Browser DNS caches, operating system caches, and application-level caches add layers that might not immediately reflect resolver updates.

Geographic distribution matters because different resolvers query your nameserver at different times. A resolver in Tokyo might have cached your record an hour ago, while one in London cached it 23 hours ago.

Negative caching complicates new records. If someone queries for a subdomain that doesn't exist, resolvers cache that negative response too. When you later create that subdomain, resolvers won't check for it until their negative cache expires—a separate TTL defined in your SOA record.

Strategies for Minimizing Downtime

Understanding propagation mechanics lets you plan DNS changes strategically.

Lower TTL in advance. This is the most important technique. If you're planning to migrate servers, reduce your TTL to 300 seconds at least 48 hours before the change. This ensures that when you make the actual update, most resolvers refresh within minutes rather than hours. After propagation completes, raise the TTL back for efficiency.

The key insight: you must lower TTL before the change. Once you've updated your records, the timeline is set by the previous TTL values already cached across the Internet. The dice were already rolled.

Run parallel infrastructure. When possible, keep old and new systems running simultaneously during transition. Point your new server to the same content as the old one before changing DNS. Users hitting either the cached old record or the new record see identical content, eliminating downtime entirely.

Monitor from multiple locations. Just because the change appears propagated from your location doesn't mean it's complete globally. Use DNS checking tools that query from different geographic locations and resolver networks.

Schedule during low-traffic periods. If some inconsistency is unavoidable, make DNS changes during your lowest-traffic hours to minimize affected users.

Common Misconceptions

"Propagation takes 48 hours." With proper TTL management, most DNS changes complete in under an hour. The 48-hour estimate covers worst-case scenarios with high TTL values and misbehaving caches.

"I can speed up propagation after making the change." You can't. The timeline was determined by TTL values already cached before you made your change. The only way to influence propagation speed is to lower TTL values before making changes.

"Flushing my DNS cache forces propagation." This only clears your device's cache, forcing it to query your resolver again. But your resolver's cache might still hold the old record. Global propagation is entirely independent of individual cache flushes.

Frequently Asked Questions About DNS Propagation

Was this page helpful?

😔
🤨
😃
Understanding DNS Propagation and TTL • Library • Connected