Communications Protocols

Communication protocols are at the heart of data communications. Applications running on networked computers need to exchange data with applications running on other computers, often on other networks. Other devices must also send and receive information over the network in order to function, including networked printers and interconnection devices such as switches and routers. Network devices that wish to communicate with each other must speak the same language. They must use standard messages and a common set of rules that define how communication will take place. These messages, together with the conventions that must be followed in order to ensure successful communication, are collectively called a communications protocol. Such protocols are often described in an industry or international standard.

Protocols exist at every level of a communications system. There are hardware protocols that determine how electrical signals are transmitted over a transmission link, and software protocols that determine how transmission errors are handled and how much information can be sent over the network at a time. There are a number of different communication protocols that can perform the same function, but if communication is to be successful, both end points using a communications channel must be using the same protocol. Communication systems have a layered architecture that allows the functionality required at each layer to be engineered independently of the layers above and below them, facilitating a modular approach to the design of hardware, firmware or software components. The layers of a generic five-layer model are described below.

Each layer implements some part of the communications process. In some cases the same functionality (for example, error handling and flow control) is provided at different levels. The functions typically embodied in a particular set of communications protocols (sometimes called a protocol suite or protocol stack) are described below.