A Field Guide to Wireless LANs for Administrators and Power Users

No book on IEEE 802.11 would be complete without a description of the MAC sub-layer protocol's frame structure. One of the key operations performed by the MAC sub-layer of the Data Link layer is known as "framing," which is the process of encapsulating the higher-layer protocol packet (which may or may not be a Network layer protocol packet) in a set of MAC sub-layer headers, and appending a MAC sub-layer trailer, which most often is simply an error-detecting sequence. Framing also includes defining an interface to the Physical layer that can support the successful exchange of long sequences of bits across the Physical medium, which in the case of WLANs is especially unreliable.

The Data Link layer header will include at least the following three items:

  • MAC sub-layer Destination Address (MAC-DA)

  • MAC sub-layer Source Address (MAC-SA)

  • Information to identify the higher-layer protocol payload (carried in the LLC sub-layer, by either the LLC sub-layer protocol or the LLC sub-layer protocol in conjunction with the Sub-Network Access Protocol (SNAP)

The first two items are MAC sub-layer items, and the third item in the list is frequently found in the form of a "type" or "protocol" field that indicates which kind of higher layer packet is embedded in the frame. Strictly speaking, this is an LLC sub-layer function. Note that I did not say "LLC sub-layer protocol," since it is possible to have Data Link protocols that are not divided into LLC and MAC sub-layers. The original Ethernet is an example of such a Data Link layer protocol.

The IEEE 802.2 LLC sub-layer protocol does provide a limited form of de-multiplexing for higher layer protocols via its one-octet Destination and Source Service Access Point (DSAP and SSAP) fields. Due to the limited number of LLC SAPs, there is another protocol in the LLC sub-layer known as the Subnetwork Access Protocol (SNAP), which has a full two-octet Type field and is layered on top of the LLC protocol.

Figure 4-1 shows the decomposition of the LLC and MAC sub-layers into their constituent protocols (of course, the MAC sub-layer has only one protocol). The most common form of the LLC sub-layer protocol occupies three octets, and the SNAP protocol, if present, consumes a further five octets.

Figure 4-1. LLC and MAC sub-layers versus MAC, LLC, and SNAP protocols[1]

[1] Adapted from IEEE Std. 802®-2001, copyright 2001, and IEEE Std. 802.2-1998, copyright 1998. All rights reserved.

The MAC Sub-layer versus the Data Link Layer

Before continuing with the discussion of the IEEE 802.11 MAC sub-layer protocol, we should emphasize that the Ethernet header represents more than just a MAC sub-layer protocol header…it is actually a complete Data Link layer header. This point bears repeating, since the terms "MAC layer" and "Ethernet" are frequently used almost interchangeably. In the IEEE world, the MAC layer has very specific functions, and Ethernet is not, in fact, a MAC-layer protocol, hence the opportunity for confusion.

The Ethernet protocol was designed before there was such a thing as a MAC or LLC sub-layer, so Ethernet's header structure had to support all the functions of the Data Link layer. Thus, the Ethernet frame's header ends with a two-octet "Type" field that is used to identify the higher layer protocol payload within the Ethernet frame body.[2] The reason to belabor this point is that it is not the case that IEEE 802.11 has such a field, which implies that (unlike Ethernet) IEEE 802.11 requires the presence of the IEEE 802.2 LLC sub-layer protocol in all of its data frames.

[2] This is probably a good place to point out that the author uses the word "frame" to refer to a layer-2 protocol data unit (PDU), whereas he uses the term "packet" to refer to a layer-3 PDU. In certain contexts (i.e., TCP), the term "segment" is appropriate as a term for a layer-4 PDU.

The IEEE 802 version of Ethernet, IEEE 802.3, uses the two-octet field (which Ethernet uses to indicate the higher layer protocol's Type) as a Length field. When the final two octets of the "Ethernet" header are used in this way, the "multiplexing" function is forced to lie within a higher layer; in other words, in the LLC sub-layer protocol header.

In modern terms, the MAC sub-layer protocol portion of IEEE 802.3's header consists of simply the Destination Address and Source Address fields. The structure of an Ethernet frame (very similar to an IEEE 802.3 frame) is shown in Figure 4-2.[3]

[3] Adapted from IEEE Std. 802.3-2002, copyright 2002. All rights reserved.

Figure 4-2. Structure of an Ethernet frame[3]

The "FCS" in the Ethernet frame's trailer stands for Frame Check Sequence. The MAC sub-layer protocols produced by the IEEE (including IEEE 802.3 and IEEE 802.11, among others) tend to use the 32-bit Cyclic Redundancy Check (CRC-32) as their FCS algorithm. This algorithm is not perfect it cannot detect all types of transmission errors but it is a "quick and dirty" way to determine if a frame is probably error-free.

Not shown in Figure 4-2, but still present, are Ethernet's seven-octet preamble and its one-octet SFD,[4] both of which are transmitted immediately prior to the Ethernet Destination Address, to allow the receiver to precisely synchronize its clock to the sender's clock. After a frame has been completely transmitted, there is also an inter-frame gap, nominally 96 bit-times in length, that must be observed by MAC sub-layer entities, to give the medium a chance to "settle" prior to the transmission of the next frame. Other MAC sub-layer protocols may or may not have the equivalent of Ethernet's inter-frame gap.

[4] Actually, the original Ethernet did not have a "Start of Frame Delimiter" (SFD in IEEE 802.3 parlance), it had an eight-octet preamble that consisted of alternating 1s and 0s (which is just what the seven-octet IEEE 802.3 preamble consists of).

The receiver must be able to maintain synchronization throughout the duration of the frame. Once the receiver's clock is synchronized to the sender's (which happens during the preamble), the bits or symbols (sets of bits) that are transmitted thereafter typically have a self-synchronizing capability that allows the receiver's clock to remain locked to the sender's precise rate of transmission.

The LMSC concept of the MAC sub-layer involves issues such as conveying information necessary to get the frame on to and off of the medium, such as frame synchronization, frame control information, frame addressing information, and so on. The higher layer protocol multiplexing function is technically part of the LLC sub-layer protocol(s).

Категории