HDLC is a bit-oriented protocol that organizes data into frames for transmission between devices over point-to-point or multipoint links. An HDLC frame consists of opening and closing flags bounding address, control, information, and frame check sequence fields. The control field contains sequence numbers for flow and error control. There are three classes of frames: information frames for data, unnumbered frames for link management, and supervisory frames for flow and error control using sequence numbers when piggybacking is not possible.