What is DNS?

DNS (Domain Name System) is a network protocol used to translate hostnames into IP addresses. DNS is not required to establish a network connection, but it is much more user friendly for users than the numeric addressing scheme. Consider this example. You can access the Google homepage by typing, but it’s much easier just to type www.google.com and let DNS do the translation.

To use DNS, you must have a DNS server configured to handle the resolution process. A DNS server has a special-purpose application installed. The application maintains a table of dynamic or static hostname-to-IP address mappings. When a user request some network resource using a hostname, (for example, by typing www.google.com in a browser), a DNS request is sent to the DNS server asking for the IP address of the hostname. The DNS server then replies with the IP address. The user’s browser is then able to access www.google.com using that IP address.

The picture below explains the concept:

linux dns process

DNS Client wants to communicate with the server named home_server. Since the DNC Client doesn’t know the IP address of home_server, it sends a DNS Request to the DNS Server, asking for the IP address of home_server. The DNS Server replies with the IP address of home_server (DNS Reply). The DNS Client can then communicate with home_server.

Geek University 2021