CoDNS: improving DNS performance and reliability via cooperative lookups

  • Authors:
  • KyoungSoo Park;Vivek S. Pai;Larry Peterson;Zhe Wang

  • Affiliations:
  • Department of Computer Science, Princeton University;Department of Computer Science, Princeton University;Department of Computer Science, Princeton University;Department of Computer Science, Princeton University

  • Venue:
  • OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
  • Year:
  • 2004

Quantified Score

Hi-index 0.02

Visualization

Abstract

The Domain Name System (DNS) is a ubiquitous part of everyday computing, translating human-friendly machine names to numeric IP addresses. Most DNS research has focused on server-side infrastructure, with the assumption that the aggressive caching and redundancy on the client side are sufficient. However, through systematic monitoring, we find that client-side DNS failures are widespread and frequent, degrading DNS performance and reliability. We introduce CoDNS, a lightweight, cooperative DNS lookup service that can be independently and incrementally deployed to augment existing nameservers. It uses a locality and proximity-aware design to distribute DNS requests, and achieves low-latency, low-overhead name resolution, even in the presence of local DNS nameserver delay/failure. Using live traffic, we show that CoDNS reduces average lookup latency by 27-82%, greatly reduces slow lookups, and improves DNS availability by an additional '9'. We also show that a widely-deployed service using CoDNS gains increased capacity, higher reliability, and faster start times.