al. After an appropriate wait, the computer's modem as- sumes the terminal's modem has seen the carrier signal and gives the computer the clear to send (CTS). The computer then starts trans- mitting data. 3.4 LINK CONTROL STRUCTURE While there are many kinds of link control procedures in use, they share a number of functions in common, including data transpar- ency, connection and disconnection, failure recovery, error control, and sequencing. 3.4.1 Data Transparency One of the key functions of any link control procedure is to provide for data transparency, which involves either distinguishing data bits from control bits, or providing a means for telling where a particular data block begins and ends without restricting the content of the data 38 TELECOMMUNICATIONS blocks. Two general methods for achieving data transparency are in widespread use. The first, known as byte stuffing, is used in the bi- nary synchronous communications (BSC or bisync) protocol. The second, and related method, is known as bit stuffing and is used in HDLC (see Section 3.6). These protocols work by assigning control meaning to certain data patterns. That is, the beginning of a block is flagged with a certain pattern of ones and zeros. In the byte stuffing case, this is a pair of characters or bits in a message, the sender adds special bytes or bits which the receiver removes, preserving the original data pattern. 3.4.2 Connection and Disconnection The link control procedure must provide a means for establishing and terminating conversations. Usually this is done through a virtual connection between sender and receiver. At the time the connection is established, the sender and receiver exchange various kinds of identification, which may include the various parameters of the con- versation. It must also provide a means whereby the conversation can be disconnected and, more important, reconnected in the event of error. All these techniques are needed so that the link control procedure can operate in case of errors or failure in the link itse