BSC Link Control Characters
| | | |
|
BSC Link Control Characters
|
Char | EBCDIC (hex) | USASCII (hex) | Transcode (hex) | Description
|
SYN | 32 | 16 | 3A | Synchronous idle
|
SOH | 01 | 01 | 00 | Start of heading
|
STX | 02 | 02 | 0A | Start of text
|
ETB | 26 | 17 | 0F | End of transmission block
|
ETX | 03 | 03 | 2E | End of text
|
EOT | 37 | 04 | 1E | End of transmission
|
ENQ | 2D | 05 | 2D | Enquiry
|
ACK | | 06 | | Positive acknowledgement
|
NAK | 3D | 15 | 3D | Negative acknowledgement
|
DLE | 10 | 10 | 1F | Data link escape
|
ITB | 1F | 1F (US) | 1D (US) | Intermediate block check character
|
ACK0 and ACK1 (even/odd affirmative acknowledgement)
Are encoded as two characters—DLE '70'x, and DLE / for EBCDIC, DLE 0 and
DLE 1 for USASCII, DLE - and DLE T for Transcode. WABT (wait before
transmit) was encoded as DLE ", DLE ?, or DLE W.
All frame formats begin with at least two SYN bytes. The binary form of the
SYN 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 SYN pattern. When this is found,
tentative byte synchronization has been achieved. If the next character is
also a SYN, character synchronization has been achieved. The receiver then
searches for a character that 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. Long messages have SYN bytes inserted approximately
every second to maintain synchronization. These are ignored by the
receiver.
A normal block ending character (ETB or ETX) is followed by a check sum
(block check character or BCC). For USASCII, this is a one character
longitudinal redundancy check (LRC); for Transcode and EBCDIC, the check sum
is a two character cyclic redundancy check(CRC). A data frame may contain an
intermediate check sum preceded by an ITB character. This ability to include
intermediate check sums in a long data frame allows a considerable
improvement of the error detection probability. USASCII characters are also
transmitted using odd parity for additional checking.
Pad characters are required following a line turn-around—NAK, EOT, ENQ,
ACK0, ACK1. If the transmission ends with EOT or ETX the pad follows the
BCC. This pad is either all '1' bits or alternating '0' and '1' bits. The
next transmission begins with a pad character which can be either of the
above or a SYN.
An optional heading containing control information can precede data in a
frame. The content of the heading is not defined by the protocol but is
defined for each specific device. The heading, if present, is preceded by an
SOH (start of heading) character and followed by an STX (start of text).[4]
Text data normally follows the heading, begun by the STX, and terminated by
ETX (end of text) or ETB (end transmission block).
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 SYN
characters. The number of unique characters that can be transmitted is
therefore limited to 59 for Transcode, 123 for USASCII, or 251 for EBCDIC.
Transparent data framing provides an unrestricted alphabet of 64, 128 or 256
characters. In transparent mode block framing characters such as ETB, ETX,
and SYN are preceded by a DLE character to indicate their control
significance (The DLE character itself is represented by the sequence DLE
DLE). This technique became known as character stuffing, by analogy with bit
stuffing.
Link control
The link control protocol is similar to STR. The designers attempted to
protect against simple transmission errors. The protocol requires that every
message be acknowledged (ACK0/ACK1) or negatively acknowledged (NAK), so
transmission of small packets has high transmission overhead. The protocol
can recover from a corrupted data frame, a lost data frame, and a lost
acknowledgment.
Error recovery
is by retransmission of the corrupted frame. Since Bisync
data packets are not 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.
Error protection
for ACK0 and ACK1 is weak. The Hamming distance between the
two messages is only two bits.
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
the reversal of transmission direction,
quiescing of line echo,
resyncing.
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.
Topology
Point-to-Point
Much Bisync traffic is point-to-point. Point-to-point lines can optionally
use contention to determine the master station. In this case one device can
transmit ENQ to bid for control. The other device can reply ACK0 to accept
the bid and prepare to receive, or NAK or WABT to refuse. In some cases
connection of a terminal to multiple hosts is possible via the dial
telephone network.
Multi-drop
is part of the initial Bisync protocol. A master station,
normally a computer, can sequentially poll terminals which are attached via
analog bridges to the same communication line. This is accomplished by
sending a message consisting only of an ENQ character addressed to each
device in turn. The selected station then transmits a message to the master
or reply with EOT to indicate that it has no data to transmit.
Bisync applications
The original purpose of Bisync was for batch communications between a
System/360 mainframe and another mainframe or a Remote Job Entry (RJE)
terminal such as the IBM 2780 or IBM 3780. The RJE terminals support a
limited number of data formats: punched card images in and out and print
line images to the terminal. Some non-IBM hardware vendors such as Mohawk
Data Sciences used Bisync for other purposes such as tape-to-tape
transmission. A programmer can easily emulate an RJE terminal or other
device.
IBM offered assembler language macros to provide programming support. During
the System/360 era, these access methods were BTAM (Basic Telecommunications
Access Method) and QTAM (Queued Telecommunications Access Method) – which
was later replaced by Telecommunications Access Method (TCAM). IBM
introduced VTAM (Virtual Telecommunications Access Method) with the
System/370.
Teleprocessing monitors such as IBM's CICS and third-party software such as
Remote DUCS (display unit control system) and Westi platforms used Bisync
line control to communicate with remote devices.
The academic computing network Bitnet, together with connecting networks in
other geographic areas, used Bisync to connect 3000 computer systems at its
peak.
Financial network S.W.I.F.T. used BSC protocol for communication between
Regional Center and Institution (bank) server over leased line. In a mid
-1990 BSC was replaced to the X.25 infrastructure.
Pseudo-Bisync applications
Some important systems use Bisync data framing with a different link control
protocol. Houston Automatic Spooling Priority (HASP) uses Bisync half-duplex
hardware in conjunction with its own link control protocol to provide full
-duplex multi-datastream communication between a small computer and a
mainframe running HASP. In Bisync terms, this is conversational mode.
Some early X.25 networks tolerated a connection scheme where transparent
Bisync data frames encapsulated HDLC LAPB data and control packets. As of
2012, several vendors encapsulate Bisync transmissions within TCP/IP data
streams.
Disposition
Bisync began to be displaced in the 1970s by Systems Network Architecture
(SNA) which allows construction of a network with multiple hosts and
multiple programs using telecommunications. X.25 and the Internet Protocol
are later protocols which, like SNA, provide more than mere link control.