From: Seth Cooper (scooper@cs.washington.edu)
Date: Wed Nov 17 2004 - 02:30:28 PST
This paper presents the the Domain Name System (DNS) that is used to
resolve names in the Internet. Initially all names were stored in one
file, a HOSTS.TXT file that was centrally maintained. New names were
added to the central file, and it was periodically distributed to all
other hosts so they could look up names. Clearly, this architecture
would not scale. DNS replaces the need for a centralized HOSTS.TXT file
with a distributed, hierarchical database of names.
One strength of DNS is that it is able to scale well because of its
variable-depth tree structure. If an organization wants to become a new
node (zone) node the tree, all it has to do is find a parent node that
will allow it to become a child (subzone). Once the node has a parent,
it is able to grow as large as it wants without involving the parent.
It can even recursively sub-delegate itself to more nodes without
involving th parent. In this way, the tree can scale to very large
numbers of names, but each name server is not responsible for
remembering them all.
One weakness of DNS is that it adds major points of failure to the
Internet. The paper mentions that there are seven redundant top-level
name servers. These are the root name servers that must be connected to
to move down the namespace hierarchy to eventually resolve a name. If
it were possible to take all the root name servers down at once, it
would be possible to essentially stop the Internet. One of the initial
design ideals of the Internet was to design it in such a way so that
there were no single points of failure. In some ways, DNS runs contrary
to that ideal, by adding a few nodes to the network that the rest of the
network is highly dependent on.
This paper remains relevant for several reasons. One is that DNS is
still used today to look up names on the Internet, and it is important
to understand how the Internet's name resolution scheme works. Another
is that DNS is an implementation of a scalable distributed database that
has lasted for a decent amount of time. When designing such systems in
the future, we can look at the decisions made in the design of DNS and
learn from them.
This archive was generated by hypermail 2.1.6 : Wed Nov 17 2004 - 02:30:30 PST