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 |
低 |
等待时间占用空中资源 |
重传率 |
高 |
高干扰环境重传多,效率骤降 |
竞争设备数 |
高 |
设备越多,退避等待越长 |