What is DNS? Well, DNS stands for Domain Name Service or Domain Name System. It is a set of programs, protocols, and files that allow heterogeneous systems to talk to each other and provide IP addressing information. On the Internet, this would be a distributed database. DNS, WINS and host files are all services used to translate numerical IP addresses into recognizable names.
It is within a single or multi-site organization that WINS (Windows Internet Name Service) provides Windows-based computers with a centralized, client-server response for an IP address in relation to its host name. Host files also do the same exact thing. They are actually just a list of IP addresses and their name equivalents. The difficult thing about host files is that they are hard to maintain because they are located on each individual workstation, as well as server, throughout the organization.
A DNS system is composed of two significant components: a server and a client. Within the DNS system, the server is a machine that maintains the list of system or domain names in relation to their IP addresses. On the other hand, the client is any system that requests a translation of a given name to an IP address. Two server programs that provide DNS services is BIND (Berkeley Internet Name Daemon) and NAMED (Name Daemon). When a client passes the server a name with a request to translate and return the related IP address, the server looks at its own files. If nothing is found, it continues up the line to its domain server and asks whether it knows anything. Once the servers meticulously examine their files, one of the servers will return a response to the originating client as to whether the name was located.
It must be understood that domains are not routes. They are simply organizational sets of name references based on certain criteria. And, in some cases, they are also geographical. The top level domains have endings such as .com, .net, .org, .edu and .gov (Commercial, Network Provider, Nonprofit Organization, Educational Institution, and Government) used with the intent of clarifying the exact type of address being sought. .co, .ru and .uk are all examples of overseas top level domain names used today.
Now, letís take a look at the base-level system, the entry point into an organizations system or network. Say, abc.com has server sub-servers like, 123.abc.com, xyz.abc.com and 123xyz.abc.com. Each of these sub-servers is addressed through the main server, abc.com. When a request for an IP address matches a name such as files.comp.abc.com, it will be routed to the destination server called abc. If files.comp is not located in the list on abc, it queries the system called comp. If comp knows about files, it returns to abc.com the IP address of files. If files is on a public Internet address, requests will go directly to that server from now on. If the address is an internal address, routing will go through the Internet access router.
A system named powerpuff.girls.townsville.cartoonnetwork.com is organized under the main COMmercial DNS server. Name translation requests would be sent to the DNS server called cartoonnetwork, along to the sub-DNS server called townsville, to another sub-sub-DNS server called girls, and finally to a system called powerpuff. If Townsville is on a private network, all packets will go through the system directly connected to the outside world. In this case, itís called cartoonnetwork. If you can access powerpuff from outside the network, then the packets will go directly to powerpuff. If you were to send an email to Buttercup, it is most likely that her email address would be firstname.lastname@example.org.
Looking at DNS, we basically see that it is an immense correlation substitution for an extremely large host file. Maintaining a centralized list of domain names/IP addresses would be so impractical that the distribution of domain names and IP addresses is done in a hierarchy of authority. Just think, as you surf the Internet right now, a DNS server within close geographic proximity to your access provider is mapping domain names in accordance to your Internet requests or is forwarding those requests to other servers on the Internet.