Infrastructure
What Is IPv6? IPv6 vs IPv4 and Why It Matters
The short answer to what is IPv6: Internet Protocol version 6 is the network-layer protocol that replaces IPv4's 32-bit ...
DNS propagation is the window after a record change during which recursive resolvers, operating system caches and applications keep returning the old answer they already cached. Its length is set mostly by the TTL that was published before the change. A record served with a 3,600-second TTL can stay stale for up to one hour after you edit it. The real-world tail runs longer because some resolvers enforce TTL floors and some clients hold connections open without re-resolving.
Under the DNS caching rules in RFC 1035 and RFC 2308 (unchanged as of 2026), a resolver that cached a record with a 3,600-second TTL may keep serving the old answer for up to 60 minutes after the authoritative change. The 24 to 48 hour figure in registrar help pages applies only to delegation changes, because .com and .net publish NS records with a 172,800-second TTL.
DNS propagation is cache expiry, not distribution. Authoritative servers answer with the new record within seconds of a zone update, but every resolver that fetched the old record keeps it until its TTL runs out. The internet "propagates" a change only in the sense that millions of independent caches expire on their own schedules, each starting from the moment it last fetched.
That reframing matters for planning. Nothing can be pushed outward faster. What you control is the TTL you publish before the change, the order in which you change records, and how long the old target keeps serving traffic after the switch.
A single lookup can be answered from any of these layers, and each holds its own copy with its own expiry:
Resolvers do not always honor your TTL exactly. Many cap the maximum (Unbound defaults to 86,400 seconds, BIND to 7 days), which only shortens staleness. The dangerous setting is a minimum TTL floor: some resolver operators raise very low TTLs to several minutes to cut upstream query volume, so a 30-second TTL is not a 30-second guarantee.
Serve-stale (RFC 8767) adds another tail. When a resolver cannot reach your authoritative servers, it may keep answering from expired cache, and the RFC suggests a stale cap of 1 to 3 days. That only bites if the old authoritative servers go dark during a migration, which is exactly when operators tend to turn them off.
A name that did not exist is cached as NXDOMAIN for the lesser of the SOA record TTL and the SOA MINIMUM field, per RFC 2308. If someone queries cdn.example.com before you create it, every resolver that saw the NXDOMAIN keeps reporting the name missing for that period. Some managed DNS defaults put the SOA MINIMUM at 86,400 seconds, so check yours before a launch.
Moving DNS hosting means changing NS records in the parent zone. The parent sets that TTL, not you: 172,800 seconds for .com and .net. Your zone's own NS TTL applies to resolvers that already learned the child-side records. DS record changes for DNSSEC follow the parent's DS TTL, commonly around a day, and a DS that points at a key the new provider does not sign with produces SERVFAIL rather than stale answers.
The DNS TTL is the maximum number of seconds a resolver may reuse an answer before asking again. The TTL in force before a change bounds staleness, so lowering a TTL only helps after the old, higher TTL has expired everywhere. A TTL lowered from 86,400 to 300 at noon still leaves day-long cached copies until noon the next day.
For a cutover model, assume resolver caches refreshed the record at uniformly random times, which is a reasonable approximation for large, unsynchronized resolver populations. At time t after the change, the fraction of caches still holding the old answer is 1 minus t divided by the TTL, reaching zero at t equal to the TTL. This blog's arithmetic for two common settings:
Real curves sit above this line. The residual comes from resolvers with TTL floors, clients pinned by long-lived connections, and embedded devices with bespoke caching. That residual is why the old target must keep serving well past the theoretical zero.
DNS propagation time for a planned change equals the TTL in force before the change, plus a tail for TTL floors and connection reuse. Work out which record type you are changing first, because each has a different control point:
| Change type | What sets the stale window | Can you shorten it in advance | Worst case without prep |
|---|---|---|---|
| A or AAAA edit | Your record TTL | Yes, lower it one old-TTL ahead | Old TTL, often 1 to 24 hours |
| CNAME retarget to a new CDN | Your CNAME TTL | Yes | Old CNAME TTL |
| Apex ALIAS or flattened record | TTL synthesized by the DNS provider | Only if the provider exposes it | Provider default |
| New hostname, queried before creation | SOA negative caching TTL | Yes, create the record before anyone tests | SOA MINIMUM, up to 24 hours |
| NS delegation change | Parent zone NS TTL | No | 48 hours for .com and .net |
| DS record or DNSSEC key change | Parent DS TTL plus DNSKEY TTL | No for DS, yes for DNSKEY | Around a day, with SERVFAIL risk |
Record changes inside your own zone can be made near-instant with preparation, while delegation and DNSSEC changes carry parent-controlled windows you can only wait out.
For a CDN or hosting switch done with a CNAME or A record change, this sequence bounds the theoretical stale window to the low TTL and handles the tail by keeping both targets live:
A weighted DNS split removes most of the risk, because it turns the cutover into a ramp you can reverse in one TTL. BlazingCDN can run as a second CDN behind DNS with a weighted traffic split for multi-CDN cutovers, and zone onboarding with an engineer takes about one hour, so the new path can carry 5% of traffic well before the full switch.
Low TTLs are cheap insurance during a change window and a cost the rest of the time. The trade-offs worth weighing:
The observability gap is the hardest part: you cannot see resolver caches. The only reliable signal is traffic still arriving at the old target, which is why it must stay up and logged.
Query each authoritative nameserver directly with dig, recursion disabled, and confirm the SOA serial and the new record match on all of them. Query two or three large public resolvers repeatedly and read the TTL column: it should count down from your published value, and a reset to a higher number signals a floor. After cutover, chart requests per minute on the old target and compare the decay against the 1 minus t over TTL line; the gap above it is your residual from floors and connection reuse.
This approach fits teams moving CDN providers, origins or load balancers with record-level changes. It does not shorten NS migrations or DNSSEC key rollovers, where the parent zone's TTL sets the pace and the only lever is to run old and new providers in parallel for at least 48 hours.
DNS propagation takes as long as the TTL that was cached before the change, so a 300-second TTL means about five minutes and a 86,400-second TTL means up to a day. Nameserver changes at the registrar take up to 48 hours for .com and .net because the parent zone sets that TTL, and some resolvers add a tail by enforcing TTL floors.
Lowering a DNS TTL does not help immediately, because resolvers that already cached the record keep the old, longer TTL until it expires. Lower the TTL at least one full old-TTL period before the planned change, then make the change. With an original TTL of 86,400 seconds, that means lowering it more than 24 hours ahead of the cutover.
Users still reach an old server after DNS propagation mostly because of long-lived HTTP/2 and keep-alive connections that never re-resolve, plus resolvers that raise low TTLs to a minimum floor. Application caches, such as older Java configurations that cache lookups forever, add more. Keep the old target serving identical content until its request rate flattens near zero.
A 60-second DNS TTL is workable for short change windows but costly as a permanent setting. It multiplies authoritative query volume, adds recursive lookup latency for long-tail users, and exposes users to authoritative outages within a minute. Many teams run 3,600 seconds normally and drop to 60 to 300 seconds only in the day before a planned cutover.
Before your next migration, schedule a dry run on a low-risk hostname: lower its TTL to 300 seconds a full old-TTL period ahead, retarget it, and log per-minute request counts on the old target for 24 hours. Plot that decay against the theoretical straight line to zero at five minutes. The area above the line is your real-world tail from resolver floors and connection reuse, and it tells you exactly how long to keep the old origin or CDN alive in the production cutover.
If the cutover you are planning moves heavy video, software or large-file traffic, BlazingCDN offers a 14-day testing period on real production traffic at $5 per TB with the monthly minimum waived, enough to run this dry run through a weighted DNS split: start a BlazingCDN testing period for your DNS cutover.
Heavy traffic.
Light bill.
The CDN for video and large traffic
Infrastructure
The short answer to what is IPv6: Internet Protocol version 6 is the network-layer protocol that replaces IPv4's 32-bit ...
Infrastructure
The short answer to what is a port: a network port is a 16-bit number, from 0 to 65535, carried in every TCP and UDP ...
Infrastructure
DNS records are typed entries in an authoritative zone that map a name to data. An A record returns a 32-bit IPv4 ...
Infrastructure
A CNAME record (canonical name record) is a DNS record that makes one hostname an alias of another. When a resolver ...