Cisco HDLC
This article needs additional citations for verification. (March 2019) |
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.
External links
[edit]- Serial Line Address Resolution Protocol, IP Addressing: ARP Configuration Guide, Cisco IOS Release 15M&T, December 3, 2012
- http://www.nethelp.no/net/cisco-hdlc.txt
- http://securitydigest.org/tcp-ip/archive/1990/11#000068
- https://web.archive.org/web/20110723160051/http://www.irbs.net/internet/nanog/9610/0459.html