Difference Between HDLC and SDLC


HDLC and SDLC are communication protocols. SDLC (Synchronous Data Link Control) is a communication protocol used at the data link layer of computer networks, developed by IBM. HDLC (High-Level Data Link Control) is again a data link protocol, developed by ISO (International Organization for Standardization), and was created out of SDLC.

SDLC was developed by IBM in 1975 to be used in Systems Network Architecture (SNA) environments. It was synchronous and bit-oriented and was one of the first of its kind. It surpassed the synchronous, character-oriented (i.e. Bisync from IBM) and synchronous byte-count-oriented protocols (i.e. DDCMP from DEC) in efficiency, flexibility and speed. Various link types and technologies such as point-to-point and multipoint links, bounded and unbounded media, half-duplex and full-duplex transmission facilities and circuit-switched and packet-switched networks are supported. SDLC identifies “primary” node type, which controls others stations, which are called “secondly” nodes. So the secondary nodes will be controlled only by a primary. Primary will communicate with secondary nodes using polling. Secondary nodes cannot transmit without the permission of the primary. Four basic configurations, namely, Point-to-point, Multipoint, Loop and Hub go-ahead can be used to connect primary with secondary nodes. Point-to-point involves only one primary and secondary while Multipoint means one primary and many secondary nodes. Loop topology is involved with Loop, which is essentially connecting primary to the first secondary and last secondary again connected to primary so that intermediate secondaries pass messages through one another as they respond to the requests of the primary. Finally, Hub go-ahead involves an inbound and outbound channel for the communication to secondary nodes.

HDLC came in to existence only when IBM submitted SDLC to various standards committees and one of them (ISO) modified SDLC and created HDLC protocol. It is again a bit-oriented synchronous protocol. Despite the fact that several features used in SDLC are omitted, HDLC is regarded as a compatible superset of SDLC. SDLC Frame format is shared by HDLC. Fields of HDLC has the same functionality of those in SDLC. HDLC too, supports synchronous, full-duplex operation as SDLC. HDLC has an option for 32-bit checksum and HDLC does not support the Loop or Hub go-ahead configurations, which are clear minor differences from SDLC. But, the main difference comes from the fact that HDLC supports three transfer modes as opposed to one in SDLC. First one is the Normal response mode (NRM) in which secondary nodes cannot communicate with a primary until the primary has given permission. This is actually the transfer mode used in SDLC. Secondly, the Asynchronous response mode (ARM) allows secondary nodes to talk without primary’s permission. Finally it has Asynchronous balanced mode (ABM) which introduces a combined node, and all ABM communication happens between these kinds of nodes only.

In summary, SDLC and HDLC are both data link layer network protocols. SDLC was developed by IBM while HDLC was defined by ISO using SDLC as the basis. HDLC has more functionality, although, some features of SDLC are not present in HDLC. SDLC can be used with four configurations while HDLC can be used with only two. HDLC has an option for 32-bit checksum. Major difference between these two is the transfer modes that they have. SDLC has only one transfer mode, which is NRM but, HDLC has three modes including NRM.