I am taking a computer networks class, and was wondering how a local DNS server knows the root DNS servers' IP addresses when querying them. I am assuming that since this is the root server, maybe there is a pre-provided root server address list for the local DNS, since a root server address can't be found from DNS servers from lower hierarchy, but I may be mistaken.
Asked
Active
Viewed 56 times
1 Answers
2
The list of root DNS servers is built into DNS servers usually as a configuration file. The list can also be downloaded to update installed and running DNS servers. This list is called "Root Hints".

John Hanley
- 4,754
- 1
- 11
- 21
-
In an Windows DNS server it prefers using the IP addresses listed on the "Forwarders" tab in the DNS server properties, but will fall back to using the root hints if there are no forwarders available. Using the forwarders allows reducing the load on the internet's root hint servers and potentially improves your DNS speed by querying a closer server. – BeowulfNode42 Apr 12 '21 at 01:48
-
1@BeowulfNode42 - The root servers are global ANYCAST clusters that can handle massive traffic. However, using forwarders is not related to the question asked. Depending on your architecture, you may want to offload resolution to other DNS servers such as Google or Cloudflare. If you specify DNS hostnames for the forwarders, then your DNS servers must start with the root servers to resolve those hostnames. – John Hanley Apr 12 '21 at 03:10
-
To add to this there is an important followup called root priming: even with the hardcoded internal list, on start, the software will contact any of these servers to download the current list, as names/IPs do change over time (albeit very slowly) which allows it then to continue working with updated data. – Patrick Mevzek Apr 12 '21 at 16:01