Subnetwork Access Protocol
Encyclopedia
The Subnetwork Access Protocol (SNAP) is a mechanism for multiplexing, on networks using IEEE 802.2
LLC
, more protocols than can be distinguished by the 8-bit 802.2 Service Access Point
(SAP) fields. SNAP supports identifying protocols by Ethernet
type field values; it also supports vendor-private protocol identifier spaces. It is used with IEEE 802.3
, IEEE 802.4, IEEE 802.5, IEEE 802.11
and other IEEE 802
physical network layer
s, as well as with non-IEEE 802 physical network layers such as FDDI that use 802.2 LLC.
SNAP is included in an extension of the 802.2 LLC header; it is specified in the IEEE 802 Overview and Architecture document. A packet with an LLC header with a destination SAP of hexadecimal AA or AB and a source SAP of hexadecimal AA or AB is a SNAP packet. The SNAP header follows the 802.2 header; it has a 5-octet protocol identification field, consisting of a 3-octet IEEE Organizationally Unique Identifier
(OUI) followed by a 2-octet protocol ID. If the OUI is hexadecimal 000000, the protocol ID is the Ethernet type (EtherType
) field value for the protocol running on top of SNAP; if the OUI is an OUI for a particular organization, the protocol ID is a value assigned by that organization to the protocol running on top of SNAP.
SNAP is usually used with Unnumbered Information 802.2 protocol data unit
s (PDUs), with a control field value of hexadecimal 03, and the LSAP values are usually hexadecimal AA, so the 802.2 LLC header for a SNAP packet is usually AA AA 03; however, SNAP can be used with other PDU types as well.
The LLC header is 3 octets, and the SNAP header is 5 octets, so the LLC+SNAP headers are 8 octets long in total. On Ethernet, this reduces the size of the available payload for protocols such as the Internet Protocol
to 1492 bytes, compared to the use of the Ethernet II framing; therefore, for protocols that have EtherType values, packets are usually transmitted with Ethernet II headers rather than with LLC and SNAP headers. On other network types, the LLC and SNAP headers are required in order to multiplex different protocols on the link layer, as the MAC layer doesn't itself have an EtherType field, so there's no alternative framing that would have a larger available payload.
One might ask "why is a separate sub-network header necessary?". The answer is that it was to augment a decision that was made during the layout of the LLC header. At the time that the LLC header was being designed it was thought that a single octet (256 possible values) in the header would be enough to specify all the protocol values that vendors would want to register. As the values began to be reserved, it was discovered that the LLC header would soon run out of open values. The hexadecimal AA and AB values were reserved, and an additional header—the SNAP header—was developed; it can support all EtherType values, as well as multiple spaces of private protocol values.
As per IETF RFC 1042, IP datagrams and ARP datagrams are transmitted over IEEE 802 networks using LLC and SNAP headers, except on Ethernet/IEEE 802.3, where they are transmitted with Ethernet II headers, as per RFC 894.
IEEE 802.2
IEEE 802.2 is the IEEE 802 standard defining Logical Link Control , which is the upper portion of the data link layer of the OSI Model. The LLC sublayer presents a uniform interface to the user of the data link service, usually the network layer...
LLC
Logical Link Control
The logical link control data communication protocol layer is the upper sub-layer of the data link layer in the seven-layer OSI reference model...
, more protocols than can be distinguished by the 8-bit 802.2 Service Access Point
Service Access Point
A Service Access Point is an identifying label for network endpoints used in Open Systems Interconnection networking.When using the OSI Network Layer , the base for constructing an address for a network element is an NSAP address, similar in concept to an IP address...
(SAP) fields. SNAP supports identifying protocols by Ethernet
Ethernet
Ethernet is a family of computer networking technologies for local area networks commercially introduced in 1980. Standardized in IEEE 802.3, Ethernet has largely replaced competing wired LAN technologies....
type field values; it also supports vendor-private protocol identifier spaces. It is used with IEEE 802.3
IEEE 802.3
IEEE 802.3 is a working group and a collection of IEEE standards produced by the working group defining the physical layer and data link layer's media access control of wired Ethernet. This is generally a local area network technology with some wide area network applications...
, IEEE 802.4, IEEE 802.5, IEEE 802.11
IEEE 802.11
IEEE 802.11 is a set of standards for implementing wireless local area network computer communication in the 2.4, 3.6 and 5 GHz frequency bands. They are created and maintained by the IEEE LAN/MAN Standards Committee . The base version of the standard IEEE 802.11-2007 has had subsequent...
and other IEEE 802
IEEE 802
IEEE 802 refers to a family of IEEE standards dealing with local area networks and metropolitan area networks.More specifically, the IEEE 802 standards are restricted to networks carrying variable-size packets. IEEE 802 refers to a family of IEEE standards dealing with local area networks and...
physical network layer
Physical layer
The physical layer or layer 1 is the first and lowest layer in the seven-layer OSI model of computer networking. The implementation of this layer is often termed PHY....
s, as well as with non-IEEE 802 physical network layers such as FDDI that use 802.2 LLC.
SNAP is included in an extension of the 802.2 LLC header; it is specified in the IEEE 802 Overview and Architecture document. A packet with an LLC header with a destination SAP of hexadecimal AA or AB and a source SAP of hexadecimal AA or AB is a SNAP packet. The SNAP header follows the 802.2 header; it has a 5-octet protocol identification field, consisting of a 3-octet IEEE Organizationally Unique Identifier
Organizationally Unique Identifier
An Organizationally Unique Identifier is a 24-bit number that is purchased from the Institute of Electrical and Electronics Engineers, Incorporated Registration Authority...
(OUI) followed by a 2-octet protocol ID. If the OUI is hexadecimal 000000, the protocol ID is the Ethernet type (EtherType
EtherType
EtherType is a two-octet field in an Ethernet frame. It is used to indicate which protocol is encapsulated in the PayLoad of an Ethernet Frame. This field was first defined by the Ethernet II framing networking standard, and later adapted for the IEEE 802.3 Ethernet networking standard.EtherType...
) field value for the protocol running on top of SNAP; if the OUI is an OUI for a particular organization, the protocol ID is a value assigned by that organization to the protocol running on top of SNAP.
SNAP is usually used with Unnumbered Information 802.2 protocol data unit
Protocol data unit
In telecommunications, the term protocol data unit has the following meanings:#Information that is delivered as a unit among peer entities of a network and that may contain control information, address information, or data....
s (PDUs), with a control field value of hexadecimal 03, and the LSAP values are usually hexadecimal AA, so the 802.2 LLC header for a SNAP packet is usually AA AA 03; however, SNAP can be used with other PDU types as well.
The LLC header is 3 octets, and the SNAP header is 5 octets, so the LLC+SNAP headers are 8 octets long in total. On Ethernet, this reduces the size of the available payload for protocols such as the Internet Protocol
Internet Protocol
The Internet Protocol is the principal communications protocol used for relaying datagrams across an internetwork using the Internet Protocol Suite...
to 1492 bytes, compared to the use of the Ethernet II framing; therefore, for protocols that have EtherType values, packets are usually transmitted with Ethernet II headers rather than with LLC and SNAP headers. On other network types, the LLC and SNAP headers are required in order to multiplex different protocols on the link layer, as the MAC layer doesn't itself have an EtherType field, so there's no alternative framing that would have a larger available payload.
One might ask "why is a separate sub-network header necessary?". The answer is that it was to augment a decision that was made during the layout of the LLC header. At the time that the LLC header was being designed it was thought that a single octet (256 possible values) in the header would be enough to specify all the protocol values that vendors would want to register. As the values began to be reserved, it was discovered that the LLC header would soon run out of open values. The hexadecimal AA and AB values were reserved, and an additional header—the SNAP header—was developed; it can support all EtherType values, as well as multiple spaces of private protocol values.
As per IETF RFC 1042, IP datagrams and ARP datagrams are transmitted over IEEE 802 networks using LLC and SNAP headers, except on Ethernet/IEEE 802.3, where they are transmitted with Ethernet II headers, as per RFC 894.