Question About Terminology

Chris Buxton cbuxton at menandmice.com
Wed Jul 26 21:12:40 UTC 2006


Greetings listers and news-groupies,

This is a fairly long post, so if you're not interested, feel free to  
move on.

I'm working on some reference material and I'm trying to describe the  
various software components that make up the functioning DNS we know  
and love. I'm having some trouble with names.

In RFC's 1034 and 1035, Paul Mockapetris wrote about resolvers and  
name servers. But there are actually three different jobs the way  
things are usually implemented on the modern Internet:

- The client library (+ optional caching service, e.g. DNS Client  
Service on Windows)
- The authoritative name server, which hosts zones and answers  
iterative queries about them
- The name server that performs recursion

Mr. Mockapetris' almost 20-year-old RFC's describe recursion as  
mostly the job of the resolver, but it's a bit vague about exactly  
what the resolver is. It's pretty clear that the thing he meant has  
evolved into the library + optional caching service we see on client  
machines, but the words could be argued to apply nearly as well to a  
name server that performs recursion.

My question really is, what do we call the third part of the puzzle,  
the go-between service that looks up names on behalf of client  
machines? Conceptually, it's a proxy, similar to a web proxy server  
or outbound SMTP server.

For a long time, I and some of my colleagues have been calling it a  
"smart resolver". And we've been calling the client library a "stub  
resolver". But I want to know if this is common usage, or if common  
usage is still to refer to the client library as a "resolver"; in  
which case, again, what do we call the name server that performs  
recursion? I definitely don't want to just call it a name server,  
because an authoritative name server is also a name server. And yes,  
I know that both this job and authoritative name service can be done  
by the same process (e.g. named).

I'm looking for a well-reasoned argument, based on the RFC's and on  
the actual meanings of words, to apply reasonable and differentiated  
names to the three components. Unless your name is Mockapetris, I'm  
not interested in an argument based on "because I said so".

Chris Buxton
Men & Mice



More information about the bind-users mailing list