DNS – the internet naming system
In order to call up an internet page on the World Wide Web, you need the IP address of the server, on which the web presence is saved. Normally, only the domain name is visible and with good reason, too: numerical sequences, like 220.127.116.11, may form the basis of online communication, but they don’t tend to stick so well in one’s memory. So every IP address features a human-friendly name, known as a domain. For example:
IP address: 18.104.22.168
The translation of domain names into numerical addresses that computers can process is known as name resolution, an internet service handled by the Domain Name System (DNS).
What is DNS?
The Domain Name System is a hierarchal naming system responsible for the management of domain name space. Its main task is to answer requests for name resolution. The DNS plays a similar role to a telephone directory, holding up-to-date contact information and publishing it on request. The system relies on a worldwide network of DNS servers that divide the name space into independently administered zones. This creates a decentralized control of domain information. Whenever a domain is registered, a new WHOIS entry is created in the existing registry. This comes in the form of a resource record in the DNS. So the database of a DNS server is a collection of all resource records in the zone of the domain name space for which the server is responsible.
When the domain name system was created in 1983, it solved an error-prone process for name resolution that was previously based on a local hosts file. Even today, hosts.txt files can be found on Unix-based systems in the etc/ directory and on Windows computers under %SystemRoot%\system32\drivers\etc. The hosts.txt had to be maintained manually and updated regularly – which soon became too much effort in the rapidly growing world of the internet. Hosts.txt files are now only used in the fixed allocation of IP addresses on local networks. Additionally, they can be used to block web servers by automatically redirecting the corresponding addresses to the local host.
Whenever you enter a web address into the browser’s search bar in the form of a URL (Uniform Resource Locator), a request is made to the resolver. This is a special component of the operating system that stores previously sourced IP addresses in a local cache and delivers them to client applications upon request. Should the desired IP address not be in the resolver’s cache, then the request is forwarded to the responsible DNS. Typically, this is the DNS server of your internet provider. There, the request is checked against the DNA database and the corresponding IP address is found (if there is one). This is known as ‘forward lookup’, and allows your browser to locate the desired web server via the internet. Alternatively, IP addresses can translate in the opposite direction, finding the respective domain name (‘reverse lookup’). If a DNS server is unable to answer a query from its existing database, it can collect the corresponding information from another database, or forward the request on to a different DNS server. These are known as recursive or iterative queries.
- Recursive: if the DNS server can’t answer the request itself, it can obtain the desired information from other servers. In this case, the resolver passes the DNS query onto the right DNS server. Once the domain name has been resolved, the answer is returned to the resolver.
- Iteration: In this instance, if the DNS server can’t answer the query, it simply returns the address of the next DNS server as an answer. The resolver must then send a new request to the next DNS server, and continue in this fashion until the domain name is resolved.
The central management of domain information in the DNS is characterized by high reliability and flexibility. Don’t worry if the server address is changed at the IP level, because the unchanged domain in the database will simply be allocated to the new IP address.
What is a DNS server?
A DNS server (also known as a name server) is a specialized server software that relies on a DNS database to answer requests on domain name space. DNS servers usually have dedicated host platforms, so both the host and the server are referred to under the same title of DNS server. In DNS operation, there is a distinction made between authoritative and non-authoritative DNS servers.
- Authoritative DNS servers: authoritative DNS servers are those that have saved secure domain information about a particular zone of the domain name space in its DNS database. The DNS is structured so that every zone has at least one authoritative name server. This system is generally a server cluster in which identical zone data is stored on a master server and several slave servers. These are also known as primary and secondary name servers. This form of redundancy increases the reliability and availability of authoritative name servers.
- Non-authoritative DNS servers: if a name server’s DNS information doesn’t come from its own zone file, but instead from a second or third source, then it’s considered to be a non-authoritative DNS server. This occurs when a name server fails to answer a request due to missing information in its own database and has to acquire this information from another name server (recursion). The DNS data is temporarily stored in a local internal memory (caching) and forwarded by request. But since entries in the name server’s personal zone file could have been changed in the meantime, DNS information from non-authoritative name servers is considered insecure.
DNS error messages
When network problems occur, users are often met with the error message ‘DNS server not responding’. In this case, the internet connection is lost and so websites can’t be accessed. For more information on causes and solutions to this, please refer to our article on what to do when a DNS server is unavailable.