Development of the domain name system Baoning Wu 01/30/2003 What is DNS? DNS is the largest name services today. Domain name to IP address The content of this paper Examine the ideas behind the initial design of the DNS in 1983. Discuss the evolution of the ideas into the current implementations and usages. Surprises, successes and shortcomings. To predict its future. Genesis of DNS The HOSTS.TXT system was encountering problems, e.g, (1) the file and the costs of its distribution were too large (2) the centralized control of updating did not fit the trend toward more distributed management of the Internet. DNS design assumptions Provide at least all of the same information as HOSTS.TXT Allow the database to be maintained in a distributed manner Have no obvious size limits for names, name components Interoperate across the DARPA Internet and in as many other environments as possible Provide tolerable performance Architecture Name servers: repositories of information, and answer queries using whatever information they possess Resolvers: interface to client program, embody the algorithms necessary to find a name server concepts Name space: is a variable-depth tree where each node in the tree has an associated label. RR (resource records) in DNS : each RR carries a well-known type and class field e.g. <Name, Value,TTL,Class,Type> < "foo.example.com", 10.1.2.3, TTL => 86400, Class => "IN", Type => "A“> Database distribution Zones: a complete description of a contiguous section of the total tree name space. EDU and ISI.EDU Caching: cache response for later queries Current implementation Root servers Berkeley BIND Surprises 1. Refinement of semantics: the info is not well-understood 2. Performance: much worse than the original design expected 3. Negative caching: high percentage of negative responses Successes 1. Variable depth hierarchy 2. Organizational structuring of names 3. Datagram access 4. Additional section processing 5. Caching 6. Mail address cooperation Shortcomings 1. Type and class growth 2. Easy upgrading of applications 3. Distribution of control vs. distribution of expertise or responsibility Future 1. Support for X.500 style address 2. Ubiquitous name service and consistent name space 3. Solutions to the growing complexity of naming. Questions?