# 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 | 低 | 等待时间占用空中资源 | | 重传率 | 高 | 高干扰环境重传多,效率骤降 | | 竞争设备数 | 高 | 设备越多,退避等待越长 | ```{toctree} :maxdepth: 2 :hidden: csma_ca frame_format power_save qos ```