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.

Related entries: