Many students at the synchronous lecture pointed out "protocol" to be a confusing concept. Therefore, I am adding a short note  here.

and go into mute again. Although we had not formely defined it, that set of rules were followed by everyone when asking a question. In other terms we had a protocol to ask questions in class

the two/more devices communicate with each other smoothly ,without worrying about the infrastructure they run on. For example, consider a web based application running on HTTP protocol. Irrespective of

the device it runs on, the web application (which concerns the application layer) would know how to send, recive and process requests, as both client and server has agreed to use HTTP. Simillary, in the transport layer. 

if an application is programmed to use TCP, it would know how to do the error handling and processing of data transferred between two application, without worrying about the upper or lower layers. This is an advantage of

having a  layered architecture with different protocols at each layer.