A protocol is an agreement between the communicating parties on how communication is to proceed. (Definition taken from “Tanenbaum, A. S. (2003). Computer networks, 4-th edition. ed: Prentice Hall.”)