Review of "Development of the Domain Name System"

From: Seth Cooper (scooper@cs.washington.edu)
Date: Wed Nov 17 2004 - 02:30:28 PST

  • Next message: Karthik Gopalratnam: "DNS"

            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.


  • Next message: Karthik Gopalratnam: "DNS"

    This archive was generated by hypermail 2.1.6 : Wed Nov 17 2004 - 02:30:30 PST