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.