HDLC and Cisco HDLC

HDLC

 HDLC stands for High-Level Data Link Control. Also called high-level data link control procedures. It is a data link layer protocol standardized by ISO and is used in leased lines and circuit switching.

 Although point-to-multipoint communication is possible, it is currently used for point-to-point communication using ABM (Asynchronous Balanced Mode).

 HDLC is the prototype for many protocols, including the Layer 2 protocol for X.25, ISDN, Frame Relay and PPP procedures.

 Using flag synchronization as the synchronization method, the frame is transmitted with 8 bits of the flag sequence "01111110" added to the beginning and end of the frame.

 Also, for error detection, a 16-bit FCS field is defined, and the CRC method is adopted as the detection method. This mechanism can also detect burst errors that span multiple bits.

The figure below shows the HDLC frame format.

field nameexplanation
flag sequence"01111110" to indicate the start and end of the frame. On the transmitting side, if 5 consecutive 1s appear, the 6th bit is forcibly inserted with a 0. On the receiving side, this 0 is stripped off and passed on to higher layers.
Address partaddress field
control unitcontrol field
FCSFrame check sequence. Used for error detection.

 As you can see from the figure above, the HDLC header does not contain any information to identify the network layer protocol. To complement this, each vendor has its own implementation of HDLC. As a result, vendor-to-vendor communication is generally not possible.

For example, Cisco routers use Cisco HDLC, which is slightly different from the ISO standard frame format.

 HDLC specifications may differ from vendor to vendor, so communications between vendors must be encapsulated using a different protocol such as PPP.

Cisco HDLC

 HDLC is a data link layer protocol standardized by ISO based on SDLC developed by IBM. HDLC standardized by this ISO is called ISO HDLC. HDLC is commonly used in synchronous serial lines.

 See the diagram below. ISO HDLC does not have a field in the header to indicate the network layer protocol. Therefore, ISO HDLC can only use a single network layer protocol.

 ISO HDLC does not support a multi-protocol environment, so each vendor has its own implementation of HDLC to complement this. Cisco uses Cisco HDLC with additional proprietary fields.

Therefore, HDLC generally does not allow communication between vendors.

 In other words, if you want to use HDLC, you have to prepare equipment dedicated to that vendor. Therefore, if the devices on both ends of the WAN link are from different vendors, PPP will be used.

 The default encapsulation for serial interfaces on Cisco routers is Cisco's proprietary HDLC. You can check it with the "show interfaces serial" command.

Router#show interfaces serial 0

●Serial encapsulation (Cisco2500)

Serial0 is up, line protocol is up
  Hardware is HD64570
  Internet address is 192.168.2.1/24
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 1/255
  Encapsulation HDLC, loopback not set, keepalive set (10 sec)
  Last input 00:00:09, output 00:00:06, output hang never
  Last clearing of "show interface" counters never
  Input queue: 0/75/0 (size/max/drops); Total output drops: 0
  Queueing strategy: weighted fair
  Output queue: 0/64/0 (size/threshold/drops)
     Conversations  0/1 (active/max active)
     Reserved Conversations 0/0 (allocated/max allocated)
  5 minute input rate 0 bits/sec, 0 packets/sec
  5 minute output rate 0 bits/sec, 0 packets/sec
     5 packets input, 367 bytes, 0 no buffer
     Received 5 broadcasts, 0 runts, 0 giants
     0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
     8 packets output, 757 bytes, 0 underruns
     0 output errors, 0 collisions, 1 interface resets
     0 output buffer failures, 0 output buffers swapped out
     2 carrier transitions
     DCD=up  DSR=up  DTR=up  RTS=up  CTS=up