July 07, 2006

How many root dns server do we have ?

Haven't you heard that we have 13 root dns servers in the world ? This map on huntip.com was created based on the root file hint provided by internic/IANA http://www.iana.org/popular.htm, http://www.internic.net/zones/named.root which listed the 13 IP addresses. The part which I later found out is that 6 of these IP addresses use Anycast addressing (different from multicast, broadcast and unicast).


Anycast routing is implemented using BGP by simultaneously announcing the same destination IP range from many different places on the internet. So even though an IP might be registered for a location here in US, if someone announces that a route to the same IP block in Tokyo, hosts in or around that country will try to pick the cheapest route to get to a DNS server. The F Root server itself has about 37 mirrors in the world. So, we are very well protected against the DOS attack.

Some might ask why we can't have more than 13 IP addresses for root servers. For DNS to work using UDP protocol (which is stateless) there is a recommended upperlimit on the size of a DNS packet (512 bytes). TCP/IP is the recommended protocol for queries/replies beyond that packet size. The root server administrators understand this very well (who else will know better) and decided to restrict the total number of servers to 13 which can easily be embedded as a list of IPs inside a 512 byte UDP packet if required.

A complete list of root servers are listed at http://www.root-servers.org/. The graphical coordinates for non-anycast IP addresses are accurate to within 50 miles of the actual server.