Time out for a terminology check--"resolver" vs "server".

Rob Austein sra at isc.org
Mon Feb 15 00:17:45 UTC 2010


At Sun, 14 Feb 2010 18:02:48 -0600, Laurence F Sheldon, Jr  wrote:
> 
> I thought I understood but from recent contexts here it is clear that I
> do not.
> 
> I thought a resolver was code in your local machine that provide
> hostname (FQDN?), given address; or address, given host name (with
> assists to build FQDN).
> 
> And I thought a "server" was a separate program, might be on the same
> machine, might be on another machine (might be on the local net, might
> be distant) that the resolver code called for information that was not
> in local cache.
> 
> Just what is the straight scoop?

No doubt Olafur will beat me up yet again for not having written the
DNS lexicon years ago, but:

- A "resolver" is something that implements the "resolver" (ie,
  client) role in the DNS protocol.  It might be a stub resolver, the
  client side of a recursive nameserver, a pure iterative resolver,
  ....

  The defining characteristic is that it send queries (QR=0) and
  receives responses (QR=1).

- A "name sever" is something that implements the "nameserver" (ie,
  server) role in the DNS protocol.  It might be an authoritative
  nameserver, the server side of a recursive nameserver, ....

  The defining characteristic is that it receives queries (QR=0) and
  sends responses (QR=1).

Clear enough?

Mapping protocol definitions onto the plethora of terms used by
operators in the field is left as an exercise for the reader, no
sarcasm intended.  DNS is an old protocol, there are an awful lot of
people who think they understand it, and each of those people has
their own set of terms that they're comfortable using.  The
definitions above are what I rammed through the IETF during several
rounds of standards writing, but I would be the first to admit that
not everybody uses the terms the same way as I do.




More information about the NANOG mailing list