前言
最近在折腾 ESP32 和家庭网络时,我思考了一个直击灵魂的问题:既然现在的 WiFi 6/7 已经引入了 OFDMA 这种“上帝视角”的完美调度技术,为什么我们还需要保留古老的 CSMA(载波监听)机制?
现在的 WiFi 到底是在“排队”,还是在“并行”?
这背后的逻辑,其实就是 WiFi 从“集线器(Hub)时代”向“交换机(Switch)时代”进化的缩影。今天我们就来扒一扒 WiFi 协议底层的那些事。
1. 过去的痛:WiFi 5 与“大喇叭”逻辑
在 WiFi 6 普及之前(WiFi 4/5 时代),我们的无线网络本质上是一个 “半双工的集线器”。
不管你的路由器有几根天线,核心逻辑是 CSMA/CA(载波监听多路访问/冲突避免)。这套机制说白了就是 “懂礼貌”:
- 先听后说 (LBT):手机想发数据前,先竖起耳朵听空气里有没有信号。
- 退避 (Backoff):如果听到隔壁老王在用 WiFi,或者家里的 iPad 正在下电影,手机就得闭嘴,随机等一会再试。
- 抢占:谁运气好,谁抢到了信道,谁就独占所有带宽。
这就像一个没有红绿灯的单行道,或者是所有人都在抢麦克风的会议室。即使你要发的只是一个 1KB 的智能开关指令,你也得去抢那辆载重 10 吨的大卡车,这不仅浪费,而且延迟极高。
2. 现在的变:OFDMA 的“集装箱”魔法
WiFi 6 (802.11ax) 引入了从 LTE (4G) 借来的杀手锏:OFDMA (正交频分多址)。
如果说以前的 OFDM 是“一人包一辆车”,那 OFDMA 就是 “集装箱拼车”。
- 切分频率:路由器把信道切分成几百个小的 RU (资源单元)。
- 并行传输:路由器像指挥家一样,一声令下:“前200个格子给手机看视频,中间50个格子给 ESP32 报温度,最后100个格子给电脑打游戏。”
- 互不冲突:利用正交性 (Orthogonality) 的数学魔法,这些波形虽然挤在一起,但在信号读取点上是完美的“零干扰”。
在这个瞬间,WiFi 终于像有线网络的交换机一样,实现了多设备的并行通讯。对于玩 IoT 的人来说,这意味着你的几十个传感器终于不用排队了。
3. 终极疑问:既然 OFDMA 这么强,为什么不扔掉 CSMA?
既然路由器可以上帝视角调度,为什么不直接废除那套低效的“先听后说” (CSMA)?
这就回到了现实物理世界的三个硬伤,导致 WiFi 至今只能是个 “混血儿”:
A. “第一声呐喊”的问题
OFDMA 的前提是路由器知道“谁有货要发”。但手机怎么告诉路由器“我有货”呢? 在你提交“发货申请”之前,路由器还没给你分配格子。所以,为了申请进入 OFDMA 的调度列表,设备必须先用 CSMA 去抢一次麦,喊出那句“我要发货”!
B. “隔壁老王”的问题 (公共频段)
WiFi 用的是 ISM 免费频段,这是公共领地。 你家用的是高级的 WiFi 6,但隔壁老王可能还在用 WiFi 4,楼下可能还有人在用微波炉。OFDMA 只能管你自家的设备,管不了别人。 为了防止你把邻居的网断了,协议规定:即使是 WiFi 7,发射前也必须执行 LBT (Listen Before Talk)。 对外唯唯诺诺(CSMA),对内重拳出击(OFDMA)。
C. 兼容老古董
你家里的旧款 ESP8266、老旧的智能插座,它们听不懂 OFDMA 的调度指令。为了照顾它们,路由器必须保留 CSMA 机制。
总结
现代 WiFi (WiFi 6/7) 的本质是: 宏观上的 CSMA/CA + 微观上的 OFDMA。
它依然需要在混乱的无线电波海洋中,用 CSMA 去抢夺那宝贵的几毫秒“路权”。一旦抢到了,它就会立刻化身超级计算机,用 OFDMA 在这几毫秒内,给家里的几十台设备进行一次精准、高效、无冲突的数据分发。
这就是为什么换了 WiFi 6 路由器后,虽然网速测速可能没变快多少,但打游戏、抢红包、控制智能家居时的延迟 (Ping) 却变稳了的原因。
本文作者:Liu Weiqing,一名热爱 PVE、ESP32 和量化交易的技术折腾者。
Leave a comment