计算机网络学习站

kp-029 · 06-无线网络与网络安全

Wi-Fi 与 802.11:CSMA/CA、漫游与安全演进

进阶 约 25 分钟 Wi-Fi802.11CSMA/CAWPA3
我的进度:

注:本文基于模型知识整理,建议结合权威教材与 RFC 原文核对细节。

一句话定义

IEEE 802.11(俗称 Wi-Fi)是无线局域网(Wireless Local Area Network, WLAN)标准族:它以接入点为中心组网,用碰撞避免协议 CSMA/CA 取代有线以太网的碰撞检测,并以 WPA 系列机制在开放的无线介质上提供安全通信。

为什么重要

Wi-Fi 是家庭、办公与公共场所最主流的局域网接入方式,多数应用流量的「最后一跳」都经过它。无线介质天然共享且开放,性能模型与安全模型都不同于有线以太网:为什么 CSMA/CD 必须换成 CSMA/CA,是「环境约束改变协议设计」的经典案例;WEP 到 WPA3 的演进史则说明,安全机制靠补丁续命不如换根本机制。

前置知识

建议先读 kp-008《CSMA/CD》,需要理解载波侦听、碰撞检测与二进制指数退避;建议对 kp-006《传输媒体与复用》中频段、带宽与穿透损耗的直觉有印象,用于理解 2.4 GHz 与 5 GHz 频段的取舍。

核心概念

  • 站点(Station, STA):带无线网卡的终端;接入点(Access Point, AP):桥接无线与有线网络的设备。
  • 基本服务集(Basic Service Set, BSS):一个 AP 及其关联的全部 STA,是最小组网单元。
  • 扩展服务集(Extended Service Set, ESS):多个 BSS 经分布式系统互联构成的逻辑网络。
  • 服务集标识(Service Set Identifier, SSID):网络的名字;同名 SSID 的多个 AP 同属一个 ESS,这是漫游的前提。
  • 碰撞避免(CSMA with Collision Avoidance, CSMA/CA):802.11 的介质访问控制方式。
  • 隐藏终端(Hidden Terminal)与暴露终端(Exposed Terminal):侦听范围有限导致的两类并发问题。

图示

隐藏终端:A 与 C 相互听不到,但 B 能同时听到两者

        A ● ─────────────┐
        │                ▼
        │             B ●        ◄── B 居中,两边都听得见
        ▲                │
        │                │
        C ● ─────────────┘

  但 A 与 C 相距超出彼此的侦听范围:互相听不见。
  A、C 同时发送时,冲突只在 B 的接收端发生,
  两个发送方毫无察觉——这正是 CSMA/CD 失效的场景。

原理与机制

为什么不能照搬 CSMA/CD。 碰撞检测要求边发边听,无线场景有两个根本障碍:其一,无线网卡多为半双工,同一时刻只能发或收;其二,自身发射信号远强于远处传来的弱信号,边发边听等于被自己的声音淹没。更关键的是,冲突发生在接收方(如上图 B),发送方可能完全侦听不到,「事后检测」无从谈起,于是 802.11 改为「事前避免」。

CSMA/CA 三件套。 一是帧间间隔(Interframe Space, IFS):侦听到信道空闲后并不立即发送,而是再等一段静默期,短帧间间隔(SIFS)内允许 ACK 等高优先级帧插队;二是随机退避计数器:在竞争窗口内随机选数倒计时,信道变忙即冻结计时,降低多站同时选中的概率;三是逐帧确认:接收方收到后回 ACK,发送方超时未收到就重传——把确认做进链路层,是对无线不可靠性的直接补偿。

RTS/CTS 预约。 解决隐藏终端的思路是让接收方替双方「宣布」信道占用:发送方先发请求发送(Request To Send, RTS),目标回应允许发送(Clear To Send, CTS);所有听到 CTS 的站点沉默一段时间——没听到 RTS 的隐藏终端一定听得到 CTS,于是不再捣乱。代价是每帧多两个控制帧的空口开销,故通常只对超过长度阈值的帧启用。

暴露终端。 与之相对:A 要发给 B,侦听到邻居 C 正在发送于是退避——但 A 到 B 的传输并不干扰 C 的接收方,本可并发,容量被白白压住。

漫游。 ESS 内多个 AP 对外同名(SSID),各自有不同的 BSSID(即 AP 的 MAC 地址)。切换决策由 STA 自己做:终端按信号强度、丢包率等指标自主决定是否换 AP,各家芯片与驱动算法私有;AP 只能施加影响(调功率、发引导帧),不能强行「踢人」。

频段取舍。 2.4 GHz 频段总带宽约 80 余 MHz,互不重叠的 20 MHz 信道只能放下三个(惯例取 1、6、11),邻居一多必然信道重叠、相互拖慢;5 GHz 与 6 GHz 频段信道多、可用带宽大,速率上限高,但频率越高穿透损耗越大,隔墙衰减明显。家庭部署常双频并用:近距离高速走 5 GHz,穿墙远距交给 2.4 GHz。

安全演进与教训。 WEP(Wired Equivalent Privacy)用 24 位初始向量(Initialization Vector, IV)加 RC4 流密码:IV 空间太小导致密钥流快速重复,加上 RC4 自身缺陷,抓包在分钟量级即可恢复密钥;WPA 用临时密钥完整性协议(Temporal Key Integrity Protocol, TKIP)在保留 RC4 的前提下打补丁,属过渡方案;WPA2 弃用 RC4、以 AES-CCMP 全新构造链路加密——第一次换根本机制;但 WPA2-Personal 的四次握手允许抓包后离线穷举预共享密钥(Pre-Shared Key, PSK),WPA3-Personal 引入 SAE(Simultaneous Authentication of Equals)替代 PSK 握手,使离线字典攻击失效。提炼:补丁只能延缓,攻击面来自机制本身时应当推倒重来。

实例分析

给三层住宅部署 Wi-Fi:三个 AP 同一 SSID 组成 ESS。先扫描 2.4 GHz,若邻居集中在信道 6,自家就规划在 1 与 11 错开;近距离设备引导连 5 GHz。安全上直接启用 WPA3(或 WPA2/WPA3 混合模式),不保留任何 WEP/WPA 兼容选项——保留旧机制等于保留攻击面。

常见误区

  • 「信号格数多等于网速快」:速率还取决于信道宽度、多输入多输出(Multiple-Input Multiple-Output, MIMO)流数与信道拥挤程度,满格也可能慢。
  • 「漫游是路由器决定的」:802.11 的切换决策主体是 STA,AP 只能影响。
  • 「开放热点只是不加密、流量还是安全的」:无线可被同空口者监听,应用层 TLS 是必要防线。
  • 「WPA2 够用不必上 WPA3」:WPA2-Personal 的握手可被离线字典攻击,弱口令形同虚设。

自测题

  1. 无线网卡为什么做不到「边发边检测碰撞」?

答案要点:网卡多为半双工;自身发射信号远强于接收信号,会淹没对方;冲突发生在接收方,发送方未必侦听得到,检测缺乏信息基础。

  1. RTS/CTS 如何让隐藏终端停下来?代价是什么?

答案要点:接收方回应 CTS,所有听到 CTS 的站点(包括没听到 RTS 的隐藏终端)退避一段时间;代价是每帧额外两个控制帧的空口开销,故只对长帧或高冲突环境启用。

  1. 为什么说 2.4 GHz 频段「只有三个不重叠信道」?

答案要点:该频段总带宽约 80 余 MHz,而 20 MHz 信道互不重叠的只能放下三个(惯例取 1、6、11),其余信道之间必然频谱重叠。

  1. WEP 到 WPA3 的演进中,哪几步是「换根本机制」而非「打补丁」?

答案要点:WPA 到 WPA2(RC4/TKIP 换成 AES-CCMP)与 WPA2-Personal 到 WPA3-Personal(PSK 握手换成 SAE)是换机制;WEP 到 WPA(TKIP)只是打补丁。

延伸阅读

  • IEEE 802.11 标准族(含 802.11n/ac/ax 等修订)
  • 谢希仁《计算机网络》无线网络相关章节
  • Wi-Fi Alliance 发布的 WPA3 规范说明