I've tried to read in Wikipedia about the key features of Root, Local and Authoritative name servers... But I have a problem understanding what each type of dns server does.
Can someone please give me a short explanation of the three?

3 Answers
3

Root server -- these servers are at the base of the name server hierarchy. They are a fixed set of name servers that maintain a list of the authoritative (master/slave) name servers for every registered domain. These are typically name servers located at companies either contracted to provide the service by ICANN or government institutions. See the list at http://root-servers.org/.

Authoritative server -- a master/slave server for a particular domain that has been configured by an administrator with the hostname information for that domain. Information about these servers is added to the root servers when the domain is registered.

Local (caching/forwarding) server -- a local name server that only caches information for local clients once it has been retrieved from an authoritative name server. The local server can effectively speed up name queries for the local network by serving up names found by prior queries, preventing a request to the authoritative server for that host's domain.

Root are the top ones. We're talking ICANN, or some other agency at the top level of the internet. There are servers that are responsible for directing your queries based on the TLD (e.g. ".com" goes to x.x.x.x, ".org" goes to y.y.y.y), and then those point you to specific authoritative name servers (foo.com).

Authoritative are the ones that answer for specific zones. If I have foo.com, and I run the foo.com nameserver for all the machines on foo.com, that is the authoritative nameserver for foo.com. The root servers will tell you to ask that server, if you're looking for server.foo.com.

Local servers could be anything. Could be an authoritative server for your local domain, or it could simply be a caching name server that stores addresses that it's previously looked up.