The most basic task of DNS is to translate hostnames to IP addresses. In very
simple terms, it can be compared to a phone book. For example, if you want to
know the internet address of en.wikipedia.org, DNS can tell you that it is
145.97.39.155. DNS also has other important uses.
Preeminently, DNS makes it possible to assign Internet names to
organizations (or concerns they represent), independently of the physical
routing hierarchy represented by the numerical IP address. Because of this,
hyperlinks and Internet contact information can remain the same, whatever the
current IP routing arrangements may be, and can take a human-readable form (such
as "wikipedia.org") which is rather easier to remember than an IP
address (such as 66.230.200.100). People take advantage of this when they recite
meaningful URLs and e-mail addresses without caring how the machine will
actually locate them.
The Domain Name system distributes the responsibility for assigning domain
names and mapping them to IP networks by allowing an authoritative server for
each domain to keep track of its own changes, avoiding the need for a central
registrar to be continually consulted and updated.
How DNS works in theory
The domain name space consists of a tree of domain names. Each node or leaf in
the tree has one or more resource records, which hold information
associated with the domain name. The tree sub-divides into zones. A zone
consists of a collection of connected nodes authoritatively served by an
authoritative DNS nameserver. (Note that a single nameserver can host
several zones.)
When a system administrator wants to let another administrator control a part
of the domain name space within his or her zone of authority, he or she can
delegate control to the other administrator. This splits a part of the old
zone off into a new zone, which comes under the authority of the second
administrator's nameservers. The old zone ceases to be authoritative for what
goes under the authority of the new zone.
A resolver looks up the information associated with nodes. A resolver
knows how to communicate with name servers by sending DNS requests, and heeding
DNS responses. Resolving usually entails iterating through several name
servers to find the needed information.
Some resolvers function simplistically and can only communicate with a single
name server. These simple resolvers rely on a recursing name server to
perform the work of finding information for them.
|