DNS - Domain Name System

 
Domain Name System (DNS)
When referencing an Internet site, we often refer to its domain name. Computers, however, do not use domain names. They use 32-bit binary address called IP addresses. For example, a valid IP address has the following form:

    1000 0000 1001 1100 0000 1110 0000 0111

To make IP address a little easier for human beings to understand, these 32-bit binary address are represented by dotted decimal nation. This dotted decimal notation is created by converting each 8-bit string in the 32-bit IP address into its decimal equivalent. Thus, the IP address above becomes 128.156.14.7., as shown here:

    1000 0000 1001 1100 0000 1110 0000 0111
    128 156 14 7

But even the decimal equivalent to the IP address is not convenient for us humans. Because computers use 32-bit binary address and almost all human beings use the domain name form, the Internet converts the binary forms into English-based domain names, and vice versa. To do this, it uses the Domain Name System (DNS), which is a large, distributed database of Internet address and domain names. This distributed database consists of a network of local DNS servers, mid-level DNS servers, and higher-level DNS servers. To keep the system manageable, the DNS database is distributed according to the top-level domains: edu, gov, com, mil and so on.

Converting a domain name into a binary IP address can be simple or complicated. The level of complexity depends on whether or not a local network server on the originating local area network recognizes the domain name. If a network server cannot resolve an address locally, it will call upon a higher authority. A local DNS server will send a DNS message to the next higher DNS server until the address is found, or it is determined that the address does not exist. If the address does not exist, an appropriate message is returned.

Consider, first, what happens when a local server recognize a domain name. When the new domain name appears, an application program, such as a Web browser, calls a library procedure named the resolver. The resolver sends a DNS message to a local DNS server, which looks up the name and returns the IP address to the resolver. The resolver then returns the IP address to the application program.

But what happens if the local DNS server does not have the requested information? It may query other local DNS servers, if there are any. The information concerning the existence of other local servers and remote server location would be kept in a file on the local computer network. If the answer again is no, the local DNS server tries the next level up – perhaps a mid-level server. If the mid-level server does not recognize the domain name, or there is no mid-level server, the top-level name server for the domain is queried. If the top-level name server goes not recognize the domain name, it will either return a “URL Not Found” message or go down a level a query a local DNS server.