Operators of high-profile DNS zones utilize multiple authority servers for performance and robustness. We conducted a series of trace-driven measurements to understand how current caching resolver implementations distribute queries among a set of authority servers. Our results reveal areas for improvement in the ``apparently sound'' server selection schemes used by some popular implementations. In some cases, the selection schemes lead to sub-optimal behavior of caching resolvers, e.g. sending a significant amount of queries to unresponsive servers. We believe that most of these issues are caused by careless implementations, such as keeping decreasing a server's SRTT after the server has been selected, treating unresponsive servers as responsive ones, and using constant SRTT decaying factor. For the problems identified in this work, we recommended corresponding solutions.
This paper examines how the most popular implementations of DNS caching resolvers select the authoritative name server to send a query to. This paper answers three main questions (in the authors' own words): (i) “Does the implementation prefer the fastest server?”; (ii) “What are those defects that make some implementations prefer slower servers?”; and (iii) “Does the implementation detect network changes, especially positive changes, in a timely manner?” The authors answer these questions with controlled experiments. They have built a testbed with a DNS infrastructure and a network emulator. They then emulate DNS queries using traces collected at a resolver in a large ISP. The results reveal four different ways in which current DNS cache implementations can pick a sub-optimal authoritative name server. You should read the paper to find out! This paper asks a precise question of practical value and answers it well. Although there have been anecdotal reports of some of the issues discussed in this paper, these issues have never been studied in such a systematic manner. The main weakness that all three reviewers pointed out was that the problem addressed in this paper is somewhat narrow. All reviewers also recognize that the results have practical implications and that the paper does a good job in the analysis. One reviewer expressed concerns with some of the choices of the emulation environment. In particular, in the experiments, the authors use a high value for the DNS TTL, but in practice some popular services use very low TTLs. This issue is left for future analysis. In general, reviewers were positive about this paper. Some extract from reviews: this paper “contains useful engineering data and analyses for improving future DNS caching resolver implementations”; “this is a subtle but important result”; “This paper is a nice survey of popular DNS implementations and a useful guide for practitioners as well as researchers that work in the areas of service deployment, content distribution and server selection.”