A network protocol is a set of rules that governs communication between computers. Protocols govern the data format, time (when data should be sent and how fast it can be sent), sequence, and error control. Without these rules, no communication can take place even if computers are connected in a network. Let’s consider a situation. Suppose you plan to send a file from one computer to another. You could simply send it all in one single string of data. Unfortunately, this process would stop other users from using the network for the entire time that takes you to send the data. Additionally, if an error occurs during the transmission, the entire file would have to be sent again. To solve both of these problems, the file is broken into small pieces, called packets and are grouped. Now, these packets are transferred in a group.
Adding timing and error-correcting information further improve transmission reliability. This complexity makes it necessary to break down the communication into steps. Each step has its own rules of operation and consequently, its own protocol. These steps must be executed in a certain order, from top to bottom on transmission and from bottom to top on reception. Due to this hierarchy, these steps are defined by a protocol term known as protocol stack. Therefore, a protocol stack can be defined as a collection ‘of rules that specifies communication between computers. This protocol stack also specifies that each step contain a subset of rules.
A protocol resides, either in the memory of a computer or in the memory of a transmission device, such as NIC. When data is ready for transmission, this protocol is executed. The protocol prepares data for transmission and sets the transmission process in motion. At the receiving end, the protocol takes the data from the cable wire and prepares it for the computer by removing the information added by the transmitting end.