📡 第六章 高速普及的无线LAN及其基础知识
📄 一句话概括

802.11g 就是把 802.11a 的 OFDM 搬到 2.4 GHz,速率 54 Mbps。 但它必须与 802.11b 共存,而共存要付「保护机制」的代价。

📝 本节和前面几节的关系

上一节讲 b,这一节讲 g——它是 a 与 b 的「合并」:a 的技术、b 的频段。 这一节的重点不是 54 Mbps,是「兼容的代价」。

一、技术上的合并

802.11g 的物理层基本照搬 802.11a(OFDM,48 个数据子载波), 只是把频率从 5 GHz 挪到 2.4 GHz。

它还保留了 CCK 与 DSSS,所以「新的 g 设备」与「老的 b 设备」能在同一个 AP 上工作。 这就是「后向兼容」,也是无线标准一贯的做法。

但 2.4 GHz 的 83.5 MHz 只能放三个不重叠信道, 而 54 Mbps 要占满 20 MHz——所以「三个信道都用满 54 Mbps」是理论上限,实际做不到。

二、兼容的代价:保护机制

问题在于「b 设备听不懂 OFDM」: OFDM 的帧对 b 设备来说像噪声,它会以为「信道空闲」,于是也发,结果撞车。

解决办法是「先发一个 b 能听懂的信号占住信道」,两种做法: RTS/CTS:先发 RTS,AP 回 CTS,b 设备听到 CTS 就闭嘴。 CTS-to-self:g 设备自己给自己发一个 CTS,省掉 RTS 那一步。

代价按 1500 字节算:RTS/CTS 加 40 微秒,效率从 100% 降到 85%。 CTS-to-self 加 30 微秒,降到 88%。 小包掉得更狠——100 字节时能掉一半。

所以「2.4 GHz 上还有 b 设备」这件事的代价,是全网都变慢。 这也解释了「赶紧把老设备换掉」的真实理由:不是嫌弃它慢,是它在拖所有人。

三、它在历史上的位置

802.11g 是「2.4 GHz 的最后一站」:在它之后,2.4 GHz 上再没有新的速率提升。 原因就是那段频段已经用尽了: 83.5 MHz 只能放三个 20 MHz 信道,而「更宽的 40 MHz」在 2.4 GHz 上根本放不下。

所以 802.11n 之后的路都是「5 GHz 主、2.4 GHz 辅」: 2.4 GHz 留给「远、穿墙」的需求,5 GHz 承担「快、人多」的需求。 这个分工一直延续到今天。

而 802.11g 恰好是这个转折点的标志: 它证明了「同样的技术换个频段就能提速」,也证明了「频段是有限的,技术不是万能的」。 后面所有的宽带升级(40/80/160/320 MHz)都在回答同一个问题:「去哪找更宽的频谱」。

四、动手 Demo:802.11g 的 54 Mbps,为什么要打折扣

这段对比 RTS/CTS 与 CTS-to-self 两种保护机制的开销, 再算它们把 1500 字节传输的效率从 100% 压到多少。

for name, cost in ((u"RTS/CTS", 40), (u"CTS-to-self", 30)):
    P(u"  %s:222 ÷ (222 + %d) = %.1f%%。"
      % (name, cost, 222 * 100.0 / (222 + cost)))

实跑输出:

--------------------------------------------------------------------
802.11g 的 54 Mbps,为什么要打折扣
--------------------------------------------------------------------
**802.11g 把 OFDM 搬到 2.4 GHz,速率到 54 Mbps。**
**但它必须与 802.11b 共存,而共存是要付代价的。**

**问题在于**:**802.11b 听不懂 OFDM**,
**所以 802.11g 发 OFDM 帧时,11b 设备会以为「信道空闲」也来发。**
**于是撞车。**

**解决办法是「保护机制」**,两种做法:

  做法            怎么保护                      开销
  ------------------------------------------------------------
  RTS/CTS         先发一个 11b 能听懂的 RTS     约 40 微秒
  CTS-to-self     自己给自己发一个 CTS          约 30 微秒

**算一下开销的比例**(1500 字节 @ 54 Mbps = 222 微秒):

  RTS/CTS:222 ÷ (222 + 40) = 84.7%。
  CTS-to-self:222 ÷ (222 + 30) = 88.1%。

**所以「2.4 GHz 上还有老设备」这件事的代价,是全网都变慢**——
**这也是「赶紧把 11b 设备换掉」的真实理由,不是嫌弃它慢。**

「掉 12~15%」这个数看起来不大,但它是「常态损失」: 只要网络里还有一台 b 设备,全网的包就都要走保护机制。 而现实中「还有一台」往往意味着「还有十几台」。

注意两种机制的差别只有 10 微秒:CTS-to-self 省掉了 RTS 那一步, 代价是「没有 RTS/CTS 那种双向确认」。 所以它适合「隐藏终端不严重」的场景,而 RTS/CTS 适合「有隐藏终端」的场景。

最后那句「2.4 GHz 上再没有新速率」是这一节最硬的事实: 它把「技术演进」解释成了「频谱预算」的问题。 所以看 Wi-Fi 7 的 320 MHz 时,第一反应应该是「这么宽的信道只能放在 6 GHz」: 因为 2.4 与 5 GHz 都给不出这么宽。

30 秒实验

  1. 查一下你的路由器 2.4 GHz 是 802.11g 还是 n。
  2. 看它的设置里有没有「保护模式」开关。
  3. 想一想:为什么「关掉保护模式」有时反而更快?

常见误区

  1. 以为 802.11g 能一直跑 54 Mbps。有 b 设备在就要开保护,掉 15%。
  2. 以为「后向兼容」是免费的。它靠保护机制实现,而保护机制要占时间。
  3. 以为后面还能在 2.4 GHz 提速。频段用尽了,只能去 5 与 6 GHz。
自测三问(点开对答案) 1. 802.11g 相对 802.11a 改了什么? —— 物理层基本相同,只把频率从 5 GHz 挪到 2.4 GHz,并保留对 b 的兼容。 2. 为什么 802.11g 要开保护机制? —— b 设备听不懂 OFDM,会误判信道空闲而发送,造成冲突。 3. 为什么 2.4 GHz 上再没有新的速率提升? —— 83.5 MHz 只能容纳三个 20 MHz 信道,放不下更宽的信道。

下一节:第一次用「多天线」提速——802.11n。

相关笔记