nanog mailing list archives

Re: Yet another Quadruple DNS?


From: Stephen Satchell <list () satchell net>
Date: Sun, 1 Apr 2018 09:22:10 -0700

On 04/01/2018 08:18 AM, Matt Hoppes wrote:
Why not just implement  recursive cache severs on end user routers?
Why does an end user CPE need to query one or two specific DNS
servers?
Recursive lookups take bandwidth and wall time. The closer you can get your recursive DNS server to the core of the internet, the faster the lookups. This is particularly true of mobile and satellite.

Implementing large caches in that close-to-the-core DNS server can add another benefit: lookups to common and popular endpoints, such as Google, would require far less real time to resolve. As the traffic tides change, the cache would change with it, so flash-in-the-pan sites would be served from cache, and forgotten in time when said sites drift back to obscurity.

(I wonder if the Internet Systems Consortium has considered adding a cache-hit counter, or even a very coarse heat map (say, four 16-bit counters cycled every five minutes), to DNS entries, to figure out the best ones to drop? It would increase the complexity of BIND, but the benefit for a BIND server serving a largish customer population could be significant. If I were younger, I might try to model such a change. Sort by hits, then by time-to-die. Drop the oldest 250 or so entries when the cache is full. That way, the oldest least-used cache entries get dropped.)

ISPs provide to their customers DNS addresses to servers that, allegedly, are closer to the core than the customers are. (Pipe dream, I know; which is why so many ISPs have decided to specify 8.8.8.8 and 8.8.4.4, because Google is closer to the core than the ISP is.)

I've not personally measured the number of times a look-up could be satisfied from a cache in a production environment; it's been 15 years since I worked in such a job. It would be interesting to see if someone has taken the time to gather those statistics and published them.

The main reason for *not* implementing recursion exclusively in CPE is that a recursive lookup is a complex operation, and I have my doubts if BIND or equivalent could be maintained properly in, say, a wireless access point (router) -- how would you update a hints table?


Current thread: