… an alternative to Baggy Pants
by Rick Murphy, WiTS
The IEEE 802.11 Dual Band Prism simulator was submitted to the 802.11 Working Group (WG) Architectural (ARC) standing committee in March of 2014. The simulator is intended to help visualize how frames may be forwarded through an 802.11-based dual-band access point. The graphics and scripting were created using Adobe Flash development environment and the final output file was converted to HTML5 using Google Swiffy.
The assumption is that the data service architecture and frame forwarding procedures used in a dual-band access point are a bit more complicated than those for a single-band access point. The single-band access point perspective is well defined and explained within the IEEE Std 802.11-2016 Clause 4.3.5 – Distribution system (DS) concepts and depicted graphically in Clause 5.1.5 – MAC data service architecture, Figure 5-2 – MAC data plane architecture. This graphic depiction is, humorously, referred to as “the baggy pants model”. Baggy pants refers to the two protocol stacks contained within a single band access point which are connected by a Distribution System.
Frame forwarding simulation using Baggy Pants model.
Original animation created by Rick Murphy as part of CWNA v3.0 – 2005 courseware
The “Prism” model was created because baggy pants does not correctly help visualize all possible interactions between the three protocol stacks and physical interfaces of a dual-band AP.
Frame forwarding simulation using Prism model.
Original animation contributed to IEEE 802.11 Arc standing committee – 2014
When the prism simulator is first opened the viewer is present with triangular column image (prism) representing a dual-band access point. Each side of the prism represents one of the physical interfaces (5 GHz, 2.4 GHz, or Ethernet) available on the AP. The initial view starts with the 5 GHz interface facing front. Four buttons can be found below the prism image which allow you to choose the Destination Address (DA) target. They are labeled from left to right as:
- DA = This BSSID
- DA=This BSS
- DA=Adjoining BSS
- DA=Adjoining LAN
The instructions beneath the buttons say, “Select Destination Address for Ingress Frame”. In order to operate the simulator, the viewer can click any of the four buttons beneath the image and the simulator will walk through the processing steps necessary to deliver a frame being received from the air interface (at the bottom of the image) as it progresses up the 5 GHz stack.
DA = This BSSID
The first button starts an animation that simulates the processing steps required to deliver a frame that has been received on the AP’s 5 GHz interface and is intended for final receipt by this AP, for example a Probe Request.
After clicking the “DA = This BSSID” button a new set of controls will appear that allow the viewer to “Step Backward”, “Continue”, “Restart”, or “Step Forward”. Since the simulation will proceed quickly it is advisable to click either the Step Backward or Step Forward buttons to pause the animation and then step backward or forward as desired to control the details.
The incoming frame is shown as several white boxes grouped to represent the MAC header and Frame Body. The MAC header is simplified to show only the Destination Address (DA), Transmitter Address (TA), Receiver Address (RA), and Basic Service Set Identifier address (BSSID) fields. In the first case the MAC address of the AP (BSSID) is XX:XX:XX:XX:XX:XX and the frame being received has been transmitted to XX:XX:XX:XX:XX:XX from BB:BB:BB:BB:BB:BB.
At each step as the frame rises up the stack you can see the name of the current process as its occurring displayed in colored lettering. After the step completes the process name changes to gray. In this case the frame is an MMPDU, intended for the BSSID, so it disappears at the top of the prism. Following the completion of the steps the viewer may watch the animation repeat or click the Restart button which returns the simulation to its initial startup state.
By clicking the second button, “DA=This BSS”, the viewer can see the processing steps required for a frame that has been transmitted from a client device, associated with this BSS, that is intended for delivery to another client, also associated with this BSS. This might be an example of a user data frame transfer. In this case the Destination Address is AA:AA:AA:AA:AA:AA and the transmitter Address is BB:BB:BB:BB:BB:BB. The Receiver Address in this case is equal to the BSSID which is XX:XX:XX:XX:XX:XX.
After determining that the frame is not intended for this BSSID, it’s directed to the Distribution System (top) to determine the next action to be taken. The precise way in which the frame forwarding path is determined is not standardized within the 802.11 protocol but is instead left open to implementation by the hardware manufacturers. However, manufacturers are likely to implement the actions already defined by other Layer 2 bridges. Under these rules the DA will be compared to all the other addresses currently listed in the BSS’s Association table. In this instance a match will be found because the destination client device is also associated to this BSS. Therefore the Frame Body will be retrofitted with a new, next hop MAC header and the frame will be sent back down the stack for transmission out the same interface it came in on.
The third button, “DA – Adjoining BSS”, will show what steps are necessary to forward a frame being received on the 5 GHz interface to a client device associated to this AP’s 2.4 GHz BSS. This could be another example of a user data frame transfer. In this case the DA is DD:DD:DD:DD:DD:DD and the TA is BB:BB:BB:BB:BB:BB. The BSSID remains XX:XX:XX:XX:XX:XX.
Once again, the 802.11 protocol does not standardize how the hardware manufacturer determines the best course for forwarding frames through the Distribution System, but one likely manner in which this could happen would be for the DS to first compare the DA to all entries contained in its Association table. Since there will be no match, the DS would hand the frame off to the Integration Service (IS), a subset of the DS, for further processing. The IS could then forward the frame to either or both the remaining interfaces (2.4 GHz and Ethernet). In this case, the frame will be forwarded by the IS, and accepted by the 2.4 GHz interface. A new MAC header will be appended to the original frame body and the frame will travel back down the stack for transmission out to the 2.4 GHz BSS.
In the final scenario, a frame intended for a client device attached to or across the local Ethernet segment will be received on the 5 GHz interface. This is another example of a user data frame transfer. The DA for this frame is DD:DD:DD:DD:DD:DD and the TA is BB:BB:BB:BB:BB:BB. The BSSID of this WLAN remains as XX:XX:XX:XX:XX:XX.
As in the third example, the DS could compare the DA to all of its entries in its Association table. After not finding a match, it hands the frame off to the Integration Service for delivery. As above the IS may flood the frame to both remaining interfaces or forward it more selectively. In this case the frame will end up on the Ethernet interface where the 802.11 MAC header will be replaced with an 802.3 header. Finally, the frame will be sent down the stack and placed onto the Ethernet segment for delivery.