A name server is a computer server that hosts a network service for providing responses to queries against a directory service. It maps a human-recognizable identifier to a system-internal, often numeric identification or addressing component. This service is performed by the server in response to a network service protocol request.
An example of a name server is the server component of the Domain Name System (DNS), one of the two principal name spaces of the Internet. The most important function of these DNS servers is the translation (resolution) of human-memorable domain names and hostnames into the corresponding numeric Internet Protocol (IP) addresses, the second principal name space of the Internet which is used to identify and locate computer systems and resources on the Internet.
Domain Name System
The Internet maintains two principal namespaces: the domain name hierarchy and the IP address system. The Domain Name System maintains the domain namespace and provides translation services between these two namespaces. Internet name servers implement the Domain Name System. The top hierarchy of the Domain Name System is served by the root name servers maintained by delegation by the Internet Corporation for Assigned Names and Numbers (ICANN). Below the root, Internet resources are organized into a hierarchy of domains, administered by the respective registrars and domain name holders.
A DNS name server is a server that stores the DNS records, such as address (A, AAAA) records, name server (NS) records, and mail exchanger (MX) records for a domain name (see also List of DNS record types) and responds with answers to queries against its database.
Authoritative name server
Authoritative name server is a name server that gives answers in response to questions asked about names in a zone. An authoritative-only name server returns answers only to queries about domain names that have been specifically configured by the administrator. Name servers can also be configured to give authoritative answers to queries in some zones, while acting as a caching name server for all other zones.
An authoritative name server can either be a primary server or a secondary server. A primary server for a zone is the server that stores the definitive versions of all records in that zone. A secondary server for a zone uses an automatic updating mechanism to maintain an identical copy of the primary server's database for a zone. Examples of such mechanisms include DNS zone transfers and file transfer protocols. DNS provides a mechanism whereby the primary for a zone can notify all the known secondaries for that zone when the contents of the zone have changed. The contents of a zone are either manually configured by an administrator, or managed using Dynamic DNS.
Every domain name appears in a zone served by one or more authoritative name servers. The fully qualified domain names of the authoritative name servers of a zone are listed in the NS records of that zone. If the server for a zone is not also authoritative for its parent zone, the server for the parent zone must be configured with a delegation for the zone.
When a domain is registered with a domain name registrar, the zone administrator provides the list of name servers (typically at least two, for redundancy) that are authoritative for the zone that contains the domain. The registrar provides the names of these servers to the domain registry for the top level domain containing the zone. The domain registry in turn configures the authoritative name servers for that top level domain with delegations for each server for the zone. If the fully qualified domain name of any name server for a zone appears within that zone, the zone administrator provides IP addresses for that name server, which are installed in the parent zone as glue records; otherwise, the delegation consists of the list of NS records for that zone.
A name server indicates that its response is authoritative by setting the Authoritative Answer (AA) bit in the response to a query on a name for which it is authoritative. Name servers providing answers for which they are not authoritative (for example, name servers for parent zones), do not set the AA bit.
If a name server cannot answer a query because it does not contain an entry for the host in its database, it may recursively query name servers higher up in the hierarchy. This is known as a recursive query or recursive lookup.
In principle, authoritative name servers suffice for the operation of the Internet. However, with only authoritative name-servers operating, every DNS query must start with recursive queries at the root zone of the Domain Name System and each user system must implement resolver software capable of recursive operation.
Caching name server
Caching name servers, also called DNS caches, store DNS query results for a period of time determined in the configuration (time-to-live) of each domain-name record. DNS caches improve the efficiency of the DNS by reducing DNS traffic across the Internet, and by reducing load on authoritative name-servers, particularly root name-servers. Because they can answer questions more quickly, they also increase the performance of end-user applications that use the DNS.
Recursive name servers resolve any query they receive, even if they are not authoritative for the question being asked, by consulting the server or servers that are authoritative for the question.
Caching name servers are often also recursive name servers—they perform every step necessary to answer any DNS query they receive. To do this the name server queries each authoritative name-server in turn, starting from the DNS root zone. It continues until it reaches the authoritative server for the zone that contains the queried domain name. That server provides the answer to the question, or definitively says it can't be answered, and the caching resolver then returns this response to the client that asked the question.
The authority, resolving and caching functions can all be present in a DNS server implementation, but this is not required: a DNS server can implement any one of these functions alone, without implementing the others.
Some systems utilize
nscd - the name service caching daemon
Name servers also exist on some Microsoft Windows networks where one host assumes the role of NetBIOS browse master and performs as a NBNS server. Small local area networks of Windows systems require no central name server, and generally perform name-resolution using a broadcast algorithm.
The Windows Internet Name Service (WINS) is a name service that translates NetBIOS names to numerical addresses.
- Comparison of DNS server software
- Directory service
- DNS Security Extensions (DNSSEC)
- Lightweight Directory Access Protocol (LDAP)
- Network Information Service (NIS)
- Name Service Switch (NSS)
- resolver, resolv.conf, resolvconf for Unix/Linux
- RFC 1034, Domain Names — Concepts and Facilities, P. Mockapetris, The Internet Society (November 1987)
- RFC 781, Internet Protocol — DARPA Internet Program Protocol Specification, Information Sciences Institute, J. Postel (Ed.), The Internet Society (September 1981)
- RFC 1035, Domain Names — Implementation and Specification, P. Mockapetris, The Internet Society (November 1987)
- "Name Server definition at techterms.com".
- "Composite Application Manager for Internet Service Monitoring, Reference Guide". IBM.
- , though this is typically not used for caching DNS names. Nemeth, Evi; Snyder, Garth; Hein, Trent R. (2006). Linux administration handbook (2 ed.). Addison-Wesley Professional. p. 504. ISBN 978-0-13-148004-9. Retrieved 2012-02-14. "ncsd [...] cache[s] the results of DNS lookups [...] but it also wraps the library routines that access information from the
groupfiles and their network database equivalents."