SDLC
(HDLC normal Response Mode)
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 best
known implementation of SDLC is IBM's SNA networks. Information on our support of
SNA is available here.
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: (
Asynchronous and Synchronous 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 X.25 or Frame Relay,
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. So 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. Acknowledgement 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 acknowledgement. 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.
Information in this document
is provided by Sangoma Technologies.
|