Most character-orientated protocols operate in half-duplex, stop-and-wait, mode. Large computer manufacturers frequently have their own versions which differ slightly. However, probably the best known is that developed by IBM and known as binary synchronous control, often shortened to BSC. As it is the basis of the ISO character-oriented protocol known as basic mode BSC will be used as an example.
In order to perform the various functions associated with link management, control frames are required in addition to normal data carrying frames (blocks). Also, with character-oriented synchronous transmission the receiver must be able to achieve both character (byte) and frame synchronisation. With BSC, these functions are carried out using selected EBCDIC (or ASCII with basic mode) transmission control characters. A complete list of these characters, together with their functions is given below:
Every message transmitted contains at least one of these control characters. The different types of information frame -known as data blocks in BSC - are shown below:
Since BSC use character-oriented synchronous transmission all data blocks transmitted are preceded by at least two SYN characters to allow the receiver to achieve character synchronisation.
A heading contains information relating to the text, for example, on message numbering, routing and so on. A heading is always followed by a text and is framed by SOH and STX characters.
An information message contains TEXT, which may or may not be preceded by a heading. The text contains the information to be transmitted from sender to receiver. It is framed by STX and ETX characters, if only one data block is transmitted. Short user messages (less than the defined maximum length) are transmitted in a single data block while longer messages are send in multiple blocks. Longer messages are transmitted as a sequence of shorter data blocks of a fixed size, each terminated with an ETB control character. The last data block of such a sequence terminates with an ETX control character.
A Block Check Character (error detection) is generally placed immediately after the ETB or ETX character, although a variation on the protocol allows the use of CRC checksum instead.
Control characters at the end of a message require a response - ETB or ETX require the receiver to notify the sender that a message has been correctly received. If this is indeed the case, the receiver responds with an ACK, otherwise it sends a NAK.
The ENQ control character is used to request a response from a remote device, for example, a request that the device identify itself or indicate its status.
Character-oriented protocols suffer from a number of disadvantages: