Although using characters to mark the beginning and end of each frame has advantages, most computer networks cannot afford to reserve characters for use by the network. Instead, the network permits an application to transfer arbitrary data values across the network. In particular, an application may choose to send data that contains one or more occurrences of characters like soh and eot that are used for framing. In general, to distinguish between data being sent and control information such as frame delimiters, network systems arrange for the sending side to change the data slightly before it is sent, and then arrange for the receiving side to restore the original data before passing it to the receiving application.
Thus, although applications using the network can transfer arbitrary data, the network system never confuses data with control information. Because network systems usually insert bits or bytes to change data for transmission, the technique is known as data stuffing. The terms character stuffing and byte stuffing refer to data stuffing used with character oriented hardware, and bit stuffing which is more common, refers to data stuffing used with bit oriented hardware. To implement byte stuffing, a sender must scan an entire data block and perform the mapping before any data is sent. Byte stuffing can solve the problem by reserving a third character to mark occurrences of special characters in the data.
Thus, although applications using the network can transfer arbitrary data, the network system never confuses data with control information. Because network systems usually insert bits or bytes to change data for transmission, the technique is known as data stuffing. The terms character stuffing and byte stuffing refer to data stuffing used with character oriented hardware, and bit stuffing which is more common, refers to data stuffing used with bit oriented hardware. To implement byte stuffing, a sender must scan an entire data block and perform the mapping before any data is sent. Byte stuffing can solve the problem by reserving a third character to mark occurrences of special characters in the data.