From: Lillian Kittredge (kittredl@cs.washington.edu)
Date: Tue Nov 16 2004 - 22:20:15 PST
DNS
This paper describes the process of designing the DNS, the distributed
system mapping names to IP addresses.
The DNS is, at its core, a distributed database. The main point of this
is that it is massively preferable to the former name service: a text file
of definitions which had to be updated and distributed by hand. The key
insights were that the Internet was both large and heterogeneous; both of
these factors led to the decision to use a hierarchical namespace. They
also acknowledge the heterogeneity in their decision that names could map
to any kind of defined data, not just IP addresses. This has become less
relevant as competing protocols have died out, but it was good of them to
include.
The most interesting thing to me about this paper was the conclusions
about design decisions. This was one of the first distributed
applications on the Internet, and it deals with realizations such as the
inherent laziness of system administrators, who will cling to the old
system against all odds, and misuse whatever variables you allow them to.
Another key realization, which I wish had been figured out earlier in the
design of the Internet, is that it's easier to remove functionality than
to add it. Though I wonder if this principle has actually seen much use
-- there is, after all, a large amount of inertia to overcome to get the
features implemented.
This archive was generated by hypermail 2.1.6 : Tue Nov 16 2004 - 22:20:15 PST