Communication protocol definition and basic description
Communication protocol is a formal description and a set of rules for digital data messaging format. Communication protocol agreement is a basic demand for exchanging data between computers (or other digital devices) and telecom systems. The protocol may determine the data compression method, authentication type, error checking and correction, signaling etc. Also, the syntax, semantics and synchronization of analog and digital communications may be described by the definite protocol type.
Communication protocols are used both for software and hardware and are implemented in analog and digital communications. Among the most popular protocols we can mention the following: File Transfer Protocol (FTP), TCP/IP, User Datagram Protocol (UDP), Hypertext Transfer Protocol (HTTP), Post Office Protocol (POP3), Internet Message Access Protocol (IMAP), Simple Mail Transfer Protocol (SMTP).
Communication protocols are divided into Inter System protocols and Intra System protocols. Inter System protocols are used to communicate between two different devices (e.g. computer and controller). The messaging is done via an inter bus system. The example are UART Protocol, USART Protocol, USB Protocol.
The Intra system protocol is used for connection between the two devices within the circuit board. The cost of intra system protocols data exchange is decreased due to circuit complexity and power consumption. Another advantage is secure data access.
Speaking about protocols we should mention a Protocol Data Unit (PDU) – blocks of data. A protocol specification defines its operation as well as the rules of its implementation. Also the rules describe how PDU will be processed at the transmit and receive nodes – the valid values for the PCI fields and the action be taken upon reception of each PCI value. The examples of procedures include error recovery, flow control, segmentation, service access, connection management. Protocols documentation is usually large and may not be directly translated to executable programs. In most cases implementation rules and actions make the basis for successful protocol operation.
Protocols are usually implemented by processes (programs) which communicate between each other through queues and by function calls. The correct operation setting of the protocol may require several times of testing.