0

I have a local caching dns server (named).

Say I want to resolve a blizzard.com domain. How does my local DNS manage to find the correct server to query for this domain? Does it have a list of other DNS servers somewhere? Could I change them (say to Google's 8.8.8.8) ?

Thank you!

1
  • If you want it to ask specific nameservers, you can configure one or more forwarders. Usually this isn't a good idea though. Mar 2, 2012 at 14:31

3 Answers 3

3

How does my local DNS manage to find the correct server to query for this domain?

it asks.

Does it have a list of other DNS servers somewhere?

Yes, teh root list OR the list of an upstream. With the root list it will ask the "." root server (one of them) for the servers for the com. domain, then those for the blizzard.com. relevant servers and so on.

2
  • Where is it defined, whom to ask?
    – Vasisualiy
    Mar 2, 2012 at 9:54
  • THe root list is apart of the configuration. it is regularly updated via DNS (asking root servers for the list, so if ONE works, it is refreshed) Otherwise the known root server ist is installed with the software.
    – TomTom
    Mar 2, 2012 at 10:31
5

DNS is a well-defined protocol, and caching is not a magic black box - all behaviour is precisely defined.

If your caching server needs to retrieve a new RR, it will traverse the hierarchy iteratively, like any DNS server would (providing you have no forwarders configured, which you shouldn't), and then ask a nameserver that is authoritative for blizzard.com for the RR.
This value is used for the duration given in the RR's TTL field.

Sundry explained in more detail here: http://www.zytrax.com/books/dns/ch2/ and here: http://en.wikipedia.org/wiki/Domain_Name_System#DNS_resolvers

0

Running the following command will give you a good idea of what's going on.

dig +trace example.com

The official list of root servers is maintained here. This is the "hints" file which most recursive servers will use to figure out where to start looking for domains. It only very rarely changes. Most of the changes I recall recently have been just added AAAA records for IPv6.

For more details of what happens at the root level, there's plenty of documentation here

You must log in to answer this question.

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