MLDesign Technologies, Inc.






IEEE 802.11 MAC

A detailed implementation

The MAC Library is an implementation of the formal description of MAC operation from the ANSI/IEEE Std 802.11, 1999 Edition. The model is a direct conversion of the ITU Specification and Description Language (SDL) to the MLDesigner Finite State Machine (FSM) language. The 802.11 MAC model provides the MAC-SAP interface to convey MSDUs from and to the LLC entity, the MLME-SAP interface with all service primitives to receive and send indications, requests and confirms from and to a station management entity, and the PHY-SAP interface with all service primitives to interact with the PHY layer. All parameters of the primitives are stored in data structures, which are exchanged between the modules. All frametypes are supported as data structures. All required 802.11 parameters, such as PHY characteristics, can be specified in the model. Note: WEP and encryption are not yet implemented.

Key Features of the 802.11 detailed MAC model:

  • Distributed coordination function
  • Point coordination function
  • Backoff procedure
  • Physical and virtual carrier sense
  • RTS/CTS exchange
  • Fragmentation, defragmentation, retransmission, duplicate filtering,
  • Synchronization, power management
  • Association and reassociation

The top-level block diagram for the 8802.11 MAC model is shown below. It consists of six major components, each represented at the top level by a single block.

  • MAC Data Service Module
  • MPDUGeneration Module
  • Protocol Control Module
  • Tranmission Module
  • Reception Module
  • MLME Module

Each block contains lower-level block diagrams which, in turn, contain lower level block diagrams and Finite State Machine descriptions.The contents of the transmission block are shown below, followed by the FSM for the backoff procedure block.

Top-level 802.11 MAC block diagram
Top-level 802.11 MAC block diagram
Transmission block/function
Transmission block/function
Backoff procedure FSM
Backoff procedure FSM

Modules and functions

The primary actions of the top level components are listed below.

MAC Data Service Module


  • MSDU from LLC FSM validates request parameters, attaches a basic MACheader and sends the MSDU to MAC sublayer
  • MSDU to LLC FSM extracts the appropriate address and status info, removes the MAC header from the MSDU, generates the indication to LLC

MPDUGeneration Module

  • Prepare MPDU FSM converts outgoing Msdus and Mmpdus into Mpdus, fragmenting
  • PM Filter FSM queues frames

Protocol Control Module

  • Tx Coordination FSM RTS and ATIM generation
  • Rx Coordination FSM Generates acknowledgements, routes data frames to Rx Coordination FSM Generates acknowledgements, routes data frames to

Tranmission Module

  • Backoff Procedure FSM calculates the random backoff time
  • Data Pump FSM sends an MPDUto the PHY

Reception Module

  • Validate MPDU FSM receives an MPDU from the PHY
  • Channel State FSM maintains channel state based on physical and virtual carrier sense
  • Filter MPDU FSM filters valid received Frames, detecting duplicated unicast frames
  • Defrag FSM deragmentation of fragmented frames

MLME Module

  • Power Save Monitor FSM--records power save state
  • Distribute MPDUs FSM-- routes MPDU and SationSate update signals from and to the MLME operational services
  • AuthReqService FSM handles (De)Authenticate requests and the generation of responses for class2 errors
  • AsocService FSM Associate, Reassociate and Disassociate
  • Synchronization activ/passiv scanning, join, beacon, and timing synchronization.