Logical Link Control
IEEE 802.2, commonly referred to as Logical Link Control (LLC), is a layer of protocol that sits above the MAC Layer and completes the capabilities of the Data Link Layer. It has three basic functions.
- To provide connection oriented, connectionless, and acknowledged connectionless services over the intrinsically connectionless MAC scheme
- To hide the specific nature of the LAN from the upper layers
- To provide logical service access points (SAP) so that multiple logical connections can be supported across the same physical interface (i.e., LAN adapter)
For a number of years, the LLC Layer was not widely implemented, for the simple reason that its three basic functions were not widely viewed as important. Virtually all of the networking protocol suites implement a Network Layer that only provides connectionless service to the layers above it. Therefore, it made no sense to sandwich a connection-oriented layer between the connectionless MAC and Network Layers. The interface between the MAC and the software implementing the Network Layer was largely defined by the company creating the networking software (e.g., Novell, Banyan, etc.), and adhered to by the companies manufacturing the LAN adapters and writing the controlling software (i.e., the LAN drivers). This arrangement effectively “hid the MAC layer” without the need for LLC. Finally, few systems were deployed that could simultaneously support multiple protocols, so the multiplexing capabilities of LLC were largely unneeded.
As a consequence, LLC was implemented in only a handful of environments. For example, the IBM SNA environment, when deployed over token ring, uses LLC Type 2 (LLC2) service, which is the connection-oriented LLC service. This is because SNA is a connection-oriented network environment and needs a stable underlying network.
LLC Frame Format
To provide various types of service and support for multiple logical connections, the LLC Layer defines a header. The header has many of the characteristics of the header defined by the High-level Data Link Control (HDLC) Data Link Layer protocol. This should come as no surprise; LLC is based on HDLC, as are most Data Link Layer protocols. The LLC frame format is depicted on the visual.
The service access points (SAP) are used to identify the logical ends of a particular communication. The 8 bit field represents a point of access at which an upper layer protocol can receive services. For example, the SAP value X'E0 might represent the NetWare software in an end system, while the value X'F2 might represent TCP/IP. If an LLC frame arrives with destination SAP (DSAP) X'E0, the program is implementing NetWare. However, an LLC frame arriving with DSAP X'F2 is delivered to TCP/IP. The source SAP (SSAP) represents the transmitting end of the logical connection. Most of the time, the DSAP and SSAP values are identical.
The Control field in the LLC header is used to provide three different types of service. LLC Type 1 (LLC1) service is connectionless. LLC frames used to implement this service have the Control field value set to X’03, indicating that this is an Unnumbered Information (UI) frame (i.e., one that is not part of an established connection). Most LAN software implements LLC1 service.
LLC Type 2 (LLC2) service is connection-oriented. The Control field can take on several different values in these frames. One value indicates that the frame is a request to establish a connection. Another value is used to acknowledge receipt of a previous frame. Another value is used to request the transmitter to slow down (i.e., flow control). These frames are exchanged between the transmitter and the receiver according to a defined protocol. The result is an orderly, connection-oriented, stream of information between the two systems. LLC2 is most commonly found in environments implementing SNA and/or NetBEUI.
LLC Type 3 (LLC3) service is an acknowledged, connectionless service. Like LLC1, no connection is established. However, each transmission is explicitly acknowledged by the recipient. The Control field defines a number of codes used to implement this service, though LLC3 is rarely implemented.
When implemented, the LLC frame format depicted on the visual is carried in the Data field of a MAC frame.