1. WiFi 协议栈概览:802.11 协议族演进、分层架构与核心性能指标

各位好,我是老张。在无线网络这行摸爬滚打了十几年,今天咱们来聊聊 WiFi 协议栈性能调优。说实话,很多人一上来就盯着某个参数猛调,结果越调越糟。为什么?因为你不了解协议栈的全貌。

打个比方,你要修一台发动机,总得先知道它有几个缸、油路怎么走吧?WiFi 调优也是这个道理。这一章,我们先搭个框架,把 802.11 协议族的来龙去脉、协议栈的分层结构,以及那几个核心性能指标搞清楚。嗯,这是后面所有调优动作的基础。

1.1 802.11 协议族演进:从蹒跚学步到飞驰电掣

802.11 协议从 1997 年诞生到现在,经历了七代演变。我最早接触的是 802.11b,那时候 11 Mbps 就觉得快得不得了。现在回头看,真是恍如隔世。

下面这张表,我建议你收藏一下。每次调优前,先确认你手里的是哪一代设备,心里就有底了。

协议标准 推出年份 频段 理论最大速率 关键技术
802.11 1997 2.4 GHz 2 Mbps FHSS / DSSS
802.11b 1999 2.4 GHz 11 Mbps HR-DSSS
802.11a 1999 5 GHz 54 Mbps OFDM
802.11g 2003 2.4 GHz 54 Mbps OFDM
802.11n (WiFi 4) 2009 2.4 / 5 GHz 600 Mbps MIMO、信道绑定
802.11ac (WiFi 5) 2013 5 GHz 6.9 Gbps MU-MIMO、256-QAM
802.11ax (WiFi 6) 2019 2.4 / 5 / 6 GHz 9.6 Gbps OFDMA、1024-QAM
802.11be (WiFi 7) 2024 2.4 / 5 / 6 GHz 46 Gbps 320MHz、4096-QAM、MLO
我的经验: 调优时别只看协议版本。WiFi 6 的 OFDMA 在密集场景下优势巨大,但如果你只有一两台终端,WiFi 5 的 MU-MIMO 反而更直接。选对技术比选对版本更重要。

1.2 协议栈分层架构:每一层都有它的脾气

WiFi 协议栈分三层:MAC 层、LLC 层和物理层。你想想看,数据从你的手机发出去,要经过多少道工序?

我习惯把这三层比作一个快递公司:

  • 物理层(PHY) —— 就是快递员和货车。负责把包裹(比特)从 A 运到 B。调制方式、编码率、天线数量,都归它管。
  • MAC 层 —— 相当于分拣中心。谁先发货、怎么避免撞车、丢了怎么补,都是它说了算。
  • LLC 层 —— 是客服和调度。负责把网络层的 IP 包封装成 MAC 帧,再交给分拣中心。

下面这张图,把这三层的关系画清楚了。你仔细看看,尤其是 MAC 层那两个子层,调优时经常跟它们打交道。

WiFi 协议栈分层架构 LLC 层(逻辑链路控制) 封装 IP 包 → 802.2 帧 MAC 层(介质访问控制) MAC 子层 CSMA/CA、ACK、RTS/CTS MAC 管理子层 扫描、认证、关联、省电 物理层(PHY) PLCP 子层(前导码处理) PMD 子层(调制/解调) 调优重点:MAC 层竞争参数(CWmin、AIFS)和 PHY 层 MCS 索引、信道带宽
核心观点: 性能瓶颈往往不在你盯着的那一层。我见过太多人死磕物理层信号强度,结果问题出在 MAC 层的竞争窗口配错了。调优一定要有全局视角。

1.3 核心性能指标:调优的四个方向盘

做性能调优,你得先知道「好」的标准是什么。我一般只看四个指标:吞吐量、时延、抖动、丢包率。说白了,就是看你的网络跑得快不快、稳不稳、卡不卡、丢不丢。

1.3.1 吞吐量(Throughput)

这是大家最关心的。但注意,我说的是「实际吞吐量」,不是理论速率。理论速率是实验室数据,实际能跑到 60%-70% 就算不错了。

  • 影响因素: MCS 索引、信道带宽、空间流数、帧聚合(A-MSDU / A-MPDU)
  • 调优方向: 提升 MCS、开启帧聚合、减少协议开销
我的习惯: 调优前先测一次基线吞吐量。用 iperf3 打流,UDP 模式测极限,TCP 模式测实际。没有基线,你都不知道调没调对。

1.3.2 时延(Latency)

时延就是数据从 A 到 B 的时间。游戏玩家最敏感,超过 50ms 就开始骂娘了。

  • 组成: 处理时延 + 排队时延 + 传输时延 + 传播时延
  • WiFi 特有: 竞争时延(CSMA/CA 退避)、重传时延

1.3.3 抖动(Jitter)

抖动是时延的变化量。时延高不可怕,可怕的是忽高忽低。VoIP 和视频会议最怕这个。

  • 根源: 信道竞争、突发流量、省电模式切换
  • 调优手段: 开启 WMM、配置 QoS、固定信道避免 DFS 切换

1.3.4 丢包率(Packet Loss Rate)

丢包率超过 1%,TCP 吞吐量就会断崖式下跌。为什么?TCP 的拥塞控制算法一检测到丢包,立马降速。

  • 常见原因: 信号弱、干扰大、缓存溢出、重传超限
  • 避坑指南: 我曾经遇到一个项目,丢包率一直 2% 降不下来。查了三天,最后发现是 AP 的 Beacon 间隔配错了,导致终端频繁掉同步。嗯,这种坑踩过一次就记住了。
注意: 这四个指标是相互影响的。你为了降时延,把竞争窗口调小了,结果碰撞增加,丢包率上去了。调优就是找平衡点,没有银弹。

1.4 本章小结:先画地图,再上路

这一章我们搭了个框架。你知道了 802.11 从 b 到 be 的演进脉络,理解了协议栈三层各自的分工,也记住了调优要盯住的四个仪表盘。

后面每一章,我们都会深入一个具体的技术点。但无论讲什么,我都会先问自己一句:这个东西在协议栈的哪一层?它影响的是吞吐量、时延、抖动还是丢包率?

嗯,把这个习惯养成,你就已经超过 80% 的工程师了。