The HDLC protocol is a general purpose protocol which operates at the data link layer of the OSI reference model. The protocol uses the services of a physical layer, and provides either a best effort or reliable communications path between the transmitter and receiver (i.e. with acknowledged data transfer). The type of service provided depends upon the HDLC mode which is used.
Basic Overview of HDLC
High-level Data Link Control (HDLC) is a bit-oriented protocol for communication over point-to-point and multipoint links. HDLC is a synchronous Data Link layer bit-oriented protocol developed by the International Organization for Standardization (ISO). The current standard for HDLC is ISO 13239. HDLC was developed from the Synchronous Data Link Control (SDLC) standard proposed in the 1970s. HDLC provides both connection-oriented and connectionless service. HDLC uses synchronous serial transmission to provide errorfree communication between two points. HDLC defines a Layer 2 framing structure that allows for flow control and error control through the use of acknowledgments. Each frame has the same format, whether it is a data frame or a control frame. When you want to transmit frames over synchronous or asynchronous links, you must remember that those links have no mechanism to mark the beginnings or ends of frames. HDLC uses a frame delimiter, or flag, to mark the beginning and the end of each frame.
It is a transmission protocol used at the data link layer (layer 2) of the OSI seven layer model for data communications. The HDLC protocol embeds information in a data frame that allows devices to control data flow and correct errors. HDLC is an ISO standard developed from the Synchronous Data Link Control (SDLC) standard proposed by IBM in the 1970’s.
For any HDLC communications session, one station is designated primary and the other secondary. A session can use one of the following connection modes, which determine how the primary and secondary stations interact.
- Normal unbalanced: The secondary station responds only to the primary station.
- Asynchronous: The secondary station can initiate a message.
- Asynchronous balanced: Both stations send and receive over its part of a duplex line. This mode is used for X.25 packet-switching networks.
There are three fundamental types of HDLC frames.
- Information frames, or I-frames, transport user data from the network layer. In addition they can also include flow and error control information piggybacked on data.
- Supervisory Frames, or S-frames, are used for flow and error control whenever piggybacking is impossible or inappropriate, such as when a station does not have data to send. S-frames do nothave information fields.
- Unnumbered frames, or U-frames, are used for various miscellaneous purposes, including link management. Some U-frames contain an information field, depending on the type.
Figure: HDLC Frames
HDLC specifies the following three types of stations for data link control:
- Primary Station
- Secondary Station
- Combined Station
Primary Station: Within a network using HDLC as its data link protocol, if a configuration is used in which there is a primary station, it is used as the controlling station on the link. It has the responsibility of controlling all other stations on the link (usually secondary stations). A primary issues commands and secondary issues responses. Despite this important aspect of being on the link, the primary station is also responsible for the organization of data flow on the link. It also takes care of error recovery at the data link level (layer 2 of the OSI model).
Secondary Station: If the data link protocol being used is HDLC, and a primary station is present, a secondary station must also be present on the data link. The secondary station is under the control of the primary station. It has no ability, or direct responsibility for controlling the link. It is only activated when requested by the primary station. It only responds to the primary station. The secondary station’s frames are called responses. It can only send response frames when requested by the primary station. A primary station maintains a separate logical link with each secondary station.
Combined Station: A combined station is a combination of a primary and secondary station. On the link, all combined stations are able to send and receive commands and responses without any permission from any other stations on the link. Each combined station is in full control of itself, and does not rely on any other stations on the link. No other stations can control any combined station. HDLC also defines three types of configurations for the three types of stations. The word configuration refers to the relationship between the hardware devices on a link. Following are the three configurations defined by HDLC:
- Unbalanced Configuration
- Balanced Configuration
- Symmetrical Configuration
 Dinesh Thakur, “HDLC Protocol – High-level Data Link Control”, available online at: http://ecomputernotes.com/computernetworkingnotes/routing/hdlc-high-level-data-link-control
 “HDLC Protocol and Encapsulation method Explained”, available online at: https://www.computernetworkingnotes.com/ccna-study-guide/hdlc-protocol-and-encapsulation-method-explained.html
 “HDLC High Level Data link Control”, available online at: https://www.vskills.in/certification/tutorial/basic-network-support/hdlc-high-level-data-link-control/
 “High -Level Data Link Control (HDLC)”, available online at: http://www.idc-online.com/control/High_Level_Data_Link_Control.pdf