Here are some takes on the term:
- Wikipedia: A protocol is a convention or standard that controls or enables the connection, communication, and data transfer between two computing endpoints.
- Webopedia ISP Glossary: The protocol defines a common set of rules and signals that computers on the network use to communicate.
- AIX Information Center: A set of rules for handling communications at the physical or logical level.
OK, those definitions are mostly talking about wire protocols like Ethernet. So what makes Internet Protocol (IP), for example, a protocol? These definitions don't really help.
I can't find a reference for this, but here's the best definition I've ever heard: A protocol is a format over a transport.
What does that mean?
- format -- The structure of the data, as represented sitting in a memory space. Examples: XML, CSV.
- transport -- The means for moving data between computers over a network.
Many (most? all?) protocols are packet-based, so the data must be divided into pieces and each piece must be put in a packet; that's the format the transport can transport.
A funny thing about protocols is that what looks like a protocol at one level merely looks like a transport at another level. IP is a protocol--its data must be IP packets that are moved over a transport like Ethernet. But when getting data over a protocol like FTP, HTTP, or SMTP, IP looks like just a transport. In turn, each of those protocols looks like just a transport for the file, HTML document, or e-mail message you're sending across the network.
So, a protocol is a format over a transport, and a protocol at one layer is a transport for the next layer.