Need of caching on bind server
davew at hireahit.com
Thu Aug 25 06:04:09 UTC 2016
> I am trying to understand why caching is required on the bind server,
> when the client receiving the responses would be caching based on TTL
> Is caching required on the server, if the client is not able to
> cache such responses? Isn't it a overhead on both the client and server
> systems to cache the same responses at respective ends
> What are the possible Use cases of caching the responses at the Server?
> What if there is a dynamic updates of Records on Server and
> Server still sends the cached Responses?
Ubiquitous client-side DNS caching on workstations is relatively new in
the grand scheme of things, and shouldn't be assumed to exist. Also,
client side caches may be limited in size, may expire data far sooner
than the TTL, and with mobile devices, may dump their entire cache
frequently (perhaps every time the device jumps between networks).
Beyond that, think about the number of queries a resolver must perform
to visit a website, we first need the roots (hints or cached), then the
authoritative NS for the gTLD, then the NS for the domain, and oops it's
in another gTLD so we look that up, from the root again, etc, all just
to get a CNAME for a CDN in yet another TLD, and now a single call to a
single website has taken 10-15 separate queries just to get the final A
I haven't done actual statistics, but I've yet to see any time when my
resolvers don't have the authoritative servers for COM, NET, INFO, ORG,
CA, and various other TLDs in the cache.
Plus, even if you do assume that clients cache effectively, AND you
ignore the resolver's internal needs, most DNS resolvers serve more than
one user and as such, in a company of a few hundred employees (or an ISP
with a tens or hundreds of thousands), at any one time at least half are
watching cat videos from YouTube, so the cache will help the next 'x'
number of users who all need to know www.youtube.com and it's CDN
services. Most of the internet uses Google Analytics, AdWords,
DoubleClick, has Facebook or Twitter links, Disqus, etc, all of those
are in cache approximately 100% of the time if you have more than a
handful of users.
Or maybe I am completely missing your point?
More information about the bind-users