Our website went down for some people today because dotster changed their IPs for some of their nameservers. ( ns1.nameresolve.com, etc ) ..

Which made me wonder, all the people that had went to our site, would have it cached, people that have not made it to our site would look it up in their DNS, which would not have it and check the next DNS in the chain, which eventually would check nsX.nameresolve.com ( and that would fail if the record was old ).. So at which DNS does it check nsX.nameresolve.com.

Please feel free to edit my question to make it more clear.


Following up on sybreon's response, I think the issue comes down to TTL. I don't think it really has anything to do with the TTL for your domain, but the TTL for ns1.nameresolve.com. All the recursive DNS servers grabbed the IP for ns1.nameresolve.com and the provided TTL. When nameresolve changed the IP address, they probably didn't degrade the TTL so all the servers that cached the IP address continued using it until the TTL expired.

One of the coolest features of djbdns' tinydns is you can set an expiration date for a particular address. As you get nearer the time, tinydns gives smaller ttls so that all the dns caches expire at the same time. At that point your new record becomes active and the transition is seamless. Granted, it's probably rarely used, but it's ideal for this situation.

  • That's just nifty. – Kara Marfia Jul 28 '09 at 18:06

If you request a record your name server is authoritative of from a recursive DNS server it will first ask one of the root DNS servers to tell him an authoritative DNS server for the com. zone (assuming there is no caching). Then it requests the name server for the zone nameresolve.com. which will be nsX.nameresolve.com.. Via a glue record in the response of the com. server the recursive DNS server now knows the IP address of your DNS server and it will ask your server for the requested record.


Unless your domain itself is a subdomain of nameresolve.com it's likely that a query to the root servers wouldn't have returned any ip details for their nameservers, just the names (unless of course, you'd specifically specified the ip addresses with your registrar).

In that case, the most likely culprit is that the nameserver starting the query (say at their ISP) already had the NS details for nameresolve.com cached with the old IPs. After they request your domain, it'll come back as being assigned to nsX.nameresolve.com. If the requesting server already has that IP cached, it won't bother looking it up again.

When hosting a large number of domains, it's generally a good idea to reduce the cache time for a period before a nameserver ip change to prevent that from occuring. Once the change has gone through the time can be bumped back up again.


It all depends on the TTL value that you set for your domain. A typical value is to set it to 24-hours. That means that your old address will be cached by other DNS servers in the hierarchy for 24-hours.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.