Subnetwork Access Protocol
This article needs additional citations for verification. (January 2018) |
The Subnetwork Access Protocol (SNAP) is a mechanism for multiplexing, on networks using
The SNAP and
Background
The OSI model uses a Service Access Point (SAP) to define the communication between layers (like Network, Transport, Session, and the other layers of the seven-layer model), that is to identify which protocol should process an incoming message. Within a given layer, programs can exchange data by a mutually agreed-upon protocol mechanism. A pair of programs that do not support a common protocol cannot communicate with each other. Thus for multiple protocols to coexist within a layer, it is necessary to determine which protocol is invoked to process a service data unit delivered by the lower layer.
The most common reference to SAP, including a Source Service Access Point (SSAP) and a Destination Service Access Point (DSAP) refers to the boundary between the Data Link Layer and the Network Layer. It is common to think of SAP only in terms of its use at Layer 2, specifically in its
Standard Network layer protocols have been assigned reserved LLC addresses, as recorded in ISO/IEC TR 11802-1. One half of the LLC address space is reserved for such assignment. Other protocols are accommodated in two ways. One way is by local assignment of LSAPs, for which the other half of the LLC address space is available. The second way is to use a particular reserved LLC address value that has been assigned for use in conjunction with the Sub-network Access Protocol (SNAP) is called the SNAP address. The SNAP address identifies, at each MAC SAP, a single LSAP. Thus, each protocol using SNAP must employ a protocol identifier. Thus, the Subnetwork Access Protocol (SNAP) is a mechanism for multiplexing, on networks using
Use
The SNAP is an extension of the 802.2 LLC specified in the IEEE 802 Overview and Architecture document.[1] The 5-octet SNAP header follows the 802.2 LLC header if the destination SAP (DSAP) and the source SAP (SSAP) contain hexadecimal values of AA or AB:
802.2 LLC Header | SNAP extension | |||
---|---|---|---|---|
DSAP | SSAP | Control | OUI | Protocol ID |
1 octet | 1 octet | 1 or 2 octets | 3 octets | 2 octets |
The SNAP header consists of a 3-octet
SNAP is usually used with Unnumbered Information 802.2 protocol data units (PDUs), with a control field value of 3, 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.
On
One might ask, "why is a separate sub-network header necessary?". The answer is that it was to augment a decision 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 and multiple spaces of private protocol values.
As per
References
- IEEE, retrieved 2014-08-02