Comm Corner Logo
Comm Corner 
Domain Name System Servers
by John Woody

Alamo PC Organization: HOME > PC Alamode Magazine > Columns > Comm Corner 
;
This article covers the Internet Protocol and Domain Name System relationship addressing methods. The Internet Protocol addressing standard is key to everything one does on the Internet. Everything hinges on the addressing standards found in the Internet Protocol. 

 The Internet Domain Name System or DNS is the method from which every address on the Internet is tracked and maintained in a form which we can remember. The servers (computers) which keep these addresses are known as DNS servers. And, these address data base computers actually remember every address in numerical form, or at least know how to find them. 

 The Domain Name System translates an Internet Protocol (IP) numbered address (204.96.20.2) to something which humans can relate, words. When we open a Uniform Resource Locator (URL) by typing www. microsoft.com or ncsa.uiuc.edu, we are using the domain names of those URL addresses. We are not actually entering the numerical address required by the server, but are entering a "human-friendly pseudonym" for the address. The Internet uses numbers to identify its IP addresses. Microsoft's IP address is 198.105.232.4 and the National Computer Center address is 141.142.2.2 and the DNS server will correlate the address word name to the IP numerical address. 

 

Internet Protocol Addresses

The IP system is responsible for assigning unique addresses to every computer which connects to the Internet every time that machine is running on it. At each step of the Internet, a participating network is responsible for maintaining it own organization. Each network maintains a database of the server computers it connects to the network. Each machine on the Internet has a unique address. This includes those of us who have dynamic addresses in that each time we dial onto the Internet, our Internet Service Provider (ISP) assigns us our address for the current session on line. 

 IP addresses contain four sets of numbers such as 204.96.20.2, each less than 256. The numbers furthermost to the left represent the broadest descriptions of network connections. As you work the address to the right, the address becomes more specific to the network and the individual computer. The beginning (left side) of the IP address tells one what network you belong to, while the right side numbers tell you which specific computers are to be assigned the next problem. 

 This IP address is all that the Internet needs to send the packet switched data no matter the size of the file. The address is placed on each information transfer and forwarded to the next location where it is routed to the next. Each packet is about 1,500 bytes (characters) of information. An e-mail transmission, for example, with a one Meg attachment file is broken into 1500 byte packets and addressed for sending. These packets need only the IP address and probably will not follow the same routed path to their destination. Like the post office, some of these packets may be lost or received out of order, which might cause a receive problem. 

 To further enhance these transmissions, one additional protocol is added to the IP address to ensure complete file transmission. This is the Transmission Control Protocol (TCP). TCP solves the large file out of order and lost packet problem. TCP sequentially numbers each packet for verification and rebuild at the receive end. At the receive end, TCP calculates a checksum number which detects errors in the packet. The checksum must compare from both the sending and receiving end. If the checksum does not compare, TCP discards the packet and requests a retransmission. TCP/IP does all of these transactions in the numerical form of the Internet protocols. To make it easier for humans to complete the addresses, a corresponding name structure has been added. This is the Domain Name System. 

 

Domain Name System Addresses

The DNS describes computers and the organizations which are supported by each IP address. Each time we type a domain name, ie., jwoody@texas.net, the Internet session does not start until that name has been translated into an IP address. This is the case for every transaction we undertake. Telnet, finger, Gopher, Web sessions, or any transmission must be translated into its IP address. This task is handed to the DNS servers. Every DNS server does not have every IP address. The local DNS server transmits a query to other external DNS servers to solve the domain name address. Once this query has been returned, the local DNS server translates the domain name into an IP address. Every time you type a domain name or click on a hypertext address, the local DNS server engages a software program called a resolver, which either resolves the IP address or sends the queries to other external DNS servers. 

 DNS servers must be made aware of domain name changes or additions as rapidly as possible. For this reason, they are connected so that queries can be resolved through the connected searches. Before DNS servers, domain name translation depended upon the host table, a text file in the /hosts/ directory on the local network UNIX server. Domain names and corresponding IP addresses were entered line by line. A master host table is maintained by machines at the Network Information Center (NIC), nix.ddn.mil//~netinfo/hosts.txt. Maintaining this file has been distributed to the DNS server system which maintain limited data and have the means to search for details as required. 

 Each time a DNS server receives a request for a host not contained in its cashe, it queries an authoritative server, one which can resolve with certainty that the host name exists. Once the domain name has been resolved, the original DNS server automatically cashes the information for future use. This transaction takes place on every domain name address request and is almost instant. It does add some time to the connection. 

 [Try this test sometime to see the difference in time. Enter from your browser a domain name address such as www.microsoft.com and watch the time to resolve it. Then close your browser and reopen so that you will not obtain from your cache the same address 198.105.232.4 to see if there is a time difference. This is not fool proof but is an informal indicator of how domain names are resolved.] 

 There are three types of DNS servers, primary, secondary, and caching only servers. The primary and secondary servers are considered authoritative for their particular domains. Primary servers contain all data about a domain, secondary servers copy the data, and cashing-only servers hold only the cashe for that domain. To understand how DNS servers operate, we need to understand the Domain Name hierarchy. 

 

Domain Name Hierarchy

The top of the Domain Name hierarchy is the root domain. Information at this level resides on a select number of root servers and contains basic domain information. The next level below the root domain is the top-level domains, which are either country or organization codes. These codes are the two letter country codes such as .SG for Singapore, or the very familiar organization codes such as .EDU or .COM. The next level down in the chain is the second-level domains, such as whitehouse.gov or microsoft.com. After that come the third-level domains, which usually name more specific machines within the domain. 

 To establish a domain name in the U. S., you must contact NIC which checks to see if the name is not already in use and to insure that at least two servers are currently in use which will serve the new domain name. My business domain, JWWOODY.COM, was established by my Internet Service Provider (ISP), who provided two DNS servers, ((NS.TEXAS.NET) (204.96.20.2)) and ((NS2.TEXAS.NET) (204.96.20.3)), to contain my name. I have not been assigned an IP address because I do not have a dedicated server or router which is on line all the time. My IP address is dynamically assigned by TEXAS.NET each time I log on as I have a Point-to-Point Protocol (PPP) account. If I establish a dedicated router to my network, I can then locally assign my network machine names for their domain names and IP addresses. To have each machine available for access, I would have to make sure that their domain names were registered in the domain immediately above them. 

 

Conclusion

To summarize how all this works, we need to take an example and carry it through the DNS process. Someone sees a WWW link to my brand new JWWOODY.COM Web page and wants to access it. When they click on the hypertext which has the domain name address in it, their local DNS server goes into action and searches its DNS database for the name. As it probably does not have the record, it sends an query to the root server for that domain. The root server then supplies the NS record which tells the local DNS server to query the DETAILS.JWWOODY.COM for the requested information. The local DNS server is cashing all of the new information at each step of the query. From this point on, the JWWOODY.COM domain name cashe will be held in the other local DNS server. 

 The DNS protocols are contained in several Internet Request for Comments (RFC) documents numbered RFC 882, 883, and 973. It is also summarized in RFC 1035 and can be found in HTML form at WWW.CRYNWR.COM:80/CRYNWR/RFC1035/

 

John Woody is a telecommunications consultant specializing in small business communications networks and Internet business training.