HDLC stands for High-Level Data Link Control. It is a set of protocols developed and operated under the International Organization for Standardization, or ISO. It is a general-purpose protocol of the bit-oriented and synchronous data link layer that ensures the transmission and delivery of data between multiple networks or nodes without any mishaps or errors. It gives both connection oriented as well as connectionless services.
HDLC basically organizes or encapsulates the various bits and pieces of the data to be transmitted into individual frames, which are basically packaged units of data, and also controls the speed or pace at which the frames are transmitted across the nodes. The protocol adds a header and a trailer, the former containing the address and the control information field, and the latter containing a CRC, or Cyclic Redundancy Check, so as to ensure that any potential errors that may occur during the transmission are detected and resolved. Whenever data is not being transmitted, an HDLC flag sequence is inserted between the frames to keep them separated.
A Single HDLC Frame
Each frame in the HDLC protocol consists of multiple ‘fields’. It can contain up to six fields, the most commonly found of which are explained as follows:
Flag
Every frame begins and ends with a flag sequence, that is always an octet of 01111110. This 8 bit pattern is continuously being transmitted across the link between the two networks even when no data is being transmitted to ensure the establishment of the connection. The time during the transmission of frames when flags sequences are sent and received by the stations, is called the interframe time fill.
Address
As understood by its self explanatory name, this field contains the address of the station it has been destined to go to- either the primary or the secondary station. The address size can vary, going from anywhere between one byte to several bytes.
Control Information
The control field is used to contain the information regarding the flow and error control of the whole communications process. It contains the sequences as well as commands and responses that help it to determine the flow of the data, define the frame functions, and control the traffic movement between the primary and secondary stations.
Frame Check Sequence
The FCS bit or the Frame Check Sequence is essentially a Cyclic Redundancy Check, a byte to two byte long sequence, which allows the network to detect any errors in the transmission of the data.
Payload
The actual information that is being carried in the frame is part of the payload and varies from frame to frame as well as network to network.
Type of HDLC Frames
There are essentially three types of HDLC frames: the I-frames, the S-frames, and the U-frames.
I-Frames
I-frames or, information frames, is responsible for transporting the user data from the network layer as well as contain the information regarding the flow and error control. An information frame is defined by its fist least significant bit which is 0.
S-Frames
S frames or supervisory frames do not contain any data or information fields. They are simply carriers of the information pertaining to flow and error control whenever it is not possible for this data to piggyback with the user data in an I-frame. The first two bits of an S-frame are 10, its identifying feature.
U-Frames
U-frames are the unnumbered frames. They are responsible for carrying out a number of different, random functions such as link management, transfer of user data, and exchanging of control information. The first two bits are 11 for a U-frame.
HDLC IP Cores
Find here companies providing HDLC IP cores.