Cisco HDLC

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

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

cHDLC frame structure

The following table describes the structure of a cHDLC frame on the wire.

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

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

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.
gollark: I think I have a random memtest EFI binary in `/boot` for some reason.
gollark: If you want to help with this, go work for semiconductor companies or something.
gollark: Yes, but it'll improve over time™.
gollark: You can already get 1TB in an expensive but individual-affordable high end system, so less time for that.
gollark: Well, Moore's law is dead, but advancing technology should mean you could run it on a regular home computer in... 50 years?

See also



This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.