Measurements of DNS Stability

Omer Boyaci	Henning Schulzrinne

Department of Computer Science

Columbia University, New York, NY 10027

{hgs@cs,ob2108}columbia.edu

Introduction

The Domain Name System (DNS) maps domain names to IP addresses and vice versa. The Domain Name System consist of two pieces, DNS servers and resolvers. Resolvers are client applications which delivers the IP address(es) of a domain name upon request of a user application or operating system. DNS servers receives queries from resolvers and they return the corresponding IP address(es) of the domain name back to clients. The DNS is one of the core protocols of the Internet.

In this project, we measured the stability of DNS servers based on the most popular 500 domains. In the first part of the project, DNS server replica counts and maximum DNS server separation are found for each domain. In the second part, these domains are queried for one-month period in order to find their uptime percentages.

Measurement Setup

We have developed a number of Java applications for this project. The names and functionalities of main ones are given below.

AlexaParser: Alexa.com is an amazon.com company which provides the most visited 500 domains. Their rankings are based on the information which they collect from the millions of Alexa toolbar users. This Java application parses the HTML files of alexa.com and produce a list of top 500 domain names.

AuthoritativeDNSServerFinder: This application finds the authoritative DNS servers of a given domain.

MaximumDNSSeperationFinder: This application traceroutes each DNS server of a domain and finds the maximum separation between them. It uses the traceroute utility for path discovery.

UptimeProber: This application periodically tries to resolve a domain name via its authoritative DNS servers.

The measurements were done on Unix systems of Columbia University Department of Computer Science in December 2004.

Results

DNS Server Replicas

It can be seen from the Table 1 that most of the domains only have two authoritative DNS servers and the others have three or four.

Table 1. Authoritative DNS Server Count

Figure 1 shows the percentage for each DNS replication count. Sixty percent of the domains have two DNS servers another 30 percent have three or four. The complete list of domain names and their DNS server count can be seen in the Appendix.

Figure 1. DNS Server Counts

Maximum DNS Server Separation

This metric is a good indicator for DNS stability. If the DNS servers of a domain is not separated enough from each other then the users can not access to these servers in case of a link or router failure. The following algorithm is used to calculate the maximum DNS server separation:

Lets assume that there are 4 DNS servers ns1, ns2, ns3, ns4 for a given domain. First we perform a traceroute to each DNS server and then calculate the difference between each pair [there are 6 pairs (ns1,ns2)(ns1,ns3)(ns1,ns4)(ns2,ns3)(ns2,ns4)(ns3,ns4)]. The difference for each pair is calculated by counting the different routers on their ways.

For example consider the comparison of ns1 and ns2. Lets assume that their traceroutes are:

ns1 > router1 router2 router6 router9 router7

ns2 > router1 router2 router3 router4 router8

Then their separation difference is 3 because their route differs in last three hops. We define the “maximum DNS server separation” for a given domain as the maximum of these six differences. The maximum DNS server separation for the top 500 domains are given below.

Figure 2. Maximum DNS server Separation

More than 75% of the domains have a maximum DNS server separation of at least 4. The complete list of domains and their maximum DNS server separation are given in the Appendix.

Uptime Percentages

We measured the uptime percentages by probing each domain 300.000 times across thirty days'. We used a customized prober which behaves like a resolver. For each domain it sequentially queries the DNS servers one by one until it receives a response. Each DNS server was queried at most three times with a timeout values of 2,4 and 8 seconds. If none of the DNS servers response then we increment the missed queries counter of this domain. Table 2 shows the DNS query misses of domains. Almost 80% of the domains missed less than 50 packets during the experiment.

Table 2. Number of Misses

Analysis of the results

Table 4 shows the combined results from two experiments. The values for columns “DNS Replica Count” and “Maximum DNS Separation” are averaged values. It can be seen that when we go from perfect to below %99.99 the DNS replica count and maximum DNS server separation decrease. This is an indication that DNS replica count and maximum DNS server separation plays an important role for achieving stable Domain Name Service.

Table 3. Analysis of the results

Appendix

In the below table domains with low uptime percentages are listed. The table is sorted by uptime percentages in an increasing order. The first entry is www.adobe.com because it has the lowest uptime percentage, %94. The rank column shows the place of the domain among top 500 domains. DNS replica count is given in column 3 and maximum DNS server separation is given in column 4. The total number of DNS queries sent to a domain is given in the last column. The number of queries answered by the DNS is given in column titled “Response”, where as the number of queries missed by the authoritative DNS servers of a domain is given in column titled “Miss”. The uptime percentage is calculated by dividing response to total query number.

2005-02-26T11:19:30