Table of contents
No headings in the article.
Human Analogy
It is probably easiest to understand the notion of a computer network protocol by first considering some human analogies.
Consider what you do when you want to ask someone for the time of day. Human protocol dictates that one first offer a greeting to initiate communication with someone else.. The typical response to a “Hi” is a returned “Hi” message. Implicitly, one then takes a cordial “Hi” response as an indication that one can proceed and ask for the time of day.
A different response to the initial “Hi” (such as “Don’t bother me”) might indicate an unwillingness or inability to communicate. In this case, the human protocol would be not to ask for the time of day. Sometimes one gets no response at all to a message, in such case one typically gives up asking that person for time.
Clearly, transmitted and received messages, and actions taken when these messages are sent or received or other events occur, play a central role in a human protocol. If people run different protocols (For example, if one person has manners but the other does not, or if one understands the concept of time and other does not) the protocols do not interoperate and no useful work can be accomplished. The same is true in networking – it takes two or more communicating entities running the same protocol in order to accomplish a task.
Network Protocols
A network protocol is similar to a human protocol, except that the entities exchanging messages and taking actions are hardware or software components of some device (like laptop, tablet, smartphone, router or other network-capable device). All the activity in the Internet that involves two or more communicating remote entities is governed by a protocol.
As an example of a computer network protocol with which you are probably familiar, consider what happens when you type the URL of a Web page into your Web browser. The scenario is illustrated in the right half of the figure.
First your machine will send a connection request message to the Web server and wait for a reply. The Web server will eventually receive your connection request message and return a connection reply message. Knowing that it is OK to request the Web document, your machine then sends the name of the Web page it wants to fetch from that Web server in a GET message. Finally, the web server returns the web page (file) to your machine.
Conclusion
Given the human and networking examples above, the exchange of messages and the actions taken when these messages are sent and received are the key defining elements of a protocol:
A protocol defines the format and the order of messages exchanged between two or more communicating entities, as well as the actions taken on the transmission and/or receipt of a message or other event.
The Internet, and computer networks in general, make extensive use of protocols. Different protocols are used to accomplish different tasks. Some protocols are simple and straightforward, while others are complex and intellectually deep.