Tuesday, November 4, 2008

Development of the Domain Name System

Domain Name System (DNS) is an important part of the Internet providing a mapping between human-readable names and IP addresses. In the good old days, this mapping was stored in HOSTS.TXT at SRI. This had an obvious problem of inability to scale. While the number of hosts wasn't large when the idea was developed, I think it represents an example of good research that foresaw a definite problem.

DNS had the following design goals - do at least as much as HOSTS.TXT, allow the database to be maintained in a distributed manner, no obvious size restrictions on names, inter-operability and tolerable performance overheads. Name servers and resolvers are the two main components of DNS.

Caching is the main trick why DNS works as well as it does. This paper acknowledges that caches could be a point of mischief. Of course, they have been proved right as cache poisoning is quite a scary thing. Cache poisoning has been an important area of research and rightfully so given its importance. While this paper is neat and I enjoyed reading it, I would vote for replacing it with some paper on cache poisoning.

No comments: