Development of the Domain Name System Review

From: Troy Ronda <ronda_REMOVE_THIS_FROM_EMAIL_FIRST_at_cs.toronto.edu>
Date: Mon, 3 Oct 2005 10:09:36 -0400

Development of the Domain Name System
Review By: Troy Ronda

Systems on the Internet need a machine readable address. Humans cannot
remember machine readable addresses but can remember names. The HOSTS.TXT
file provides this mapping but is encountering problems. The file became too
large and costly to distribute the full file to all nodes. A distributed
name system was needed to solve this problem. The DNS design consists of
name servers (repositories of information) and revolvers (algorithms for
finding the correct name server). The DNS is a variable-depth tree, with
each node representing a name. The database is distributed using zones and
caching. A zone is a section of the database controlled by an organization.
It is a contiguous part of the namespace with pointers to other zones. The
algorithm for resolving a DNS name allows searches down the tree from
domains it can already access. It also has programmed hints for the root
nodes and local domain. The DNS currently has 30 top-level domains
corresponding to countries and organization types.

The DNS system is distributed and recognized the need for a variable-depth
hierarchy. This shows vision as the explosive growth of the Internet
required flexibility. The DNS system is simple. This allowed quick
development and helped spread the system across the Internet. Caching
reduces hits on individual name servers. The poor performance of the
underlying transport means caching is important. The entire process is
invisible to the end-user. They only see names and not the search to replace
the name with a number.
The decoupling of names and network topology has proved helpful.
Organizations can move their servers without changing their names. The
freedom of names from semantic relationships has saved the system from
costly bureaucracy. The system did not require a "big brother" to check the
validity of names (although "name lawsuits" have changed this a bit, of
late). The lack of semantics also allows the DNS to potentially work for
other purposes. Flexibility seems to be the key of many Internet systems.

The initial performance of the resolving system is poor. I was surprised to
see 500 ms to 5 seconds for response time. If this were true today, I doubt
the Internet would be so popular. The blame for this trouble lies mainly
with the transport system and secondarily with the implementation. There is
not much the designers of DNS could do about this problem (besides caching).
A distributed system is necessary so issues with transport will become
issues of the DNS. System administrators do not seem to understand the
system. They pick configuration values that are unreasonable for their zone
(eg. TTL). This is not a design problem but a serious implementation issue.
The freedom of names from semantics has also caused problems. An end-user
must search for the organization in a search engine. This seems to have
defeated the entire point of DNS. It seems that search engines will
eventually represent the next iteration of the naming system. It has already
started with me. I use search engines much more often than remembering a
name. Another problem during the .net boom was the buying of every domain
name. There was not enough control over name assignments. We need to balance
low bureaucracy with usefulness.
Received on Mon Oct 03 2005 - 10:09:54 EDT

This archive was generated by hypermail 2.2.0 : Mon Oct 03 2005 - 10:11:35 EDT