All communications between devices require that the devices agree on the format of the data. The set of rules defining a format is called a protocol. At the very least, a communications protocol must define the following:
In addition, protocols can include sophisticated techniques for detecting and recovering from transmission errors and for encoding and decoding data.
In addition to the standard protocols listed in the table, there are a number of protocols that complement these standards by adding additional functions such as file transfer capability, error detection and recovery, and data compression. The best-known are Xmodem, Kermit, MNP, and CCITT V.42 . These protocols can be implemented either in hardware or software.