Yet another Quadruple DNS?

Stephen Satchell list at satchell.net
Sun Apr 1 16:22:10 UTC 2018


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?


More information about the NANOG mailing list