Thursday, November 5, 2009

DNS Performance and the Effectiveness of Caching

Summary
This paper looks at how well DNS performs, and at the effectiveness of caching in the system. They use three nice network traces, two from MIT, and the other from KAIST in Korea, in which the authors collected all outbound DNS queries and their responses, and also all TCP SYN, FIN and RST packets.

The main findings of the paper are:
  • Host names fall into a Zipfian distribution (with the popular hostnames being looked up most of the time), which means that short TTLs should be effective as names that should stay in cache will be looked up soon again. This also means that sharing a cache a cache between clients doesn't help much, as the contents will be largely the same anyway.
  • Caching helps latency and works well since there is not much churn in the mappings of hostnames to IPs
  • Resolvers re-try too often and overload the network. A whopping 63% of the DNS query packets from the traces were from queries that got no answer, which indicates a much too aggressive re-try policy
Comments
It would have been nice to have a few more traces in this study. Also, why was UDP traffic ignored? The rise of file sharing since the writing of this paper has also almost certainly skewed the distribution of traffic away from web traffic and it would be interesting to revisit some of the results in this paper with that context.

No comments:

Post a Comment