Speaker
Description
The cache is arguably the most crucial component for the performance of a recursive resolver as perceived by its clients. In the case of a cache hit, the client receives a response without requiring the resolver to query the authoritative servers. Conversely, in the case of a cache miss, at least one (but often more) query to the authoritative servers is required.
Decisions about the cache—such as which records to evict when it is full and which records to store initially—are governed by a cache policy, such as Least Recently Used (LRU), which is widely employed in open-source resolver implementations.
In this talk, I will present an extensible toolchain for evaluating these cache policies using realistic traffic, while operating outside the ever-changing environment of the real Internet. The toolchain includes preprocessing an input packet capture containing client queries, collecting relevant authoritative data from the Internet, defining a high-level DNS cache policy interface, and systematically evaluating cache policies based on the provided traffic and collected data.
Additionally, I will share preliminary results from evaluating some cache policies using traffic data from an ISP. These findings, along with future insights derived from this toolchain, should provide valuable guidance for DNS vendors in selecting caching policies for their implementations.
Talk duration | 20 Minutes (+5 for Q&A) |
---|