How is it possible for the Root Name Servers to handle all DNS requests?
Solution 1:
They're 13 highly available clusters of servers, not simply 13 servers.
Among other things, root nameserver operators are required to have enough capacity to handle three times their normal traffic load (RFC 2870). This leads to rather large clusters.
However, the root nameservers only serve responses for the top level domains themselves, i.e. com.
, net.
, uk.
, ae.
, etc., and the nameservers which query the root can cache this information up to 48 hours, which dramatically reduces the load at the root nameservers. This leads to smaller clusters.
The root nameservers are in over 130 physical locations in 53 countries; with only 13 server names, this is done through the magic of IPv4 anycast.
The root nameservers also have their own web site, which you may find interesting reading.
Solution 2:
They don't. The root nameservers just have to tell you what nameservers handle com
. From then on, you don't need to go to them to handle any domain inside com
. The root nameservers have no idea who owns example.com
. They're root nameservers, not com nameservers.
What slimsuperhero said is also true. Many high-volume nameservers use anycast to have a single IP address served by a number of servers around the world.
Solution 3:
Each root server is not actually a server, they are huge clusters of servers. In addition to this, DNS answers are cached so not every request reaches the root server.
Solution 4:
Note that you do not use the root servers. You usually use the DNS server provided by your Internet Service Provider which usually can respond immediately if the information you need is in their local cache. Only if not cached, their upstream DNS server is asked and only eventually is the root server asked (and that response is then cached)