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 name | explanation |
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 part | address field |
control unit | control field |
FCS | Frame 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