KyoungSoo Park, Vivek S. Pai, Larry Peterson and Zhe Wang
Department of Computer Science
Princeton University
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.