Subnetwork Access Protocol
Although the Logical Link Control (LLC) Layer is responsible for providing service access points (SAP), the number of available SAPs is small. Of the 8 bits that make up the SAP, two are reserved, leaving only 6 bits for a total of 64 unique SAPs. Most of these are reserved for use by IEEE and ISO protocols. This creates a problem for some protocol environments, especially those that were originally designed to operate over Ethernet.
The Ethernet frame format includes a 2 octet Type field. This field records the particular protocol residing in the Data field of the Ethernet frame. This function is not unlike the function of the LLC destination SAP (DSAP) and source SAP (SSAP). However, with 2 octets, over 65 thousand unique identifiers can be created. Some suites (e.g., AppleTalk) that made use of this rich set of identifiers found the limited number of SAPs in LLC a problem.
Fortunately, IEEE and ISO reserved one of the SAPs (X'AA) for non-IEEE/ISO protocols. Because this SAP is shared by all non-IEEE/ISO protocols, another layer of protocol is needed. When the DSAP and SSAP are set to X'AA, they indicate that the LLC Data field carries a Subnetwork Access Protocol (SNAP) frame. Because SNAP is always associated with LLC1 service, the Control field is set to X’03 (i.e., Unnumbered Information). The SNAP frame consists of a 5 octet protocol discriminator and a Data field. The protocol discriminator is used to distinguish one upper layer protocol from another.
The use of SNAP is somewhat analogous to the 4 digit extension added to the zip code several years ago. As it became clear that the 5 digit number was not enough to represent all of the locations in the U.S., an extension was added to increase the number of zip codes available. The SNAP protocol discriminator effectively increases the number of “SAPs” available in an IEEE environment.