The networks which are running on TCP/IP protocol suite use IP Address (IPv4 Address or IPv6 Address), as the addressing mechanism. IP address (IPv4 Address or IPv6 Address) uniquely identifies a TCP/IP device in the network. However, it is difficult for the humans to remember IP Addresses for all the computers they want to communicate. Think about difficulty in remembering the IP Addresses of 1000s of web sites we use, if we do not have the option to use their names. Humans prefer to use names instead of IP Addresses. Hence we need a system to map human readable names to corresponding IP Addresses.
Text files called as "hosts" files are used for name resolution in very early networks.
In Microsoft Windows Operating Systems, "hosts" file (without any file extension) is still in use (Windows 8.1). "hosts" file is located inside the folder "%WINDIR%\System32\drivers\etc". The host file has two columns. IP Address (IPv4 Address or IPv6 Address) and its corresponding name.
Note: %WINDIR% is a Windows Operating System Environment Variable, set to the location of Operating System folder. Copy the above folder path, paste it in your "Run" box and hit "OK" to open the folder.
Image of a "hosts" file used in Microsoft Windows Operating System is shown below.
"hosts" files can be used for name resolution in small networks. But "hosts" file is not a solution for large networks like Internet. Is it possible to keep all the domain names in the Internet inside the "host" files in your computer? Impossible!
Domain Name System (DNS) is a solution to map human readable names to corresponding IP Addresses (IPv4 or IPv6) and vice versa, in big networks. Domain Name System (DNS) was originally developed for name resolution in the early days of the Internet.
We (humans) use readable names to connect the Internet. Example: www.cisco.com, www.microsoft.com, www.google.com, www.redhat.com etc. All these names are resolved to their corresponding IP addresses, with the help of global DNS infrastructure. Most services offered by the Internet rely on Domain Name System (DNS) to work. Failure of global Domain Name System (DNS) infrastructure can also cause the failure of Internet (atleast for a short period of time, till we learn the corresponding IP Addresses of the names).
Instead of static "hosts" files, Domain Name System (DNS) is formed using a global infrastructure of DNS servers with a hierarchical structure of name resolution. Domain Name System (DNS) servers in the internet resolve only a segment of hosts, which they are authorized to resolve. Hosts on the other segments are resolved by the authorized Domain Name System (DNS) servers of other segments by a concept called as delegation.
The global public Domain Name System (DNS) has a distributed architecture, serving from multiple DNS servers in multiple locations. This helps in load balancing (decreasing the work load on DNS servers) and redundancy (prevents single point of failure). DNS has a hierarchical naming system. Click the following link to learn the advantages of Distributed DNS Infrastructure Architecture.
The Internet Assigned Numbers Authority (IANA) manages and controls the public Internet DNS infrastructure. The Internet Assigned Numbers Authority (IANA) is operated by the Internet Corporation for Assigned Names and Numbers (ICANN).