Jump to content

Cisco HDLC

From Wikipedia, the free encyclopedia

Cisco HDLC (cHDLC) is an extension to the High-Level Data Link Control (HDLC) network protocol, and was created by Cisco Systems, Inc. HDLC is a bit-oriented synchronous data link layer protocol that was originally developed by the International Organization for Standardization (ISO). Often described as being a proprietary extension, the details of cHDLC have been widely distributed and the protocol has been implemented by many network equipment vendors. cHDLC extends HDLC with multi-protocol support.

Framing

[edit]

Cisco HDLC frames uses an alternative framing structure to the standard ISO HDLC. To support multiple protocols encapsulation, cHDLC frames contain a field for identifying the network protocol.

Structure

[edit]

cHDLC frame structure

[edit]

The following table describes the structure of a cHDLC frame on the wire.[citation needed]

Address Control Protocol Code Information Frame Check Sequence (FCS) Flag
8 bits 8 bits 16 bits Variable length, 0 or more bits, in multiples of 8 16 bits 8 bits
  • The Address field is used to specify the type of packet contained in the cHDLC frame; 0x0F for Unicast and 0x8F for Broadcast packets.
  • The Control field is always set to zero (0x00).
  • The Protocol Code field is used to specify the protocol type encapsulated within the cHDLC frame (e.g. 0x0800 for Internet Protocol).


SLARP address request–response frame structure

[edit]

The Serial Line Address Resolution Protocol (SLARP) frame is designated by a specific cHDLC protocol code field value of 0x8035.

Three types of SLARP frame are defined: address requests (0x00), address replies (0x01), and keep-alive frames (0x02).

The following table shows the structure of a SLARP cHDLC address request–response frame.

Address Control Protocol Code SLARP Op-Code Address Mask Reserved Frame Check Sequence (FCS) Flag
8 bits 8 bits 16 bits (0x8035) 32 bits 32 bits 32 bits 16 bits 16 bits 8 bits
  • The op-code will be 0x00 for address requests and 0x01 for address responses.
  • The Address and Mask fields are used to contain a four-octet IP address and mask. These are 0 for address requests.
  • The two-byte Reserved field is currently unused and undefined.

SLARP Keep-Alive frame structure

[edit]

The following table shows the structure of a SLARP cHDLC keep-alive frame.

Address Control Protocol Code SLARP Op-Code Sequence Number (Sender) Sequence Number (Last Received) Reliability Frame Check Sequence (FCS) Flag
8 bits 8 bits 16 bits (0x8035) 32 bits 32 bits 32 bits 16 bits 16 bits 8 bits
  • The op-code is 0x02 for keep-alives.
  • The sender sequence number increments with each keep-alive sent by this sender.
  • The received sequence number is the last sequence number received by this sender.
  • The two-byte Reliability field is required to be set to 0xFFFF.

See also

[edit]
  • Point-to-Point Protocol, an Internet Standard defined by RFC 1661 and RFC 1662 that solves the problems Cisco HDLC solves as well as many other problems.


[edit]