跳转至

第五章:MAC 层架构

深入解析 WiFi MAC 层:CSMA/CA 机制、帧结构、块确认、功耗管理及 QoS 支持


5.1 MAC 层概述

5.1.1 MAC 层功能

┌─────────────────────────────────────────────────────────┐
│              WiFi MAC 层功能                             │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  1. 信道访问控制                                        │
│     ├─ CSMA/CA (载波侦听多路访问/冲突避免)              │
│     ├─ 随机退避                                        │
│     └─ 虚拟载波侦听 (NAV)                              │
│                                                         │
│  2. 帧封装/解封装                                       │
│     ├─ 添加 MAC 头部和尾部                               │
│     ├─ 帧校验序列 (FCS)                                │
│     └─ 帧聚合 (A-MSDU/A-MPDU)                          │
│                                                         │
│  3. 可靠性保障                                          │
│     ├─ 确认机制 (ACK/BA)                               │
│     ├─ 自动重传 (ARQ)                                  │
│     └─ 序列号管理                                      │
│                                                         │
│  4. 连接管理                                            │
│     ├─ 扫描 (主动/被动)                                │
│     ├─ 认证和关联                                      │
│     └─ 漫游                                            │
│                                                         │
│  5. 功耗管理                                            │
│     ├─ 节能模式 (PSM)                                  │
│     ├─ U-APSD                                          │
│     └─ TWT (WiFi 6)                                    │
│                                                         │
│  6. 安全                                                │
│     ├─ 加密 (TKIP/CCMP/GCMP)                           │
│     ├─ 认证 (PSK/802.1X)                               │
│     └─ 密钥管理                                        │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.1.2 DCF/PCF/HCF 对比

┌─────────────────────────────────────────────────────────┐
│              MAC 协调功能对比                             │
├──────────┬─────────┬─────────┬─────────┬─────────┬──────┤
│  功能    │   DCF   │   PCF   │   HCF   │  EDCA   │HCCA  │
│          │(分布式) │ (点协调)│ (混合)  │(增强 DCF)│      │
├──────────┼─────────┼─────────┼─────────┼─────────┼──────┤
│ 标准     │ 802.11  │802.11   │802.11e  │802.11e  │802.11│
│ 访问方式 │ 竞争    │ 轮询    │ 竞争 + 轮询│ 竞争    │ 轮询 │
│ 优先级   │ 无      │ 有      │ 有      │ 4 级     │ 有   │
│ QoS 支持  │ 无      │ 有限    │ 有      │ 有      │ 有   │
│ 典型应用 │ 普通数据│ 语音    │ 多媒体  │ 多媒体  │ 语音 │
│ 普及度   │ 广泛    │ 很少    │ 中等    │ 广泛    │ 很少 │
└──────────┴─────────┴─────────┴─────────┴─────────┴──────┘

DCF (分布式协调功能):
└─ 所有设备平等竞争信道

PCF (点协调功能):
├─ AP 轮询各 STA
└─ 无竞争访问 (CFP)

HCF (混合协调功能):
├─ EDCA: 增强分布式信道访问 (竞争)
└─ HCCA: HCF 控制信道访问 (轮询)

5.2 CSMA/CA 机制

5.2.1 CSMA/CA 原理

┌─────────────────────────────────────────────────────────┐
│              CSMA/CA 工作流程                            │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  发送流程:                                             │
│                                                         │
│  1. 载波侦听 (CCA)                                      │
│     ├─ 物理载波侦听:检测 RF 能量                         │
│     └─ 虚拟载波侦听:检查 NAV                           │
│                                                         │
│  2. 信道空闲?                                          │
│     ├─ 是:等待 DIFS                                    │
│     └─ 否:等待信道空闲 + DIFS                          │
│                                                         │
│  3. 随机退避                                            │
│     ├─ 选择随机退避计数器 (0 ~ CW)                       │
│     ├─ 每空闲时隙减 1                                    │
│     └─ 计数器归零时发送                                  │
│                                                         │
│  4. 发送数据                                            │
│                                                         │
│  5. 等待 ACK                                            │
│     ├─ 收到 ACK:成功,重置 CW                          │
│     └─ 超时:重传,CW = CW × 2                          │
│                                                         │
│  竞争窗口 (CW) 变化:                                   │
│  CWmin → CWmin×2 → CWmin×4 → ... → CWmax               │
│                                                         │
│  典型值 (802.11n):                                      │
│  ├─ CWmin = 15                                         │
│  └─ CWmax = 1023                                       │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.2.2 帧间间隔

┌─────────────────────────────────────────────────────────┐
│              帧间间隔 (IFS)                              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  SIFS (短帧间间隔):                                     │
│  ├─ 最短间隔,最高优先级                                │
│  ├─ 用于:ACK、CTS、数据分片                            │
│  └─ 典型值:10 μs (802.11a), 16 μs (802.11b)           │
│                                                         │
│  PIFS (PCF 帧间间隔):                                    │
│  ├─ SIFS + 1 时隙                                        │
│  ├─ 用于:PCF 轮询                                       │
│  └─ 典型值:25 μs (802.11a)                            │
│                                                         │
│  DIFS (DCF 帧间间隔):                                    │
│  ├─ SIFS + 2 时隙                                        │
│  ├─ 用于:DCF 数据发送                                    │
│  └─ 典型值:34 μs (802.11a)                            │
│                                                         │
│  AIFS (仲裁帧间间隔):                                   │
│  ├─ SIFS + AIFSN × 时隙                                 │
│  ├─ 用于:EDCA (QoS STA)                                │
│  └─ AIFSN 根据接入类别不同                               │
│                                                         │
│  时隙时间 (Slot Time):                                  │
│  └─ 典型值:9 μs (802.11a/n/ac)                        │
│                                                         │
│  时序图:                                               │
│                                                         │
│  DIFS 数据                                  ACK          │
│  │   │                                      │          │
│  ▼   ▼                                      ▼          │
│  ────┬──────────────────────────────────────┬────       │
│      │         数据帧                       │           │
│      │                                      │           │
│      ◄──────────── SIFS ───────────────────►           │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.2.3 虚拟载波侦听 (NAV)

┌─────────────────────────────────────────────────────────┐
│              虚拟载波侦听 (NAV)                          │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  NAV (网络分配向量):                                    │
│  ├─ 计数器,表示信道将被占用的时间                       │
│  ├─ 从帧头部的 Duration 字段获取                         │
│  └─ NAV>0 时,认为信道忙                                 │
│                                                         │
│  RTS/CTS 机制:                                         │
│                                                         │
│  发送方              接收方              其他 STA        │
│    │                   │                   │            │
│    │─── RTS ──────────►│                   │            │
│    │   (Duration=T1)   │                   │            │
│    │                   │─── CTS ──────────►│ NAV=T1     │
│    │                   │   (Duration=T2)   │ NAV 设置   │
│    │◄─── ACK ──────────│                   │            │
│    │                   │                   │            │
│                                                         │
│  作用:                                                 │
│  ├─ 解决隐藏节点问题                                    │
│  └─ 减少冲突                                            │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.3 帧结构

5.3.1 MAC 帧格式

┌─────────────────────────────────────────────────────────┐
│              MAC 帧格式                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌────────┬────────┬────────┬────────┬────────┬──────┐│
│  │Frame   │Duration│ Address│ Address│ Address│ ...  ││
│  │Control │        │   1    │   2    │   3    │      ││
│  │ 2 byte │2 byte  │6 byte  │6 byte  │6 byte  │      ││
│  └────────┴────────┴────────┴────────┴────────┴──────┘│
│                                                         │
│  ┌────────┬────────┬────────┬────────┐                 │
│  │ Address│ Sequence│QoS Ctrl│        │                 │
│  │   4    │ Control │(可选)  │ Frame  │                 │
│  │6 byte  │ 2 byte  │2 byte  │ Body   │                 │
│  └────────┴────────┴────────┴────────┘                 │
│                                                         │
│  ┌────────┬────────┐                                    │
│  │  FCS   │        │                                    │
│  │4 byte  │        │                                    │
│  └────────┴────────┘                                    │
│                                                         │
│  Frame Control 字段 (16 bit):                           │
│  ┌────┬────┬────┬────┬────┬────┬────┬────┐            │
│  │Proto│Type│Subtype│ToDS│FromDS│MoreFrag│Retry│       │
│  │2b  │2b  │ 4b   │1b  │ 1b   │ 1b   │1b  │            │
│  ├────┼────┼────┼────┼────┼────┼────┼────┤            │
│  │PwrMgt│MoreData│Protected│Order│                    │
│  │ 1b   │ 1b     │ 1b      │ 1b  │                    │
│  └────┴────┴────┴────┴────┴────┴────┴────┘            │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.3.2 管理帧

┌─────────────────────────────────────────────────────────┐
│              管理帧类型                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  Beacon (信标帧):                                       │
│  ├─ 用途:AP 定期广播,宣告网络存在                      │
│  ├─ 周期:典型 100 TU (102.4 ms)                        │
│  └─ 内容:SSID、支持速率、信道、安全能力等              │
│                                                         │
│  Probe Request/Response (探测请求/响应):                │
│  ├─ 用途:主动扫描网络                                  │
│  ├─ Request: STA 广播,查询附近 AP                       │
│  └─ Response: AP 单播回复,类似 Beacon                   │
│                                                         │
│  Authentication (认证帧):                               │
│  ├─ 用途:身份认证                                      │
│  ├─ 开放系统:两步 (请求 + 成功)                         │
│  └─ 共享密钥:四步 (WEP,已废弃)                        │
│                                                         │
│  Association Request/Response (关联请求/响应):          │
│  ├─ 用途:建立正式连接                                  │
│  ├─ Request: STA 请求加入 BSS                            │
│  └─ Response: AP 分配 AID,确认关联                      │
│                                                         │
│  Disassociation (解除关联):                             │
│  └─ 用途:终止关联 (礼貌断开)                            │
│                                                         │
│  Deauthentication (解除认证):                           │
│  └─ 用途:终止认证 (强制断开)                            │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.3.3 控制帧

┌─────────────────────────────────────────────────────────┐
│              控制帧类型                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  RTS (Request To Send):                                 │
│  ├─ 用途:请求发送,预约信道                            │
│  ├─ 内容:Duration (NAV 设置)                            │
│  └─ 触发:CTS 响应                                       │
│                                                         │
│  CTS (Clear To Send):                                   │
│  ├─ 用途:允许发送                                      │
│  ├─ 内容:Duration (更新 NAV)                            │
│  └─ 响应:RTS                                           │
│                                                         │
│  ACK (确认):                                            │
│  ├─ 用途:确认数据帧接收                                │
│  ├─ 内容:接收帧的控制字段副本                           │
│  └─ 发送:SIFS 后                                        │
│                                                         │
│  Block ACK Request (BAR):                               │
│  ├─ 用途:请求块确认                                    │
│  └─ 用于:A-MPDU 聚合传输                                 │
│                                                         │
│  Block ACK (BA):                                        │
│  ├─ 用途:一次确认多个帧                                │
│  ├─ 内容:位图,指示哪些帧收到                           │
│  └─ 用于:提高聚合传输效率                              │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.4 块确认 (Block ACK)

5.4.1 块确认原理

┌─────────────────────────────────────────────────────────┐
│              块确认机制                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  传统 ACK vs 块确认:                                   │
│                                                         │
│  传统 ACK:                                              │
│  数据 1 → ACK → 数据 2 → ACK → 数据 3 → ACK              │
│  (每个帧都需要 ACK,开销大)                              │
│                                                         │
│  块确认:                                               │
│  数据 1+2+3+...+N (A-MPDU) → Block ACK                  │
│  (一次确认多个帧,效率高)                                │
│                                                         │
│  块确认协商流程:                                       │
│                                                         │
│  发起方              响应方                             │
│    │                   │                                │
│    │── ADDBA Request ─►│                                │
│    │   (提议 BA 参数)   │                                │
│    │                   │                                │
│    │◄─ ADDBA Response ─│                                │
│    │   (接受/拒绝)     │                                │
│    │                   │                                │
│    │── 数据传输 (A-MPDU)─►                              │
│    │                   │                                │
│    │◄─ Block ACK ──────│                                │
│    │   (位图确认)      │                                │
│    │                   │                                │
│    │── DELBA ─────────►│ (结束 BA 会话)                  │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.4.2 BA 位图

┌─────────────────────────────────────────────────────────┐
│              块确认位图                                  │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  BA 位图结构:                                          │
│  ┌────────┬────────────────────────────────────────┐   │
│  │起始序号│           位图 (最多 64/256 bit)          │   │
│  │ 16 bit │                                        │   │
│  └────────┴────────────────────────────────────────┘   │
│                                                         │
│  位图含义:                                             │
│  ├─ bit 0: 起始序号帧是否收到                           │
│  ├─ bit 1: 起始序号 +1 帧是否收到                         │
│  └─ ...                                                │
│                                                         │
│  示例:                                                 │
│  起始序号 = 100                                         │
│  位图 = 10110001... (bit 0=1, bit 1=0, bit 2=1...)      │
│                                                         │
│  解释:                                                 │
│  ├─ 帧 100: 收到 (bit 0=1)                               │
│  ├─ 帧 101: 未收到 (bit 1=0)                             │
│  ├─ 帧 102: 收到 (bit 2=1)                               │
│  ├─ 帧 103: 收到 (bit 3=1)                               │
│  └─ ...                                                │
│                                                         │
│  重传:未收到的帧需要重传                               │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.5 帧聚合

5.5.1 A-MSDU (聚合 MAC 服务数据单元)

┌─────────────────────────────────────────────────────────┐
│              A-MSDU 结构                                 │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │              MAC Header                         │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  Subframe 1                                     │   │
│  │  ┌─────────┬─────────┬─────────────────────┐   │   │
│  │  │DA (6B)  │SA (6B)  │  MSDU (数据)        │   │   │
│  │  └─────────┴─────────┴─────────────────────┘   │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  Subframe 2                                     │   │
│  │  ┌─────────┬─────────┬─────────────────────┐   │   │
│  │  │DA (6B)  │SA (6B)  │  MSDU (数据)        │   │   │
│  │  └─────────┴─────────┴─────────────────────┘   │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  ...                                            │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │              FCS (4B)                           │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  特点:                                                 │
│  ├─ 多个 MSDU 聚合为一个 MAC 帧                           │
│  ├─ 单一 MAC 头,单一 FCS                                │
│  ├─ 最大长度:3839 bytes (802.11n), 7935 bytes (802.11ac)│
│  └─ 接收端需要全部正确才能解包                           │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.5.2 A-MPDU (聚合 MAC 协议数据单元)

┌─────────────────────────────────────────────────────────┐
│              A-MPDU 结构                                 │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  MPDU 1                                         │   │
│  │  ┌─────────┬─────────┬─────────┬─────────┐     │   │
│  │  │MAC 头    │ 帧体    │ FCS     │ 填充    │     │   │
│  │  │         │         │         │ (0-3B)  │     │   │
│  │  └─────────┴─────────┴─────────┴─────────┘     │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  MPDU 分隔符 (Delimiter)                         │   │
│  │  ┌─────────┬─────────┬─────────┐               │   │
│  │  │ 长度    │ CRC     │ 签名    │               │   │
│  │  │ (12b)   │ (8b)    │ (8b)    │               │   │
│  │  └─────────┴─────────┴─────────┘               │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  MPDU 2                                         │   │
│  └─────────────────────────────────────────────────┘   │
│  ┌─────────────────────────────────────────────────┐   │
│  │  ...                                            │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  特点:                                                 │
│  ├─ 多个 MPDU 聚合,每个有独立 MAC 头和 FCS                │
│  ├─ 通过分隔符分隔                                      │
│  ├─ 最大长度:65536 bytes                              │
│  └─ 接收端可部分确认 (通过 Block ACK)                   │
│                                                         │
│  A-MSDU vs A-MPDU:                                      │
│  ├─ A-MSDU: 效率高,但错误影响大                        │
│  └─ A-MPDU: 更灵活,支持部分确认                        │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.6 功耗管理

5.6.1 节能模式 (PSM)

┌─────────────────────────────────────────────────────────┐
│              节能模式 (PSM)                              │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  基本原理:                                             │
│  ├─ STA 周期性睡眠,减少功耗                            │
│  ├─ AP 缓存发往睡眠 STA 的数据                           │
│  └─ STA 定期唤醒,检查是否有缓存数据                    │
│                                                         │
│  工作流程:                                             │
│                                                         │
│  STA                   AP                               │
│   │                     │                               │
│   │── 关联 (PSM=1) ────►│                               │
│   │   (进入节能模式)    │                               │
│   │                     │                               │
│   │◄── Beacon ──────────│                               │
│   │   (TIM=1, 有缓存数据)│                              │
│   │                     │                               │
│   │── PS-Poll ─────────►│ (请求缓存数据)                │
│   │                     │                               │
│   │◄── 数据 ────────────│                               │
│   │                     │                               │
│   │── ACK ─────────────►│                               │
│   │                     │                               │
│   │  (返回睡眠)         │                               │
│                                                         │
│  TIM (流量指示图):                                      │
│  ├─ Beacon 中包含,指示哪些 STA 有缓存数据                 │
│  ├─ DTIM (交付 TIM): 指示广播/组播数据                   │
│  └─ 典型 DTIM 间隔:1-3 个 Beacon                          │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.6.2 U-APSD (自动省电交付)

┌─────────────────────────────────────────────────────────┐
│              U-APSD (802.11e)                            │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  改进的节能模式:                                       │
│  ├─ STA 触发 AP 发送缓存数据                              │
│  ├─ 减少 PS-Poll 开销                                    │
│  └─ 支持 QoS 流量                                         │
│                                                         │
│  工作流程:                                             │
│                                                         │
│  STA                   AP                               │
│   │                     │                               │
│   │── 触发帧 ──────────►│ (任意上行数据)                │
│   │                     │                               │
│   │◄── 服务周期开始 ────│                               │
│   │                     │                               │
│   │◄── 数据 1 ──────────│                               │
│   │── ACK ─────────────►│                               │
│   │                     │                               │
│   │◄── 数据 2 ──────────│                               │
│   │── ACK ─────────────►│                               │
│   │                     │                               │
│   │◄── EOSP 数据 ───────│ (服务周期结束指示)            │
│   │── ACK ─────────────►│                               │
│   │                     │                               │
│   │  (返回睡眠)         │                               │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.6.3 TWT (目标唤醒时间,WiFi 6)

┌─────────────────────────────────────────────────────────┐
│              TWT (Target Wake Time)                      │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  WiFi 6 新特性:                                         │
│  ├─ AP 与 STA 协商唤醒时间                               │
│  ├─ STA 只在约定时间唤醒                                 │
│  └─ 大幅降低功耗,适合 IoT 设备                           │
│                                                         │
│  TWT 协商:                                             │
│                                                         │
│  STA                   AP                               │
│   │                     │                               │
│   │── TWT Request ─────►│                               │
│   │   (建议唤醒时间)    │                               │
│   │                     │                               │
│   │◄── TWT Response ────│                               │
│   │   (确认/修改)       │                               │
│   │                     │                               │
│   │  (睡眠直到 TWT)     │                               │
│   │                     │                               │
│   │  [TWT 到达]          │                               │
│   │                     │                               │
│   │  (唤醒,收发数据)   │                               │
│   │                     │                               │
│   │  (返回睡眠)         │                               │
│                                                         │
│  TWT 类型:                                             │
│  ├─ 个体 TWT: 每个 STA 独立协商                           │
│  └─ 广播 TWT: 一组 STA 共享相同时隙                       │
│                                                         │
│  优势:                                                 │
│  ├─ 减少竞争                                            │
│  ├─ 延长电池寿命                                        │
│  └─ 支持更多 IoT 设备                                     │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.7 QoS 支持 (802.11e)

5.7.1 接入类别 (AC)

┌─────────────────────────────────────────────────────────┐
│              接入类别 (Access Category)                  │
├──────────┬─────────┬─────────┬─────────┬─────────┬──────┤
│   AC     │  AIFSN  │  CWmin  │  CWmax  │ TXOP   │ 优先级│
├──────────┼─────────┼─────────┼─────────┼─────────┼──────┤
│ AC_BK    │   7     │   31    │  1023   │  0     │  最低 │
│ (背景)   │         │         │         │        │      │
├──────────┼─────────┼─────────┼─────────┼─────────┼──────┤
│ AC_BE    │   3     │   31    │  1023   │  0     │  普通 │
│ (尽力而为)│         │         │         │        │      │
├──────────┼─────────┼─────────┼─────────┼─────────┼──────┤
│ AC_VI    │   2     │   15    │   31    │ 3.008ms│  高   │
│ (视频)   │         │         │         │        │      │
├──────────┼─────────┼─────────┼─────────┼─────────┼──────┤
│ AC_VO    │   2     │    7    │   15    │ 1.504ms│  最高 │
│ (语音)   │         │         │         │        │      │
└──────────┴─────────┴─────────┴─────────┴─────────┴──────┘

说明:
├─ AIFSN 越小,等待时间越短,优先级越高
├─ CWmin 越小,退避范围越小,获得信道概率越高
└─ TXOP: 传输机会,一次获得信道后可连续发送的时间

5.7.2 EDCA 机制

┌─────────────────────────────────────────────────────────┐
│              EDCA (增强分布式信道访问)                   │
├─────────────────────────────────────────────────────────┤
│                                                         │
│  每 AC 独立退避:                                       │
│                                                         │
│  AC_VO: AIFSN=2, CW=7  ──► 退避计数器小,优先发送       │
│  AC_VI: AIFSN=2, CW=15 ──►                              │
│  AC_BE: AIFSN=3, CW=31 ──►                              │
│  AC_BK: AIFSN=7, CW=31 ──► 退避计数器大,最后发送       │
│                                                         │
│  内部冲突解决:                                         │
│  ┌─────────────────────────────────────────────────┐   │
│  │  如果多个 AC 同时退避到 0:                         │   │
│  │  ├─ 高优先级 AC 获得发送                          │   │
│  │  └─ 低优先级 AC 执行虚拟冲突,增加 CW 重新退避      │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
│  QoS 数据帧格式:                                       │
│  ┌─────────────────────────────────────────────────┐   │
│  │  MAC 头 + QoS Control (2B) + 帧体 + FCS            │   │
│  │              │                                   │   │
│  │              └─ TID (Traffic ID, 4 bit)          │   │
│  │              └─ EOSP (服务周期结束,1 bit)       │   │
│  │              └─ Ack Policy (2 bit)               │   │
│  └─────────────────────────────────────────────────┘   │
│                                                         │
└─────────────────────────────────────────────────────────┘

5.8 本章小结

本章详细介绍了 WiFi MAC 层架构:

  1. CSMA/CA:载波侦听、随机退避、帧间间隔
  2. 帧结构:管理帧、控制帧、数据帧格式
  3. 块确认:BA 协商、位图确认
  4. 帧聚合:A-MSDU、A-MPDU
  5. 功耗管理:PSM、U-APSD、TWT
  6. QoS 支持:EDCA、接入类别、TXOP

下一章将讲解芯片实现细节。


上一章:04-调制解调技术
下一章:06-芯片实现详解