[HDLC Protocol Icon]

HDLC - High Level Data Link Control

Protocol Overall Description:
Layer 2 of the OSI model is the data link layer. One of the most common layer 2 protocols is the HDLC protocol. In fact, many other common layer 2 protocols are heavily based on HDLC, particularly its framing structure: namely, SDLC, SS#7, LAPB ,LAPD and ADCCP. The basic framing structure of the HDLC protocol is shown below:

HDLC uses zero insertion/deletion process (commonly known as bit stuffing) to ensure that the bit pattern of the delimiter flag does not occur in the fields between flags. The HDLC frame is synchronous and therefore relies on the physical layer to provide method of clocking and synchronizing the transmission and reception of frames.

The HDLC protocol is defined by ISO for use on both point-to-point and multipoint (multidrop) data links. It supports full duplex transparent-mode operation and is now extensively used in both multipoint and computer networks.

HDLC Operation Modes:

HDLC has three operational modes:

  1. Normal Response Mode (NRM)
  2. Asynchronous Response Mode (ARM)
  3. Asynchronous Balanced Mode (ABM)

Frame Formats:

The standard frame of the HDLC protocol handles both data and control messages. It has the following format:

The length of the address field is commonly 0,8 or 16 bits, depending on the data link layer protocol.
For instance the SDLC use only 8 bit address, while SS#7 has no address field at all because it is always used in point to point links.

The 8 or 16 bit control field provides a flow control number and defines the frame type (control or data). The exact use and structure of this field depends upon the protocol using the frame.

Data is transmitted in the data field , which can vary in length depending upon the protocol using the frame. Layer 3 frames are carried in the data field.

Error Control is implemented by appending a cyclic redundancy check (CRC) to the frame, which is 16 bits long in most protocols.

Frame Classes:

In the HDLC protocol , three classes of frames are used :

  1. Unnumbered frames - are used for link management.
  2. Information frames - are used to carry the actual data.
  3. Supervisory frames - are used for error and flow control.

Frame types: Three classes of frames are used in HDLC. Some of the different types of frame in each class are described below.
Unnumbered frames are used for link management. SNRM and SABM frames , for example, are used both to set up logical link between the primary and the secondary station and to inform the secondary station of the mode of operation to be used. A logical link is subsequently cleared by the primary station sending a DISC frame. The UA frame is used as an acknowledgment to the other frames in this class.
There are four types of supervisory frames but only RR and RNR are used in both NRM and ABM These frames are used both to indicate the willingness or otherwise of a secondary station to receive an information frame from the primary station, and for acknowledgment purposes. REJ and SREJ frames are used only in ABM which permits simultaneous two-way communication across a point to point link. The two frames are used to indicate to the other station that a sequence error has occurred, that is an information frame containing an out of sequence N(s) has been received. the SREJ frame is used with a selective repeat transmission procedure, whereas the REJ frame is used with a go back N procedure.

Protocol operation

The two basic functions in the protocol are link management and data transfer (which includes error and flow control).

Link management

. Prior to any kind of transmission (either between two stations connected by a point to point link or between a primary and secondary station a multidrop link) a logical connection between the two communication parties must be established.

Data transfer

. In NRM all data (information frames) if transferred under the control of the primary station. The unnumbered poll frame with the P bit set to 1 is normally used by the primary to poll a secondary. If the secondary has no data to transmit, it returns an RNR frame with the F bit set. If data is waiting, it transmits the data, typically as a sequence of information frames.
The two most important aspects associated with the data transfer phase are error control and flow control. Essentially, error control uses a continues RQ procedure with either a selective repeat or a go back N transmission strategy, while flow controls based on a window mechanism.

For more information Email To: ofirp@eng.tau.ac.il This Document Was written by: 1. Ziegler Alon 2. Kirshenberg Gilad 3. Paz Ofir This Document was based on the following books: 1. Data Communications , Computer Networks and Open Systems, by Fred Halsall 2. Data Communication ICs, High-Level Serial Communications, by Siemens