MAC 层协议概述

MAC(Media Access Control,介质访问控制)层是 IEEE 802.11 协议栈的核心,负责管理无线介质的访问、帧的封装与解封装、以及设备间的协调通信。

MAC 层的位置

┌─────────────────────────────────┐
│         Application Layer       │
├─────────────────────────────────┤
│           Transport Layer       │
├─────────────────────────────────┤
│            Network Layer        │
├─────────────────────────────────┤
│          Data Link Layer        │
│  ┌───────────┐  ┌─────────────┐ │
│  |   LLC     |  |     MAC     | │
│  │(802.2)    │  │  (802.11)   │ │
│  └───────────┘  └─────────────┘ │
├─────────────────────────────────┤
│         Physical Layer (PHY)    │
└─────────────────────────────────┘

MAC 层的主要功能

1. 介质访问控制

WiFi 使用 CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance)协议来管理多个设备对共享无线介质的访问。与以太网的 CSMA/CD 不同,WiFi 采用"避免碰撞"而非"检测碰撞"的策略。

2. 帧封装

MAC 层将上层数据封装为 MAC 帧,添加地址字段、控制信息和完整性校验:

| Frame Control | Duration | Addr1 | Addr2 | Addr3 | SEQ | Addr4(opt) | QCtrl(opt) | Timestamp(opt) | Data | FCS |
|      2        |    2     |   6   |   6   |   6   |  4  |     0/6    |    0/2     |       0/8       | var  |  4  |

3. 关联与管理

  • 扫描:主动扫描(Probe Request/Response)和被动扫描(监听 Beacon)

  • 认证:Open System / Shared Key / 802.1X

  • 关联:Association Request/Response / Reassociation

  • 保活:RTS/CTS、PS-Poll

4. 重传与可靠性

MAC 层提供可靠传输保障:

  • ACK 机制:每个数据帧都需要接收方回复 ACK

  • 重传机制:未收到 ACK 则重传,最多 retry_limit 次

  • 退避算法:二进制指数退避(Binary Exponential Backoff)

MAC 层速率与吞吐量

MAC 层 vs PHY 层速率

PHY 空中速率 ≠ 实际吞吐量

实际吞吐量 = PHY速率 × MAC效率 × 协议开销因子

典型效率:30%-60%(取决于帧大小、重传率、竞争强度)

影响吞吐量的因素

因素

影响程度

说明

帧大小

大帧效率高(固定开销占比小)

ACK 开销

每个数据帧都需要 ACK

DIFS/SIFS

等待时间占用空中资源

重传率

高干扰环境重传多,效率骤降

竞争设备数

设备越多,退避等待越长