Synchronous Data Link Control
| Industry | Information technology |
|---|---|
| Founded | June 16, 1911 |
| Founder | Charles Ranlett Flint |
| Headquarters | Armonk, New York , United States |
Synchronous Data Link Control (SDLC) is a serial communication protocol developed by IBM in 1974 as an integral component of its Systems Network Architecture (SNA). Positioned at the data link layer (layer 2) within the SNA protocol hierarchy, SDLC facilitates multipoint connections and incorporates error correction, provided it is followed by an SNA header. While predominantly deployed in IBM mainframe and midrange environments, SDLC implementations are also found across multiple platforms and vendors. In North America, it is applied in traffic management systems.
SDLC operates independently on each communication link and accommodates point-to-point, multipoint, or loop topologies over either switched or dedicated two- or four-wire circuits, supporting both full- and half-duplex transmission modes. A distinctive capability of SDLC is its allowance for combining half-duplex secondary stations with full-duplex primary stations on four-wire lines, which helps lower the expense of dedicated infrastructure.
The International Organization for Standardization adopted SDLC as High-Level Data Link Control (HDLC) in 1979, while ANSI endorsed it under the name Advanced Data Communication Control Procedures (ADCCP). These standards expanded upon SDLC’s original features—introducing enhancements such as Asynchronous Balanced Mode and adjustable frame lengths—while eliminating some earlier elements like the TEST command.
Intel utilized SDLC as the basis for BITBUS, a fieldbus network widely used in Europe, embedding support within controllers such as the i8044/i8344 and i80152; notably, the 8044 remains in production through third-party manufacturers. Other communication controller chip producers during the 1980s, including Zilog, Motorola, and National Semiconductor, integrated SDLC/HDLC capabilities, contributing to its widespread adoption within mainframe-oriented enterprise networks. Alternative protocols to SNA employing SDLC included DECnet with DDCMP, Burroughs Network Architecture with BDLC, and ARPANET utilizing Interface Message Processors.
Differences between SDLC and HDLC
HDLC represents an evolution of SDLC, incorporating modifications such as feature removals and renamings.
HDLC features absent from SDLC
HDLC introduces functionalities not available in SDLC, including:
- Frames that are not confined to multiples of 8 bits.
- Optional addressing using multiple bytes.
- A selectable 32-bit frame check sequence.
- Asynchronous response mode (SARM, SARME U frames).
- Asynchronous balanced mode (SABM, SABME U frames).
- Additional frame types like selective reject (SREJ), reset (RSET), and nonreserved (NR0–NR3) U frames.
Subsequent HDLC revisions (ISO/IEC 13239) also provide:
- Sequence numbers of 15 and 31 bits,
- Set mode (SM) U frames,
- An 8-bit frame check sequence,
- A frame format field preceding the address,
- An information field within mode set U frames,
- "Unnumbered information with header check" (UIH) U frames.
Terminology differences
Certain frame names were altered in HDLC and later adopted back into SDLC:
| Original term | Updated designation |
|---|---|
| NSA (Nonsequenced acknowledge) | UA (Unnumbered acknowledge) |
| NSI (Nonsequenced information) | UI (Unnumbered information) |
| NSP (Nonsequenced poll) | UP (Unnumbered poll) |
| ROL (Request online) | DM (Disconnected mode) |
| CMDR (Command reject) | FRMR (Frame reject) |
| RQI (Request initialization mode) | RIM (Request initialization mode) |
| RQD (Request disconnect) | RD (Request disconnect) |
HDLC enhancements integrated into SDLC
Certain capabilities from HDLC, such as extended modulo-128 sequence numbering and the SNRME U frame, were adopted in subsequent iterations of SDLC.
SDLC-exclusive features not present in HDLC
There are two U frames unique to SDLC that do not appear in HDLC:
- BCN (Beacon): Allows secondary stations to indicate communication interruptions by sending beacon responses, particularly beneficial in loop configurations.
- CFGR (Configure for test): Commands containing payloads designed to initiate diagnostic procedures on secondary devices, including beacon testing, monitor mode, wrap mode, self-testing, and modified link testing.
Additionally, several U frames originally intended for SDLC compatibility exist but are infrequently utilized or only vaguely defined within HDLC:
- Initialization mode frames such as RIM and SIM.
- Unnumbered poll (UP), which has largely been superseded by asynchronous response mode in HDLC. UP enables multiple secondaries to respond simultaneously without individual polling when collision prevention mechanisms are in place.
The TEST U frame was introduced in later HDLC versions but was not part of the initial standard.
Loop mode
Loop mode, a feature supported by hardware like the Zilog SCC yet omitted from HDLC, links a primary station with multiple secondaries in a unidirectional ring network. In this setup, each secondary station forwards incoming frames to the subsequent node, allowing frames to continuously circulate back to the primary. Apart from forwarding frames, secondaries operate in half-duplex mode and only transmit when assured that no incoming data is present.
If a secondary device is powered down, a relay mechanism bypasses it by directly connecting input to output. Upon powering back on, the device reinserts itself into the loop with a one-bit delay and similarly exits gracefully during shutdown.
Frames are transmitted in groups terminated by an all-ones idle pattern; the initial seven consecutive 1-bits (01111111) serve as a "go-ahead" signal granting permission to transmit. When a secondary station begins transmission, it alters the last 1-bit to 0, creating a flag character, then sends its data frames followed by an all-ones idle sequence that signals the next station's turn.
The primary station initiates command transmissions while secondaries append their responses. Once the primary detects the go-ahead idle pattern again, it resumes sending commands.
The beacon (BCN) response plays a crucial role in fault detection: if a secondary notices absence of traffic, it transmits beacon frames indicating a disruption between itself and its preceding node.
To differentiate commands from responses—given that the primary receives its own commands echoed back—a specialized "turnaround" frame concludes command sequences. This frame is typically an all-zero byte ("runt frame" with address 0), a distinctive pattern that prevents confusion among secondaries. Full-duplex secondaries also interpret this as a "shut-off sequence," terminating their transmission accordingly.
External links
- IBM Synchronous Data Link Control: General Information (3rd edition, March 1979) by IBM Communication Products Division
- Cisco overview of Synchronous Data Link Control and Derivatives
- Bitbus/fieldbus community site