Synchronous Data Link Control (SDLC)
What is Synchronous Data Link Control (SDLC)?
Synchronous Data Link Control (SDLC) is a transmission protocol used to synchronously transfer code-transparent, serial-by-bit data over a communications channel.
This data link layer protocol is Layer 2 of the Open Systems Interconnection (OSI) network communication model. It ensures that data arrives successfully from one network point to the next and flows at the right pace.
Developed by IBM in the 1970s, SDLC is a more efficient replacement for the older Binary Synchronous Communications protocol, first introduced in 1964. It also replaced other inefficient, character-oriented synchronous protocols, like Digital Data Communications Message Protocol.
SDLC is the Layer 2 protocol for IBM's Systems Network Architecture (SNA). It is commonly used in IBM terminal-to-computer communications and in wide area networks, where leased lines are used to connect mainframe SNA hosts and remote terminals.
SDLC uses commands to control data transfer over a communications line. Transmission exchanges can be full-duplex or half-duplex over switched or nonswitched lines. SDLC can be used in remote and local sites.
How does Synchronous Data Link Control work?
In SDLC, data is sent as a synchronous bit stream. This stream is divided into frames. Each frame contains addressing and control information, as well as the data payload.
SDLC uses a primary/secondary architecture. In the primary station/secondary station model of communication, one station is designated as primary, while the remaining stations are secondary.
The primary station role is to do the following:
- establish control and tear down SDLC connections;
- manage connections; and
- poll secondary stations in a specific order to determine whether they want to transmit data.
Each secondary station has its own address. Data is processed only through the primary node. The secondary nodes send data received by the primary node.
In IBM's SNA, all the functions can be defined and slotted into layers, where each layer has its own functionality. Using SDLC, data is transferred error-free from the data link control layer to the network addressable units.
SDLC simplifies the data control process into a basic pattern. Data moves from the higher layers to the lower layers and eventually reaches the communication port. SDLC is the primary protocol and is vital in the entire layering and data transfer process.
What are key features of SDLC?
SDLC operates independently on each communications link. It can also mix full-duplex primary stations and half-duplex secondary stations on four-wire circuits to help lower the cost of dedicated facilities.
Other features also contribute to the SDLC framework and functionality, including the following:
- Flag. Used to initiate and terminate errors.
- Address. Information about group address, specific address and broadcast address helps identify if the frames are being received from the primary or the secondary nodes.
- Information frame. To control the sequence in which frames are sent and process them accordingly.
- Supervisory frame. To acknowledge and send receipts when an information frame is received.
- Unnumbered frame. To initialize secondary frames.
What are some SDLC connection configurations?
SDLC supports numerous connection configurations, topologies and data links:
- Point-to-point. There are only two nodes: primary and secondary.
- Multipoint. This includes one primary node and multiple secondary nodes.
- Loop. The first node (primary) is connected to the secondary nodes and has two nodes on either side.
Ring topologies are also possible in SDLC. Here, a primary node controls a ring of secondary nodes and is itself part of this ring.
What is HDLC? How is it different from SDLC?
High-level Data Link Control (HDLC) is a modified version of SDLC. It was updated by the International Organization for Standardization in the late 1970s. HDLC refers to a set of communications protocols used to transmit data between nodes. The protocols are bit-oriented and applicable to both multipoint and point-to-point communications.
Like SDLC, HDLC protocols are also data link layer protocols for synchronous communications. Data fields in both are framed by control information at the beginning and end. They also contain additional addressing information, making them suitable for use with communication networks.
However, HDLC differs from SDLC in several ways. It contains more control information than SDLC, and it adds error correction and flow control capabilities to SDLC, as well as two additional modes:
- Asynchronous Response Mode. Secondary nodes may initiate communication with the primary node.
- Asynchronous Balanced Mode. Any node may act as a primary or secondary node and initiate transmissions without receiving permission.
HDLC also offers additional features:
- Enables frames that are not a multiple of 8 bits.
- Enables addresses more than 1 byte
- Includes option for a 32-bit frame check sequence.
- Multiple frame types:
- Selective Reject S frame
- Reset command
- Nonreserved -- NR0 through NR3 -- U frames
While SDLC and Normal Response Mode are efficient protocols for closed private networks with dedicated lines, other modes of HDLC serve X.25 and frame relay protocols that manage packets on shared-line switched networks, like those used by the internet.
There are other protocols derived from SDLC:
- Link Access Procedure, Balanced. It is part of the X.25 protocol stack.
- Logical Link Control or Institute of Electrical and Electronics Engineers 802.2. This is a popular data link protocol for local area networks.
- Advanced Data Communications Control Procedures (ADCCP). SDLC was also modified by the American National Standards Institute and renamed ADCCP.
SDLC is still a commonly encountered and prevalent data link protocol in today's mainframe environment.