Requests of the domain name system occupy up to a half of the total web connection overhead. To address the overhead of DNS request, local name servers cache the query results for possible future usage. However, in case of a cache miss, users could experience a long lookup time over several seconds. We have found that domain resolution time could be long because resolving a domain name requires a couple of queries to remote name servers in case of cache miss.
The cooperative caching scheme of the domain name system, which makes the cache of local name servers shared with each other, can solve the above problem because previously-seen cache miss can be decreased by updating cache data in order of fresh resource record and a new entry miss can also be reduced by aggregating cache data from participant local name servers.
We developed a simulator for the experiment of cooperative caching to perform functions of the current domain name system and the cooperative caching. To get input data to the simulator, we collected domain name system packets at a name server of Korea Advanced Institute of Science and Technology in Korea.
When cooperative caching was applied into the current domain name system, we found that a cache miss rate decreased by average 54% comparing with that of the current domain name system. That was why both a previously-seen cache miss and a first-seen cache miss decreased. This result caused the number of queries to root and generic top level domain name servers to decrease by average 51% and 56%, respectively, which meant that load to root and generic top level domain name servers could decrease dramatically. Finally, resolution time was reduced by average 47%. However, these improvements accompanied increase of cache size in the local name server. The increase of cache size is acceptable in comparison of disk and memory size of current computers.