DNS History

The Domain Name System is foremost a way of providing human-usable pointers to systems on the Internet. Without a domain name, a given website would be accessed with a cumbersome series of numbers which are subject to change, E-mail would be incapable of being used due to limitations in relative routing systems, and off-site linked images would go broken with great frequency.

The Internet Protocol (IP) addressing system is used to uniquely identify every machine directly connected to the Internet. The addresses under IP version 4 take the form of “dotted quads” or “dotted decimals”: four eight-bit numbers separated by periods. A fine example being the system hosting EasyStreet’s website; 206.102.12.130. This is the primary protocol to access computers with.

IP addresses are subject to change for any number of reasons. Some addresses are simply dynamically assigned each time someone dials up. Others, being on a semi-permanent connection, last months. Sometimes large address blocks can switch around due to corporate or, say, ARIN or IANA policy change. Advertising any given server based on its IP addresses fails on two counts: 1) Most forms of advertising cannot keep up with the dynamic nature of address assignment. 2) People don’t want to remember what’s effectively an arbitrary number between 1 and 4,294,967,296. What’s needed is a globally accepted system for advertising servers that can itself be advertised. Established is something called “naming”; the act of substituting a string for an address.

In the early days, when men were men and unkempt beards were rampant, the naming system for IP was set up much like a small phone directory on every single machine. The file was called “hosts.txt”, and, due to the aforementioned dynamic nature of the Internet, had to be updated on a regular basis. “Regular basis” generally being nightly. Using the phone directory allegory here, it can be rationalized that nightly directory drop-offs are not feasible on any sort of large scale by any one organization. But one central server (InterNIC.arpa) had to accept and distribute changes in order to preserve accuracy.

This is a very early concept of “authoritative”. Systems cannot simply get addresses off of other machines on the network; they might be out of date and have the wrong name-to-address mappings. Only the server to which changes were submitted could be considered a bottom line “authority” on what address that name resolves to. Since people didn’t want to waste bandwidth, however, they only downloaded the file onto their networks once and then distributed it to other systems on a given network from there. This is the beginnings of a hierarchical distribution system where normally it was all one system doing it. The other key was that many administrators wanted naming systems for their own internal systems that weren’t to be accessed from the Internet. They had to add entries to either hosts.txt before distributing it internally or have a separate file which had to be considered more authoritative than the central authority.

When need of a re-drafting of the naming system came around, three goals were established: stability, distributability, and scalability. It had been learned previously in dealing with Unix-to-Unix Copy Protocol that relative non-authoritative addressing would result in problems when, say, trying to send mail to an address that doesn’t exist on most of the systems that it’s routed through. It was readily apparent that personal control of internal servers would be a neat thing to integrate with the naming system. It was also clear that one server couldn’t handle expected exponential growth. Another bonus would be to integrate stable email exchange into the system, since that was the most essential use of the Internet.

The solution was a hierarchy of naming authorities, each of which dictating the names of the level below them. The authorities act over their “domain” however they choose, though they are themselves controlled by the authority above them. Replacing ARPA’s InterNIC is a group of “Root Nameservers” which in turn handle “top-level domain names”, which are separated into ccTLDs and gTLDs. Country-Code TLDs are designed to discourage cross-country traffic, encourage locality, and encourage lingual discrimination in website publishing. Some examples are the .UK domain and the .US domain in which many websites are published. Also popular is Christmas Island’s .CX. A full listing can be found on IANA. Generic TLDs are the usual ones; .net, .com, .org etc. A full listing can be found on IANA. There’s also the Infrastructure TLD, the .arpa domain, which is used for very specific Internet maintenance. Information on its usage can be found on IANA.

Today we have a complete hierarchy of domain name servers. Dots separate the namespace into manageable chunks that can be delegated at need. Currently there are thirteen servers dedicated to handing out information on top level domains. They’re controlled by ICANN and hosted mostly by U.S. agencies and universities, though they’re in Japan, Sweden, and the United Kingdom.

© 2009 EasyStreet Online Services, Inc. All rights reserved.
EasyStreet and the EasyStreet logo are registered trademarks of EasyStreet Online Services. Certain other names, logos, designs, titles, words or phrases on this site may constitute trademarks, servicemarks or tradenames of EasyStreet or other entities which may be registered in certain jurisdictions.