- (a) the number 13 was chosen as a compromise between network reliability and performance
- (b) the number 13 is based on a constraint of Internet Protocol (IP) version 4 (IPv4)
- (c) there are actually more than 13 computers functioning as DNS root servers
The correct answer is (d) - all of the above.
Fitting the DNS Server List Into a Single IP PacketBecause DNS operation relies on potentially millions of other Internet servers finding the root servers at any time, the addresses for root servers must be distributable over IP as efficiently as possible. Ideally, all of these IP addresses should fit into a single packet (datagram) to avoid the overhead of sending multiple messages between servers. In the IP version 4 (IPv4) prevalent today, the DNS data that can fit inside a single packet is as small as 512 bytes (after subtracting all of the other protocol supporting information contained in packets). Each IPv4 address requires 32 bytes. Accordingly, the designers of DNS have chosen 13 as the number of root servers for IPv4, taking 416 bytes of a packet and leaving up to 96 bytes for other supporting data (and flexibility to add a few more DNS root servers in the future if needed).
IPv4 DNS vs. IPv6 DNSBecause the emerging IP version 6 standard does not have such low limits on the size of individual datagrams, expect the future DNS will over time contain many more root servers to support IPv6.
DNS Root Is Really More Than 13 ServersNote also that while only 13 designated DNS root server names exist for IPv4, in fact each of these names represents not just a single computer but rather a server cluster consisting of many computers. This use of clustering increases the reliability of DNS without negative effect on its performance.
DNS Root Servers (A through M) - Graphic: Bradley Mitchell / About.com