Copyright 1997 Nikkei Business Publications,Inc. all rights reserved, permission is hearby given for reproduction, as long as attribution is given and this notice is included.

DNS as a flawed directory service

By: Scott Bradner

The Internet Domain Name System (DNS) was designed to perform two functions. First it provides a human-friendly way for a user to specifying a particular node or group of nodes on a data network. Second, it provides a mostly static reference to a node or nodes. But we are now burdened by the DNS being asked to perform yet another function, one that it was not designed to perform, that of a directory service.

Using human-friendly names for computers is important because memorizing IP Addresses for hundreds or thousands of Internet-based services is not practical. DNS names make it easy for users to remember names for these functions. www.ibm.com is an easy name to remember, remembering the IP address for the same computer (204.146.17.33 ) would be far harder and most people would have to use some form of directory, like a telephone directory, to find the IP Address.

But even if you could have a system like a printed telephone directory for finding the IP Address you could still have trouble. Network managers reconfigure their networks their networks quite frequently an move servers between machines. Both of these activities will cause IP Addresses to change. Keeping the printed directory up to date would be just about impossible.

The DNS mitigates the problem of changing IP Addresses by having network-based servers which are used to translate between the human-friendly name and the current IP Address. There are many of these servers, as many as one for each domain (ibm.com is a domain), each of which is usually run by the local organization itself. Having the organization whose names are in the server run the server maximizes the chance that the server will be kept up to date with the current DNS name to IP Address mapping. But the use of human-friendly names is now causing a number of problems.

One problem is in the overlap between the domain names and trademarks. ibm.com is a domain name and IBM is a trademark. The computer maker IBM might be upset if some other company has gotten the domain name ibm.com. Some Internet purists will tell you that domain names have nothing to do with trademarks but this is clearly not the case. In trademark law someone using a trademarked name in such a way as to cause confusion in the mind of a receiver as to the actual relationship between the company and the user of the trademark then the usage is illegal. So if someone else had the domain ibm.com and started to advertise computers, the IBM company would have justification to complain.

Another problem is that there is quite limited namespace. There are a few global top level domains (like .com and .net) and a 2 letter country code per country. A domain name must be unique within the top level domain name. One could not have two companies with the domain name nikkeibp.co.jp - the network would not know where to send the traffic. In the physical world it is quite easy to have to companies with the same name if they are in different cities or in different businesses. Since the Internet does not have these same types of geographic or category separations things can get quite confusing. Should Apple Records in England get rights to apple.com or should Apple Computer in California? In this case if both companies claimed the name there would be no way to resolve the issue because the two companies are in different legal jurisdictions. It is already getting harder to find short unique names within a particular top level domain and only a very small percentage of the companies in each area are on the Internet at this time.

But the biggest problem with the DNS is that people use it as a directory service. People think they can guess at what the domain name for a company should be. They think that IBM's web site should be at www.ibm.com. Because of this companies want to get meaningful domain names. Which brings us back to the issues of trademark, companies would like to get domain names which are similar to their trademarks, and of the limited address space, too many companies with similar names trying to get the same domain names.

Domain names are treated differently than phone numbers. People assume that phone numbers are not the same as company names and that you have to use a directory to look them up. The Internet names problem would be quite a bit easier if users felt the same way about domain names - one looks up IBM Corporation and gets a list of companies, each with IBM as its name - with a short description of each company, or maybe only its postal address, and the user picks one and then uses the non-meaningful number string as the "name" of the company over the Internet. Note that you could not use the IP Address as this numeric name because it changes too fast, you still need this indirect name function that the DNS provides.

But, if you think about it, we know how to do this. Internet search engines could be used to retrieve the indirect name. You could tell the search engine that you were looking for companies that built large computers and had the characters IBM in their name, the engine would then return with a list of possible companies, you would then click on the right one and would be connected to its web page. If this type of real directory were used, then the DNS name could be a random character or number string and no one would care because it was not seen my most people.

This is all well and good but it fails in one area - what do you put on your business card as your email address. As long as you want that email address to have some implied meaning, such as the company name, we are back to where we started - trying to use the DNS as a directory service which it is not good at.

If you find an answer to this problem, please let me know. (hint - X.500 is too complex for most people to use)