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.
- 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:
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:
- 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.
- 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.
- 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.
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 Control field identifies sequencing and/or commands/responses. There are three types:
- 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.
|