SDLC was invented by IBM to replace the older Bisynchronous protocol for wide area connections between IBM equipment. A variation of the ISO HDLC protocol called HDLC Normal Response Mode (NRM) is essentially the same as SDLC.
SDLC is not a peer to peer protocol like HDLC, Frame Relay or X.25. An SDLC network is made up of a primary station that controls all communications, and one or more secondary stations. Where multiple secondaries are connected to a single primary, this is known as a multipoint or multidrop network.
The primary is usually a mainframe or midrange central computer, and the secondaries are either terminals, or controllers which act as concentrators for numbers of local terminals. The different drops can be arranged by the transmission line supplier to be in different locations. Thus, for instance, a mainframe in Los Angeles may support a multidrop line with controllers connected to drops in offices in Boston, New York and Washington.
SDLC uses the same frame format as described in our section Synchronous and Asynchronous Line Communications. The address field of each HDLC frame is used to distinguish conversations between the primary and each of the secondaries, with each secondary having a different address. Each secondary sees all transmissions from the primary but only responds to frames with its own address.
Note that unlike Frame Relay or X.25, this network is based on dedicated leased lines with permanent physical connections.
SDLC is capable of full duplex operation, but almost all practical applications are strictly half duplex. This means that either the primary or one of the secondaries can be transmitting at any one time, but never both.
The secret of managing a multipoint line is that only one secondary can be transmitting at any time. If two or more secondaries transmit at the same time, they interfere, and the data from both stations is lost. Because of this, secondary transmissions are controlled by the primary: a secondary can only transmit when told to, and can only transmit a limited number of frames before passing control back to the primary.
The secondary stations have modems or DSUs that are capable of switching carrier on and off. Carrier is controlled by the Request to Send (RTS) signal to the modem. When the secondary is told to transmit by the primary, it raises RTS. The modem turns on carrier. There may be a short delay of a few milliseconds for carrier to stabilize, and then the modem raises Clear To Send (CTS). The secondary then transmits. When the transmission is complete, the secondary drops RTS, and the modem drops CTS and carrier together. Now the next secondary can transmit.
SDLC supports two types of line encoding. Standard line encoding (or non-NRZi encoding) is where a logical 1 is represented by one voltage level and a logical zero by another voltage level. Non-Return to Zero Inverted (NRZi) encoding is where a logical one is represented by the voltage remaining the same as it was for the previous bit time, and a logical zero is represented by a voltage change. The difference between non-NRZi and NRZi encoding is shown below.
The advantage of NRZi encoding is that there are guaranteed to be enough transitions to synchronize the transmitter and receiver clocks under all circumstances. This works as follows:
In HDLC framing “bit stuffing” is used to introduce extra zeros in any sequence of more than 5 ones. This is done so that flag sequences of 01111110 can never accidentally appear in the data stream. NRZi encoding ensures a transition for every zero. The result is that in a SDLC NRZi data stream one is guaranteed a transition every 5 bit times at a minimum, and it is on each transition that the clock readjusts its synchronization. So NRZi encoded data does not, in principle, need to have separate clock lines, as the clocking can be reliably recovered from the data stream.
SDLC, like HDLC ABM, provides link integrity. All frames terminate with Cyclic Redundancy Check (CRC) bytes which are used to detect any data errors. Frames received correctly are acknowledged by the receiver while erroneous frames are ignored. A window of up to 7 frames can be sent from either side before acknowledgment is required. Acknowledgment of received frames is encoded in the control field of data frames, so that if data is flowing in both directions, no additional frames are needed for frame acknowledgment. Like HDLC LAPB, SDLC provides not only error free communication through error detection and recovery, but also provides automatic flow control.
Error recovery in SDLC works such that one line error can cause many frames to be retransmitted, thus a noisy line manifests itself as low throughput and long response times.
SDLC is quite efficient for a half duplex protocol. It is an integral part of IBM’s System Network Architecture (SNA) and has been strategic for wide area networking since 1976. Because it is half duplex, it can often run at much higher line speeds on a given hardware platform than it could if running a full duplex protocol like HDLC LAPB.