1

It already happened twice that the root DNS server of the webhoster (a well known company) where one of our domains is registered went down for hours (due to a DOS attack). Our website was unavailable during that time, unless of course you resolved the URL locally.

This is a non-expert question by a software developer and maybe naive, but since so many DNS servers all over the world carry a copy of the A record (it takes hours until a change, like an IP change, reaches the last one of them), why does this happen at all? Why don't the other DNS servers realize that the DNS responsible for your domain just went offline and keep resolving the URL to the latest known IP until further notice?

Question: is there any way (any DNS entry maybe) that makes them do that?

7
  • Why the close vote? Isn't the question how to avoid this kind of downtime legitimate?
    – Olaf
    Aug 24, 2013 at 9:39
  • 2
    Start by getting a better understanding of DNS. DNS records don't propagate and "all the DNS servers in the world" don't hold a copy of your A record. If your DNS host/registrar isn't reliable then transfer your DNS (and optionally your registration) to another host. If you're talking about a company like Network Solutions then there really isn't much else you can do. If they're having problems then everyone is having problems and you should just sit back and wait for the problem to be resolved.
    – joeqwerty
    Aug 24, 2013 at 12:12
  • Yeah. It is a novice question. FAQ says off topic here.
    – TomTom
    Aug 24, 2013 at 14:29
  • Understood. An I am indeed talking about Network solutions. I'll change.
    – Olaf
    Aug 25, 2013 at 6:31
  • To be constructive, what WOULD be the best place for DNS ignorant software developers like myself to ask stupid newbie questions?
    – Olaf
    Aug 25, 2013 at 6:37

2 Answers 2

5

As Joeqwerty has said in his comment, you need to expand your understanding of DNS. The reason why DNS changes take a while to propagate is down to recursive caching and Time To Live (TTL).

Consider this scenario:

A user visits your website at mysite.com. The user's machine queries their configured DNS server (most likely their home router). Their router is set to forward DNS queries to Google's public DNS server at 8.8.8.8.

If Google's server has already looked up the IP of mysite.com, it will check the time it has been cached against the TTL of the record - typically TTLs are set at 86400 seconds (1 day - 60*60*24). If the record is older than the TTL, it will discard it and attempt to look it up. The exact algorithm used to look up your records may differ (i.e. they can either use their own recursor/forward, or use "root hints"). Either way, the nameservers specified for your domain (check WHOIS if you're not sure) are where your domain's records live, and these servers will be queried if none of the servers along the query path have cached your record. Your DNS TTL is therefore the maximum time that a DNS server will cache your records, which is why DNS changes take time to propagate fully across the entire Internet.

You mention your webhost's DNS servers went down. This can lead to a multitude of problems, depending on what exactly failed.

If the DNS servers that your own servers use for name resolution went down, your web-server would not be able to resolve anything, which would mean that they would still respond to others, but any DNS lookups (most likely reverse PTRs) would fail. This would break any "phone home" functionality in Drupal or WordPress for example.

If the webhost's nameservers failed, this would mean that any new queries for your domain's DNS would fail - cached results would succeed due to the TTL settings above, so not all of your users would necessarily experience problems.

Bottom line: if you're concerned about your domain not being resolvable if your nameservers fail and you're not too worried about losing the ability to quickly change your IP, you should look at raising the TTL of your records. If in doubt though, get in touch with your webhost.

1
  • Now THAT'S an answer. Thanks very much. I understand this question will be closed because it was based on too little understanding of the system, but it still led to a deeper understanding.
    – Olaf
    Aug 25, 2013 at 6:35
1

"The root DNS" is a SPoF configuration issue - there is not supposed to be "a" root DNS, but multiple DNS servers. If they really have to have an administrative root, there is no reason for that to be public - it can be a hidden master, with the secondaries being public. This would be a more standard setup.

To your question: because it is not programmed like that. There is caching and an expiration.

A suggestion: You aren't forced to use the DNS servers of your web host. You can have your DNS hosted elsewhere. I would suggest searching for an alternative.

2
  • I was trying to ask if there was a way to configure an A record so that its copy survives a downtime as described. I didn't find the downvote/close vote reaction too welcoming, but in a way the question is answered with a No.
    – Olaf
    Aug 24, 2013 at 11:40
  • 1
    Downvoted, as I'm not sure if this fully answers the question. The actual answer why DNS servers don't just resolve to the last-known IP is they they respect the record's TTL, explained in my answer. Also there seems to be no differentiation between recursive DNS lookup servers and domain nameservers. Aug 24, 2013 at 12:51

Not the answer you're looking for? Browse other questions tagged .