All of these frame formats begin with at least two SYNC bytes. The binary form of the SYNC byte has the property that no rotation of the byte is equal to the original. This allows the receiver to find the beginning of a frame by searching the received bit stream for the SYNC pattern. When this is found, tentative byte synchronization has been achieved. If the next character is also a SYNC, character synchronization has been achieved. The receiver then searches for a character which can start a frame. Characters outside of this set are described as "leading graphics". They are sometimes used to identify the sender of a frame.
The beginning of a data frame is signalled by the special character SYN (synchronization). The body of the frame is wrapped between two special sentinel characters: STX (start of text) and ETX (End of text).
Normal data frames do not allow certain characters to appear in the data. These are the block ending characters: ETB, ETX and ENQ and the ITB and SYNC characters. A long data frame should contain an inserted SYNC byte every two seconds to indicate that character synchronization is still present. The receiver deletes this character. A normal block ending character (ETB or ETX) is followed by some kind of checksum. For Transcode and EBCDIC this is a two character cyclic redundancy check; for USASCII is a one character longitudinal redundancy check. A data frame may contain an intermediate checksum preceded by an ITB character. This ability to include intermediate checksums in a long data frame allowed a considerable improvement of the error detection probability.
Transparent data frames allowed all 256 EBCDIC characters to be transmitted. Block framing characters such as ETB, ETX, and SYNC were preceded by a DLE character to indicate their control significance. This technique became known as character stuffing, by analogy with bit stuffing.
Error protection for ACK0 and ACK1 is weak. The Hamming distance between the two messages is only two bits.
Error recovery is by retransmission of the corrupted frame. Since bisync data packets aren't serial-numbered, it's considered possible for a data frame to go missing without the receiver realizing it. Therefore, alternating ACK0s and ACK1s are deployed; if the transmitter receives the wrong ACK, it can assume a data packet (or an ACK) went missing. A potential flaw is that corruption of ACK0 into ACK1 could result in duplication of a data frame.
The protocol is half-duplex (2-wire). In this environment, packets or frames of transmission are strictly unidirectional, necessitating 'turn-around' for even the simplest purposes, such as acknowledgments. Turn-around involves
In a 2-wire environment, this causes a noticeable round-trip delay and reduces performance.
Some datasets support full-duplex operation, and full-duplex (4-wire) can be used in many circumstances to improve performance by eliminating the turn-around time, at the added expense of 4-wire installation and support. In typical full-duplex , data packets are transmitted along one wire pair while the acknowledgements are returned along the other.
Multi-drop was part of the initial bisync protocol. A master station (control unit) would poll several terminals which are attached via analog bridges to the same communication line. The selected station could then transmit a message to the master. The master could address a message to a specific station. Leading graphics mentioned above were used for station selection.
IBM offered assembler language macros to provide programming support. During the S/360 era, these primitive methods were BTAM (basic teleprocessing access method) and QTAM (queued teleprocessing access method). IBM introduced VTAM (virtual teleprocessing access method) with the S/370 and, subsequently, CICS environment in support of the remote 3270. The 3270s were further supported by Remote DUCS (display unit control system) and WestiTAM (Westinghouse telecommunications access method) application platorms (both written by the same architect). CICS went on to fold in SDLC under the SNA umbrella.