caching DNS

John Hascall john at iastate.edu
Mon Apr 14 11:46:09 UTC 2008


> Actually I'm new to DNS,  What is the Purpose of Caching DNS normally and
> how its work which they had already Primary & Slave ?

The purpose of a Caching DNS server is to cache data
which came from some other DNS server so it is more
quickly available to some set of end clients.
This cache is often volatile, (e.g., stored in memory, but
not on disk), and thus is lost during a restart.
As it is not the source of the data it is considered
"non-authoritative".

A Primary or Slave DNS server is the authoritative
source of some amount of DNS data.  It has some
non-volatile store of this data (oftem files on
disk, but it could come from some source outside
of DNS like an overarching management system).
The difference between the Primary and it's
Slave(s) is that updates to the data store are
done on the master and it passes these changes
to the Slave(s).

Suppose you had the following:


  +-- ns1.google.com -------+                +- cachedns.example.com --+
  | authority for gmail.com |----- WAN ------|                         |
  +-------------------------+                +-------------------------+
                                                        ^
                                                        |
                                             +-- mail1.example.com --+
                                             |                       |
                                             +-----------------------+

  Lets imagine that cachedns and mail1 are newly started.
  When mail1 first wants to send an email to gmail.com
  it asks its name server (cachedns).  Cachedns doesn't
  know, so it asks ns1.google.com and passes the answer
  down to mail1.  But it also keeps (or caches) a copy
  of the answer.  The next time mail1 (or any of its
  other clients) asks for gmail.com it can answer
  immediately.  It can do this for as long as its
  copy is not stale (gmail.com told it how long
  this time period is in its original reply).  This
  time period is called the TTL (time to live).

Hope this helps,
John


More information about the bind-users mailing list