High-Level Data Link Control (HDLC) Protocol Fundamentals
Classified in Computers
Written on in English with a size of 4.53 KB
High-Level Data Link Control (HDLC) Protocol
HDLC is a crucial data link control protocol, specified by ISO 3009 and ISO 4335. It serves as the foundation for many other data link control protocols.
HDLC Station Types
- Primary Station: Controls the operation of the link. Frames issued by the primary are called commands. The primary maintains a separate logical link with each secondary station on the line.
- Secondary Station: Operates under the control of the primary station. Frames issued by a secondary are called responses.
- Combined Station: Combines the features of both primary and secondary stations. A combined station may issue both commands and responses.
HDLC Link Configurations
- Unbalanced Configuration: Involves one primary station and multiple secondary stations.
- Balanced Configuration: Involves two combined stations.
HDLC Data Transfer Models
Normal Response Mode (NRM)
- Used with an unbalanced configuration.
- The primary station initiates data transfer.
Asynchronous Balanced Mode (ABM)
- Used with a balanced configuration.
- Either station can initiate transmission.
- Has no polling overhead.
- Most widely used.
Asynchronous Response Mode (ARM)
- Used with an unbalanced configuration.
- A secondary station may transmit without explicit permission from the primary.
- Rarely used.
HDLC Frame Fields
Address Field
- Identifies the secondary station that transmitted or will receive the frame.
- Usually 8 bits long.
- May be extended to multiples of 8 bits. The leftmost bit indicates if it is the last octet (1) or not (0).
- An address of
11111111
allows a primary station to broadcast a frame for reception by all secondaries.
Control Field
HDLC defines three types of frames, each with a different control field format:
Information Frames (I-frames)
- Carry user data to be transmitted.
- Flow and error control data, using the Automatic Repeat Request (ARQ) mechanism, are piggybacked on an information frame.
Supervisory Frames (S-frames)
- Provide the ARQ mechanism when piggybacking is not used.
Unnumbered Frames (U-frames)
- Provide supplemental link control functions.
Poll/Final (P/F) Bit Usage:
- In command frames, the P bit is set to 1.
- In response frames, the F bit is set to 1.
The basic control field for S- and I-frames uses 3-bit sequence numbers. An extended control field can be used that employs 7-bit sequence numbers. U-frames always contain an 8-bit control field.
Information Field
- Present only in I-frames and some U-frames.
- Must contain an integral number of octets.
- Variable length.
Frame Check Sequence (FCS) Field
- An error-detecting code calculated from the remaining bits of the frame, exclusive of flags.
- The normal code is the 16-bit CRC-CCITT.
- An optional 32-bit FCS, using CRC-32, may be employed if the frame length or line reliability dictates this choice.
HDLC Operation Phases
HDLC operation consists of the exchange of I-frames, S-frames, and U-frames, involving three distinct phases:
Initialization Phase
- Signals the other side that initialization is requested.
- Specifies which of the three modes (NRM, ABM, ARM) is requested.
- Specifies whether 3-bit or 7-bit sequence numbers are to be used.
Data Transfer Phase
- The N(S) and N(R) fields of the I-frame are sequence numbers that support flow control and error control.
- An HDLC module numbers them sequentially.
- Receive Ready (RR) is used when there is no reverse user data traffic.
Disconnect Phase
- Either module can initiate disconnection, either on its own initiative (e.g., due to a fault) or at the request of its higher-layer user.
- Sends a Disconnect (DISC) frame.
- The remote entity replies with an Unnumbered Acknowledgment (UA) frame.
- Any outstanding unacknowledged I-frames may be lost; recovery is the responsibility of higher layers.