Data Network Resource
       Earn on the Web


SDLC, HDLC and LLC



Overview


  • Synchronous Data Link Control (SDLC) is the oldest layer 2 protocol designed by IBM in 1975 to carry Systems Network Architecture (SNA) traffic (see later). SDLC is the precursor to HDLC.
  • High-Level Data Link Control (HDLC) was created out of SDLC by the ISO in 1979 (see later).
  • Qualified Logical Link Control (QLLC) was developed by IBM to enable SNA traffic over X.25.
  • Link Access Protocol Balanced (LAPB) is one of the three layers making up X.25 and was a development by ITU-T, of LAP which itself came from HDLC. LAPB operates like HDLC, however it is restricted to using the ABM transfer mode i.e. point-to-point links (see later).
  • Link Access Protocol for Modems (LAPM) provides HDLC services for V.42 modems.
  • Link Access Protocol for D-Channel (LAPD) is used on the ISDN D channel for packet delivery.
  • V.120 is used on the ISDN Terminal Adapters to allow multiple users across a single link.
  • Logical Link Control (LLC) was developed by the IEEE 802.2, and is used to provide HDLC style services on a LAN (see below).
  • Frame Relay, some operations are similar to LAPD and V.120.
  • PPP is a derivation of HDLC and encapsulates Protocol Data Units for transport across point-to-point links.

Synchronous Data Link Control (SDLC)


Although a subset of HDLC, SDLC was developed by IBM before HDLC, and was the first link layer protocol based on synchronous, bit-oriented operation. IBM defined SDLC for managing synchronous serially transmitted bits over a data link, and these links can be full/half-duplex, switched or unswitched, point-to-point, point to multipoint or even looped. SDLC is designed for carrying SNA traffic.

In SDLC, a link station is a logical connection between adjacent nodes. Only one Primary Link Station is allowed on an SDLC line. A device can be set up as a Primary or a Secondary link station. A device configured as a Primary link station can communicate with both PU 2.0 nodes and PU 2.1 nodes (APPN) and controls the secondary devices. If the device is set up as a secondary link station then it acts as a PU 2.0 device and can communicate with Front End Processors (FEP), but only communicates with the primary device when the primary allows it, i.e. the primary sets up and tears down the connections and controls the secondaries.

In APPN configurations the device can support negotiable link stations where XID frames are exchanged to decide which station is to be secondary and which is to be primary.

A primary station issues commands, controls the link and initiates error-recovery. A device set up as a secondary station can communicate to a FEP, exist with other secondary devices on an SDLC link and exist as a secondary PU 2.0 device.

SDLC supports line speeds up to 64Kb/s e.g. V.24 (RS-232) at 19.2Kb/s, V.35 (up to 64Kb/s) and X.21.

The following diagram shows the frame format for SDLC, almost identical to HDLC.

SDLC Frame

  • Flag - Begins and ends the error checking procedure with 0x7E which is 01111110 in binary.
  • Address - This is only the secondary address since all communication occurs via the single primary device. The address can be an individual, group or broadcast address.
  • Control - this identifies the frame's function and can be one of the following:
    • Information (I) - contains the Send Sequence Number which is the number of the next frame to be sent, and the Receive Sequence Number which is the number of the next frame expected to be received. The is also a Poll Final Bit (P/F) which performs error checking.
    • Supervisory (S) - this can report on status, ask for and stop transmission and acknowledge I frames.
    • Unnumbered (U) - this does not have sequence numbers (hence 'unnumbered'), it can be used to start up secondaries and can sometimes have an Information field.
  • Data - can contain Path Information Unit (PIU) or Exchange Identification (XID).
  • Frame Check Sequence (FCS) - this check is carried out on the sending AND receiving of the frame.
In a poll, the address field identifies the station being polled, in a response, the address field contains the station transmitting, so this field effectively is the secondary station's address. The control field .

High-Level Data Link Control (HDLC)


HDLC is the protocol which is now considered an umbrella under which many Wide Area protocols sit. ITU-T developed HDLC in 1979, and within HDLC there are three types of stations defined:
  • Primary Station - this completely controls all data link operations issuing commands from secondary stations and has the ability to hold separate sessions with different stations.
  • Secondary Station - this can only send responses to one primary station. Secondary stations only talk to each other via a Primary station.
  • Combined Station - this can transmit and receive commands and responses from one other station.
Configuring a channel for use by a station can be done in one of three ways:
  • Unbalanced - this configuration allows one primary station to talk to a number of secondary stations over half-duplex, full-duplex, switched, unswitched, point-to-point or multipoint paths.
  • Symmetrical - where commands and responses are multiplexed over one physical channel when two stations with primary and secondary parts have a point-to-point link joining them.
  • Balanced - where two combined stations communicate over a point-to-point link which can be full/half-duplex or switch/unswitched.
When transferring data, stations are in one of three modes:
  • Normal Response Mode (NRM) where the secondary station needs permission from the primary station before it can transmit data. Mainly used on multi-point lines.
  • Asynchronous Response Mode (ARM) where the secondary station can send data without receiving permission from the primary station. This is hardly ever used.
  • Asynchronous Balanced Mode (ABM) where either station can initiate transmission without permission from the other. This is the most common mode used on point-to-point links.
The following diagram details the HDLC frame format:

HDLC Frame

The HDLC frame begins and ends the error checking procedure with 0x7E which is 01111110 in binary.

There are three types of HDLC frame types defined by the control field:
  • Information Frames are used for the data transfer between stations. The send sequence, or next send N(S), and the receive sequence, or next receive N(R), hold the frame sequence numbers. The Poll/Final bit is called Poll when used by the primary station to obtain a response from a secondary station, and Final when used by the secondary station to indicate a response or the end of transmission.
  • Supervisory Frames are used to acknowledge frames, request for retransmissions or to ask for suspension of transmission. The Supervisory code denotes the type of supervisory frame being sent.
  • Unnumbered Frames are used for link initialisation or link disconnection. The Unnumbered bits indicate the type of Unnumbered frame being used.

Logical Link Control (LLC)


LLC is a subset of High-Level Data Link Control (HDLC) and uses the Asynchronous Balanced Mode (ABM) subclass of HDLC. It sits in the Data Link layer between the MAC layer and the layer 3 protocols and forms an important part of the 802.2 specification.

There are three Classes of LLC:
  1. LLC Class 1 - Connection-less (CL), this service sends and receives Link Service Data Units (LSDU) without the need for acknowledgement. It supports point-to-point, multipoint and broadcast communication and is suitable for higher level protocols that do all the sequencing, addressing, routing and recovery. These include IPX, TCP/IP, Vines, XNS, AppleTalk etc. LLC1 is less intense on network resources than LLC2 or LLC3 as there is less requirement for the data-integrity measures included within the following two methods. The responsibility for data flow and integrity rests with the layer 3 protocols. LLC1 operates Type 1 operations which means that Protocol Data Units (PDU) are exchanged without connections, there is no sequencing, acknowledgement or error-checking of PDUs.
  2. LLC Class 2 - Connection-Oriented (CO), this is a connection-oriented service that provides a point-to-point link between Link Service Access Points (LSAP). Although LLC2 responds to the higher layer protocol with respect to opening and closing connections, LLC2 is responsible for flow control, sequencing the frames and error recovery. LLC2 can operate Type 1 or Type 2 operations, where a connection has to be established, acknowledgement, sequencing and error checking all take place in the LLC sublayer. LLC2 is generally required in environments that run protocols such as NetBIOS and SNA.
  3. LLC Class 3 - Acknowledged-Connectionless (AC), this is a 'connectionless-acknowledged' implementation that is rarely used.
The following diagram shows the structure of the LLC PDU.

LLC PDU

This sits at the start of the data part of the Ethernet frame (see the IPX/SPX document).

The following table lists the LLC command PDUs:

Operation Command Response Format Control Field Hex. Value
Type 1 (CL) Unnumbered Information (UI)   Unnumbered (U) 03
  Exchange Identification (XI) Exchange Identification (XI) Unnumbered (U) AF, BF
  Test (TEST) Test (TEST) Unnumbered (U) E, F3
Type 2 (CO) Information (I) Information (I) Information (I) 00 00 to FE FF
  Receiver Ready (RR) Receiver Ready (RR) Supervisory (S) 01 00 to 01 FF
  Receiver Not Ready (RNR) Receiver Not Ready (RNR) Supervisory (S) 05 00 to 05 FF
  Reject (REJ) Reject (REJ) Supervisory (S) 09 00 to 09 FF
  Set Asynchronous Balance Mode Extended (SABME) Unnumbered Acknowledgement (UA) Unnumbered (U) 6F, 7F (SABME) and 63, 73 (UA)
  Disconnect (DISC) Disconnected Mode (DM) Unnumbered (U) 43, 53 (DISC) and 0F, 1F (DM)
    Frame Reject (FRMR) Unnumbered (U) 87, 97
Type 3 (AC) Ack Connectionless, seq 0 (AC0) Ack Connectionless, seq 0 (AC0) Unnumbered (U) 67, F7
  Ack Connectionless, seq 0 (AC1) Ack Connectionless, seq 0 (AC1) Unnumbered (U) E7, F7

The LLC SAP's job is to sort the up and coming MAC frames and direct them to the appropriate application or upper layer protocol. NetBIOS uses the SAP address of F0, IP uses 06 whilst DLSw uses 04 and Network Management uses F4. The Null SAP, address 00 does not identify any SAP to any protocol.

A more complete list follows:

SAP Protocol
00 Null SAP
04 SNA
05 SNA
06 TCP
08 SNA
0C SNA
42 Spanning Tree
7F ISO 802.2
80 XNS
AA SNAP
E0 IPX
F0 NetBIOS
F8 RPL
FC RPL
FE OSI
FF Global SAP

The complete list can be found at https://www.iana.org/assignments/ieee-802-numbers.

The Control field identifies sequencing and/or commands/responses. There are three types:

Control Field

  • The Information Transfer (I) PDU carries out a numbered information transfer in Type 2 operations.
  • The Supervisory (S) PDU carries out acknowledgement, retransmit requests and suspends of I PDUs in Type 2 operations.
  • The Unnumbered (U) PDU carries out some control functions and unsequenced information transfer in Type 1 operations.
There is the special case of Subnetwork Access Protocol (SNAP) where the DSAP and SSAP are set to AA and the Control field set to 03. Then, immediately after the control field there are three bytes set aside for the Organisational Unique Identifier (OUI) and then two bytes for the Protocol Identifier (PID) (see the IPX/SPX document).

The SAP is generally used for the 802.x compliant protocols, however, the idea of SNAP is to allow non-IEEE compliant protocols to become pseudo-compliant without a major re-write of code for network drivers. An OUI of 00-00-00 indicates that the frame is an Ethernet frame rather than an 802.3 frame that is not assigned to any particular vendor. This useful for when the frame crosses different media. On coming out the other side it will be rebuilt as an Ethernet frame rather than something else.

Valid HTML 4.01 Transitional




Earn on the Web    


All rights reserved. All trademarks, logos, and copyrights are property of their respective owners.