In this post we are going to discuss in detail about how communication goes in between different computers connected to internet. Usually communication over Internet is Client/Server based communication.
Every computer on Internet has unique IP address which is used to identify computer system. Internet connection in our home is usually by some service provided called ISP (Internet Service Provider). Following figure describes the usual web based communication between client and server, which is request and response based. Figure describes the every detail from the point you put some address of website in your browser to get your webpage.
Figure 1: Typical client server communication on Internet
Consider you have typed some url say ‘http://www.google.com/’ in your browser then your browser will send request to the some computer on internet whose name is “www.google.com” . Even if it seems to be easy and quick but actually there are lots of procedures goes on inside of internet for this single request.
Your computer will have working internet connection which is provided by some ISP, so when you send request for ‘www.google.com’ then this request firstly goes to your ISP. Next your ISP will search for the DNS servers and DNS servers entries on each server and try to find entry for ‘www.google.com’, if your ISP got the entry for ‘www.google.com’ then with the help of DNS server your ISP will get actual IP address of computer ‘www.google.com’ and it will establish your connection with ‘www.google.com’ and you will receive some data as response from ‘www.google.com’.
But if your ISP unable to locate DNS entries for ‘www.google.com’ then your ISP will give message to your PC that ‘www.google.com’ not found and thus you were unable to connect to ‘www.google.com’. From this we could understand that the main backbone of Internet is DNS.
Communication over Internet is governed by some set of rules called as protocols. This rules specifies the mechanism / architecture / framework for communication over Internet. There are various protocols for Internet but most important protocols and there description is mentioned above:
The Hypertext Transfer Protocol (HTTP) is an application protocol for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web. HTTP functions as a request-response protocol in the client-server computing model. A web browser, for example, may be the client and an application running on a computer hosting a web site may be the server. The client submits an HTTP request message to the server. The server, which provides resources such as HTML files and other content, or performs other functions on behalf of the client, returns a response message to the client. The response contains completion status information about the request and may also contain requested content in its message body.
A web browser is an example of a user agent (UA). Other types of user agent include the indexing software used by search providers (web crawlers),voice browsers, mobile apps and other software that accesses, consumes or displays web content. HTTP is designed to permit intermediate network elements to improve or enable communications between clients and servers. High-traffic websites often benefit from web cache servers that deliver content on behalf of upstream servers to improve response time. Web browsers cache previously accessed web resources and reuse them when possible to reduce network traffic. HTTP proxy servers atprivate network boundaries can facilitate communication for clients without a globally routable address, by relaying messages with external servers.
2. TCP / IP :
The Internet protocol suite is the networking model and a group of communications protocols used for the Internet and similar networks. It is commonly known as TCP/IP, because it’s most important protocols, the Transmission Control Protocol (TCP) and the Internet Protocol (IP), were the first networking protocols defined in this standard. TCP/IP provides end-to-end connectivity specifying how data should be formatted, addressed, transmitted, routed and received at the destination. This functionality has been organized into four abstraction layers which are used to sort all related protocols according to the scope of networking involved.