High Level Data Link Control Protocol (HDLC)

The High Level Data Link Control protocol (HDLC) is the default encapsulation used on the synchronous serial interfaces of a Cisco router. You’ll recall that synchronous serial interfaces require an external clocking device (such as a CSU/DSU) in order to synchronize the sending and receiving of data. HDLC is a superset of the Synchronous Data Link Control (SDLC) protocol that was originally developed by IBM for use in SNA environments. SDLC and SNA will be looked at in more detail later in this chapter.

HDLC is a Data Link layer protocol used to encapsulate and transmit packets over point-to-point links. It handles the transfer of data in full duplex, as well as link management functions. As an OSI standard, many vendors implement the HDLC protocol in their equipment. Unfortunately, these implementations are usually not interoperable. The reason is that when the HDLC frame format was defined, it did not include a field to identify the Network layer protocol that it was framing. As such, the OSI version of HDLC assumes that any link using HDLC is running only a single Network layer protocol like IP. Of course, many networks run IP, IPX, and other Layer 3 protocols simultaneously. This has led vendors (including Cisco) to implement HDLC using a proprietary frame format that includes a type code field, thus allowing the Network layer protocol within a frame to be properly identified.

The Cisco HDLC frame is illustrated in the figure below.

Figure: The Cisco HDLC frame format contains a Type Code field not found in the ISO standard HDLC frame.

Because of the proprietary nature of vendor HDLC implementations, you should only use HDLC framing on point-to-point links when the router at each end of a link is from the same vendor. In cases where you want to connect equipment from different vendors over a leased line, the Point-to-Point Protocol (PPP) should be used. Always remember that the router on both sides of a point-to-point link must be using the same data framing method in order to communicate.

Because HDLC is the default encapsulation method for synchronous serial interfaces on a Cisco router, it doesn’t require any explicit configuration. To view the current encapsulation type used on a router serial interface, use the show interface command. The example below shows a router using HDLC encapsulation on interface S0.

RouterA#show int s0
Serial0 is up, line protocol is up
Hardware is HD64570
Internet address is 131.107.2.200/28
MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 1/255
Encapsulation HDLC, loopback not set, keepalive set (10 sec)

If the encapsulation method used on a serial interface is ever changed, you can switch back to HDLC by issuing the command encapsulation hdlc from interface configuration mode.

RouterA#config t
Enter configuration commands, one per line. End with CNTL/Z.
RouterA(config)#int s0
RouterA(config-if)#encapsulation hdlc

Author: Dan DiNicolo

Dan DiNicolo is a freelance author, consultant, trainer, and the managing editor of 2000Trainers.com. He is the author of the CCNA Study Guide found on this site, as well as many books including the PC Magazine titles Windows XP Security Solutions and Windows Vista Security Solutions. Click here to contact Dan.