What is HDLC (High-level Data Link Control)?
In more technical terms, HDLC is a bit-oriented, synchronous data link layer protocol created by the International Organization for Standardization (ISO). The standard for HDLC is ISO/IEC 13239:2002. ECI stands for the International Electrotechnical Commission, an international electrical and electronic standards body that often works with the ISO.
How does HDLC work?
In HDLC, data is organized into a unit (called a frame) and sent across a network to a destination that verifies its successful arrival. The HDLC protocol also manages the flow or pacing at which data is sent.
- Layer 1 is the detailed physical level that generates and receives the electronic signals.
- Layer 3 is the higher level that has knowledge about the network, including access to router tables that indicate where to forward or send data.
On sending, programming in Layer 3 creates a frame that usually contains source and destination network addresses. HDLC (Layer 2) encapsulates the Layer 3 frames, adding data link control information to a new, larger frame.
How is HDLC used in IT networks?
HDLC is based on IBM's synchronous data link control (SDLC) protocol, which is widely used by IBM's large customer base in mainframe computing environments. In HDLC, the protocol that is essentially SDLC is known as Normal Response Mode.
The networking industry has used HDLC to derive several other standards used today, such as frame relay protocols like the ISDN protocol stack known as Link Access Procedure Balanced (LAPB). It is also the basis for the framing mechanism that utilizes Point-to-Point Protocol (PPP) on synchronous lines used to connect multiple servers to a WAN (wide area network) internet link, as well as Cisco HDLC framing techniques that add protocol fields to the HDLC header.
In Normal Response Mode, a primary station -- usually at the mainframe computer -- sends data to secondary stations that may be local or may be at remote locations on dedicated leased lines in what is called a multidrop or multipoint network. (This is not the network we usually think of; it's a nonpublic closed network. In this arrangement, communication is usually half-duplex.)
In the X.25 version of HDLC, the data frame contains a packet. (An X.25 network is one in which packets of data are moved to their destination along routes determined by network conditions as perceived by routers and reassembled in the right order at the ultimate destination.)
The following table summarizes the HDLC variations and who uses them.
How do HDLC frames work?
HDLC frames can be transmitted over either asynchronous or synchronous communication links:
Synchronous framing. In synchronous frames, data is NRZI (non-return-to-zero inverted) encoded, meaning that a 0-bit is sent as a change in the signal, whereas 1-bit is transmitted as no change. In other words, every 0 relays to the receiving modem that it must synchronize its clock. In this way, frames can be sent via a full-duplex, or half-duplex link.
Asynchronous framing. On the other hand, in asynchronous communications, it is not necessary to worry about the bit pattern. Instead, control-octet transparency is used (otherwise known as bit stuffing). A control escape octet uses 0x7D values (for example, a '10111110' bit sequence with the least significant bit first.
When sending HDLC frames, the frame check sequence of an HDLC frame is either a 16-bit CRC-CCITT or a 32-bit CRC-32 transmitted over Information, Control or Address fields (CRC stands for cyclic redundancy check). HDLC frames provide the medium for a receiver to use algorithms for error detection of any errors that may have been created during transmission. If the recipient's FCS algorithm doesn't match the sender's, this is an indication of an error.
(NOTE: CCITT stands for Consultative Committee for International Telegraphy and Telephony . Also known as ITU-T (Telecommunication Standardization Sector of the International Telecommunications Union), CCITT is an international body that fosters cooperative standards for telecommunications systems and equipment.)
HDLC frame types
There are three types of commonly used HDLC frame structures. They are as follows:
- Information frames (I-frames), which transmit user data from the computer network layer and incorporate error control information with the data. I-frames also contain control fields used to define data functions.
- Supervisory frames (S-frames), which transmit error and flow control data whenever it becomes impossible to "piggyback" on transmitted data. For this reason, S-frames don't contain information fields.
- Unnumbered frames (U-frames), which are for all other miscellaneous purposes, including link management. Some of these contain information fields, and others do not.