Synchronous Data Link Control (Networking)

Synchronous Data Link Control (SDLC) was introduced by IBM in 1973 and is the preferred link level protocol for its Systems Network Architecture (SNA) networks. It was intended to replace the older Binary Synchronous Communication (BSC) protocol developed in 1965 for wide-area connections between IBM equipment. It is equivalent to the High-Level Data Link Control (HDLC) developed by the International Organization for Standardization (ISO) and adapted by many non-IBM vendors.

Like HDLC, SDLC ensures that data passed up to the next layer has been received as transmitted—error free, without loss, and in the correct order. However, SDLC is not a peer-to-peer protocol like HDLC and it is used only on leased lines where the connections are permanent. In a point-to-point configuration, there is one primary station that controls all communications, and one secondary station. In a point-to-multipoint configuration, there is one primary station, but multiple secondary stations arranged as drops along the line.

The primary station can be a mainframe or mid-range central computer, or a communications controller that acts as a concentrator for a number of local terminals. It operates in full-duplex mode, while the secondary stations operate in half-duplex mode. The primary station is aware of the transmission status of the secondary stations at all times. The drops can be in different locations. A mainframe in New York, for example, may support a multidrop line with controllers connected to drops in offices in Atlanta, Chicago, Dallas, and Los Angeles.

SDLC uses the same frame format as HDLC (Figure 111). The variable-length frame is bounded by two 8-bit flags, each containing the binary value of 01111110. The 8-bit address field of each SDLC frame always identifies the secondary station on the line. When the primary station invites a secondary station to send data (i.e., polling), it identifies the station being polled. Each secondary station sees all transmissions from the primary, but only responds to frames with its own address. In a point-to-multipoint configuration, up to 254 secondary station addresses are possible, with one additional used for testing and another for broadcasting information from the primary station to all secondary stations. The SDLC frame’s 8-bit control field is used to indicate whether the frame contains application-specific data, supervisory data, or command data.

Figure 111

An SDLC frame with flag delimiters at each end.

An SDLC frame with flag delimiters at each end.

The variable-length information field contains application-specific data, in other words the user’s data. The content of this field is always in multiples of 8 bits. This field is optional, however, since control fields containing unnumbered commands do not transmit application data in the frames.

The 16-bit frame check sequence (FCS) field is used to verify the accuracy of the data. As in HDLC, the FCS is the result of a mathematical computation performed on the frame at its source. The same computation is performed at the receive side of the link. If the answer does not agree with the value on the FCS field, this means some bits in the frame have been altered in transmission, in which case the frame is discarded. A window of up to seven frames can be sent from either side before acknowledgement 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.

Last Word

SDLC is a full-duplex protocol, which enables the primary and secondary stations to send data to each other at the same time. Since SDLC is a bit-oriented protocol, it is insensitive to code, which may be industry-standard ASCII or IBM’s EBCDIC. SDLC is much more efficient than the older BSC. With the former, the acknowledgment for the data is usually sent with the data itself, while in the latter, the acknowledgment is a separate transmission

Next post:

Previous post: