In computer science and telecommunications, a communication protocol is an agreement after the expiry of the data transfer between two or more parties. In its simplest form, a protocol can be defined as the rules governing the syntax, semantics, and synchronization of the communication. Protocols may be implemented by hardware, software or a combination of both. At the lowest level protocol defines the behavior of the link hardware.
If it is communication in a computer network, it is called a network protocol.
Protocols vary greatly in purpose and complexity. Most protocols make one or more of the following fixed:
- Determining the underlying physical connection (eg LAN or W- LAN) or the existence of the other endpoint of the connection
- Data flow control ( handshaking )
- Agreement of the various connection characteristics
- As a message begins and ends
- How a message is formatted
- What is being done with corrupted or improperly formatted messages ( error correction method )
- How unexpected loss of connection is detected, and then what has to happen
- Termination of the connection
Communication protocols are the foundation of the Internet and contribute significantly to its performance and its success. The most important of which are the Internet Protocol (IP) and the Transmission Control Protocol (TCP). The term TCP / IP is the most widely used Internet protocols for a collection (protocol suite). Most of the communication protocols of the Internet are described in RFCs of the Internet Engineering Task Force ( IETF).
Generally, only the simplest protocols used alone. Most protocols, especially network protocols, are composed of layers of the protocol stack, in which the various tasks listed above are divided among the different protocols of the stack.
While a protocol stack a specific combination of protocols indicates that work together, a reference model is a software architecture that enumerates each layer together with the services that you want to provide. The classic seven-layer model is to grasp the OSI model, which is used protocol stacks and peer entities in terms. Didactic provides the reference model also an opportunity to teach general concepts of software engineering, such as encapsulation, modularity and delegation of tasks. This model has survived, although many of its original components were replaced by the ISO. However, the OSI model is not the only reference model.