前言

最近在折腾 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