In early days Http and other services were accessed by concern server IP addresses, but now a days all services are mostly accessed by using the name spaces. An hierarchical name space was introduced for unique proprietary name provision for general public and organizations whom uses servers to give services in public networks ( eg., Web server etc., ).
Why I need names instead of Ip addresses to be directly used ? the major issues are given below.
1. A name will represent a company in the public network, IP doesn’t . ( Eg., www.google.com represents Google Search engine on internet. instead of that if i give a set of numbers as my web site address will that look fair ? ( Eg., http://173.194.32.104 )
2. The next thing is if i use my IP address as my site address its difficult for users to remember 100s of sites within their mind
3. The next thing is if I use my IP address as site address, in case if there is a service level issue with my ISP and am switching over to another ISP, my IP will surely get changed. Then i have to intimate all my customers about my change.
4. The fourth one is it is not possible to keep redundant web servers for same web site if they use IP address as site address.
5. The next major issue is I cant use mail address in their format. Will it look fair if i have a mail address as ” anbarasu@122.165.216.46 “ ??
So for above mentioned reasons we cannot represent our site address in the IP format. Ok lets have a change.. let me change my site addresses to names such as www.yahoo.com , www.google.com like wise.
What will be the issue ? my basic communication between the servers and clients will be happening by my basic communication protocol the ” TCP / IP “. I can’t use a string as my server address .
What to do ? i need IP for basic communication and also i cannot use IP address as my site address. Here came the God father the mighty ” DNS “.
What actually DNS does ?
DNS is a server in which we can create Names vs IP address records. with a separate container for each and every domain ( A domain represents a company in DNS servers. For example for yahoo there will be a container alloted in which all its servers will be placed www.yahoo.com, chat.yahoo.com, in.yahoo.com ).
Inside the container I have to create records for each server as given below.
www.yahoo.com 122.165.216.46like wise. This is called DNS data base. The DNS server will be having database for all servers hosted in the public internet ( Lets discuss latter about how a server in America whose name record is available in my local ISP DNS server ).
chat.yahoo.com 122.164.215.45
in.yahoo.com 122.164.216.54
So now, in my client machine I have to define which is my DNS server ( preferred alternate options will be available in your client machines ). Once you defined it for all name based probes, the client machine will contact your DNS server using your client machine’s DNS client service to get name query. No matter what type of application your using either a browser or a custom application.
Now in my client machine browser am typing ” www.yahoo.com “. The client machine OS directs the typed name to the DNS client service and in turn the client service establishes a connection to preferred DNS server in case if preferred DNS server is unavailable the client service establishes connection with the alternate DNS server.
Once the connection is established in between the DNS client and DNS server the DNS client starts name query as shown below. ( lets consider DNS client and server are speaking )
Client : Hello 203.145.184.40in this way the client gets IP address of www.yahoo.com, not every time when you access www.yahoo.com, once per hour or two even if you continuously accessing yahoo . Because the resolved name will be in client machine’s memory for some time. Based on the configurations done in DNS server ( not in DNS client even if it is stored in DNS client ). This is called cache.
Server : Hello 122.169.200.49
Client : Need a name query establish connection
Server : Ok establish connection
( connection got established )
Client : Need Ip address of www.yahoo.com
( Server Searches its database )
If got the record
Server : Ip address of www.yahoo.com is 122.165.216.46
Client : Thanks and signing off
So how it is use full for you ? comment on this