Binary Synchronous Communication (BSC or Bisync) is an IBM character-oriented, half-duplex link protocol, announced in 1967 after the introduction of System/360. It replaced the synchronous transmit-receive (STR) protocol used with second generation computers. The intent was that common link management rules could be used with three different character encodings for messages. Six-bit Transcode looked backwards to older systems; USASCII with 128 characters and EBCDIC with 256 characters looked forward. Transcode disappeared very quickly but the EBCDIC and USASCII dialects of Bisync continued in use.
At one time Bisync was the most widely used communications protocol [1] and is still in limited use in 2013. [2] [3]
Bisync differs from protocols that succeeded it in the complexity of message framing. Later protocols use a single framing scheme for all messages sent by the protocol. HDLC, Digital Data Communications Message Protocol (DDCMP), Point-to-Point Protocol (PPP), etc. each have different framing schemes but only one frame format exists within a specific protocol. Bisync has five different framing formats.[ citation needed ]
Char | EBCDIC (hexadecimal) | USASCII (hexadecimal) | Transcode (hexadecimal) | 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 |
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.
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
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.
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.
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.
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 [update] , several vendors encapsulate Bisync transmissions within TCP/IP data streams.
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.
A large number of devices use the Bisync protocol, some of these are:
In computing and telecommunication, a control character or non-printing character (NPC) is a code point in a character set, that does not represent a written symbol. They are used as in-band signaling to cause effects other than the addition of a symbol to the text. All other characters are mainly printing, printable, or graphic characters, except perhaps for the "space" character.
The Transmission Control Protocol (TCP) is one of the main protocols of the Internet protocol suite. It originated in the initial network implementation in which it complemented the Internet Protocol (IP). Therefore, the entire suite is commonly referred to as TCP/IP. TCP provides reliable, ordered, and error-checked delivery of a stream of octets (bytes) between applications running on hosts communicating via an IP network. Major internet applications such as the World Wide Web, email, remote administration, and file transfer rely on TCP, which is part of the Transport Layer of the TCP/IP suite. SSL/TLS often runs on top of TCP.
In telecommunication, the term transmission block has the following meanings:
High-Level Data Link Control (HDLC) is a bit-oriented code-transparent synchronous data link layer protocol developed by the International Organization for Standardization (ISO). The standard for HDLC is ISO/IEC 13239:2002.
The data link layer, or layer 2, is the second layer of the seven-layer OSI model of computer networking. This layer is the protocol layer that transfers data between nodes on a network segment across the physical layer. The data link layer provides the functional and procedural means to transfer data between network entities and may also provide the means to detect and possibly correct errors that can occur in the physical layer.
XMODEM is a simple file transfer protocol developed as a quick hack by Ward Christensen for use in his 1977 MODEM.ASM terminal program. It allowed users to transmit files between their computers when both sides used MODEM. Keith Petersen made a minor update to always turn on "quiet mode", and called the result XMODEM.
In data communications, flow control is the process of managing the rate of data transmission between two nodes to prevent a fast sender from overwhelming a slow receiver. It provides a mechanism for the receiver to control the transmission speed, so that the receiving node is not overwhelmed with data from transmitting node. Flow control should be distinguished from congestion control, which is used for controlling the flow of data when congestion has actually occurred. Flow control mechanisms can be classified by whether or not the receiving node sends feedback to the sending node.
The C0 and C1 control code or control character sets define control codes for use in text by computer systems that use ASCII and derivatives of ASCII. The codes represent additional information about the text, such as the position of a cursor, an instruction to start a new line, or a message that the text has been received.
The B protocol, or CIS B, is a file transfer protocol developed for the CompuServe Information Service, and implemented in 1981. The protocol was later expanded in the QuickB version and later the enhanced B Plus version. It was a fairly advanced protocol for its era, supporting efficient transfers of files, commands and other data as well, and could be used in both directions at the same time in certain modes. These advanced features were not widely used, but could be found in a small number of client-side packages.
In computing, Control-V is a key stroke with a variety of uses including generation of a control character in ASCII code, also known as the synchronous idle (SYN) character. The key stroke is generated by pressing the V key while holding down the Ctrl key on a computer keyboard. For MacOS based systems, which lack a Ctrl key, the common replacement of the ⌘ Cmd key works.
Synchronous Idle (SYN) is the ASCII control character 22 (0x16), represented as ^V in caret notation. In EBCDIC the corresponding character is 50 (0x32). Synchronous Idle is used in synchronous serial communication systems such as Teletype machines or the Binary Synchronous (Bisync) protocol to provide a signal from which synchronous correction may be achieved between data terminal equipment.
In computer networks, a syncword, sync character, sync sequence or preamble is used to synchronize a data transmission by indicating the end of header information and the start of data. The syncword is a known sequence of data used to identify the start of a frame, and is also called reference signal or midamble in wireless communications.
Basic Telecommunications Access Method (BTAM) is a low-level programming interface specified by IBM for use on the IBM System/360 for start-stop and binary synchronous telecommunications terminals. Later, IBM specified higher-level interfaces QTAM and TCAM.
The IBM 2780 and the IBM 3780 are devices developed by IBM to perform remote job entry (RJE) functions; they communicate with the mainframe via Binary Synchronous Communications and replaced older terminals using Synchronous transmit-receive (STR). In addition, IBM has developed workstation programs for the 1130, 360/20, 2922, System/360 other than 360/20, System/370 and System/3.
ISO 1745:1975 Information processing – Basic mode control procedures for data communication systems is an early ISO standard defining a Telex-oriented communications protocol that used the non-printable ASCII transmission control characters SOH, STX, ETX, EOT, ENQ (Enquiry), ACK (Acknowledge), DLE, NAK, SYN, and ETB.
In data networking, telecommunications, and computer buses, an acknowledgment (ACK) is a signal that is passed between communicating processes, computers, or devices to signify acknowledgment, or receipt of message, as part of a communications protocol. The negative-acknowledgment is a signal that is sent to reject a previously received message or to indicate some kind of error. Acknowledgments and negative acknowledgments inform a sender of the receiver's state so that it can adjust its own state accordingly.
Six-Bit Transcode, or Six-Bit Transmission Code, was, for a few years, one of the three character sets used by IBM for Binary Synchronous Communications. Transmission using 6-bit Transcode had higher throughput than transmission using 8-bit EBCDIC or ASCII, provided that the data to be transmitted used a limited set of 48 characters.
270x is a generic name for a family of IBM non-programmable communications controllers used with System/360 and System/370 computers.
Synchronous transmit-receive (STR) was an early IBM character-oriented communications protocol which preceded Bisync. STR was point-to-point only, and employed a four-of-eight transmission code, communicating at up to 5100 characters per second over half-duplex or full-duplex communication lines.
Synchronous serial communication describes a serial communication protocol in which "data is sent in a continuous stream at constant rate."