Networking: DNS
Although IP addresses allow computers and routers to communicate with each other, most normal people prefer to work with names rather than numbers. The Domain Name System is what makes this happen.
DNS translates Internet domain and host names into IP addresses. DNS automatically converts the names we type in our Web browser address bar into the IP addresses of Web servers hosting the websites. DNS implements a distributed database to store this name and address information for all public hosts on the Internet. DNS assumes IP addresses do not change (are statically assigned rather than dynamically assigned).
The DNS database resides on a hierarchy of special database servers. When clients like Web browsers issue requests involving Internet host names, a piece of software called the DNS resolver (usually built into the network operating system) first contacts a DNS server to determine the server's IP address.
DNS Namespace
DNS is a hierarchical system, organising all registered names in a tree structure. At the base or root of the tree are a group of top-level domains including familiar names like com, org, and edu and numerous country-level domains like uk (United Kingdom), ca (Canada), and jp (Japan). Names usually cannot be purchased at this level.
Below this level are the second-level registered domains such as google.com. These are domains that organisations can purchase from any accredited registrar. For nodes in the com, org, and edu domains, the Internet Corporation for Assigned Names and Numbers (ICANN) oversees registrations.
Below this, local domains like advertising.google.com are defined and administered by the overall domain owner. DNS supports additional tree levels as well. A full stop separates each level of the hierarchy in DNS.
DNS Root Level and Other Servers
DNS is also a distributed system. The DNS database contains a list of registered domain names. It further contains a mapping or conversion between each name and one or more IP addresses. However, DNS requires a coordinated effort among many computers (servers); no one computer holds the entire DNS database. Each DNS server maintain just one piece of the overall hierarchy - one level of the tree and then only a subset or zone within that level.
The top level of the DNS hierarchy, also called the root level, is maintained by a set of 13 servers called root name servers. These servers have gained some notoriety for their unique role on the Internet. Maintained by various independent agencies, the servers are uniquely named A, B, C and so on up to M. Ten of these servers reside in the United States, one in Japan, one in London, and one in Stockholm, Sweden.
If the DNS server does not contain the needed mapping, it will in turn forward the request to a different DNS server at the next higher level in the hierarchy. After potentially several forwarding and delegation messages are sent within the DNS hierarchy, the IP address for the given host eventually arrives at the resolver, that in turn completes the request over Internet Protocol.
DNS additionally includes support for caching requests and for redundancy. Most network operating systems support configuration of primary, secondary, and tertiary DNS servers, each of which can service initial requests from clients. ISPs maintain their own DNS servers and use DHCP to automatically configure clients, relieving most home users of the burden of DNS configuration.
DNS allows nodes on the public Internet to be assigned both an IP address and a corresponding name, called a domain name. For DNS to work as designed, these names must be unique worldwide. Hence an entire "cottage industry" has emerged around the purchasing of domain names in the Internet name space.
DNS Resolvers
DNS works in a client/server fashion. DNS servers respond to requests from DNS clients called resolvers. ISPs and other organizations set up local DNS resolvers as well as servers. Most DNS servers also act as resolvers, routing requests up the tree to higher-level DNS servers, and also delegating requests to other servers. DNS servers eventually return the requested mapping (either address-to-name or name-to-address) to the resolver.
Still thirsting for info on DNS in practice? Try the following article on
Unix and DNS at NoBlueScreens.com