
期末复习到谢希仁《计算机网络》第八章无线局域网我第一遍是有点懵的。前面几章还在讲以太网交换机、CSMA/CD、IP分片结果突然切到“看不见的网线”这一侧满屏的AP、BSS、ESS、CSMA/CA、隐蔽站堆在一起不啃两遍根本理不顺思路。但这章理清之后反而是全教材里性价比最高的章节之一——概念不算多逻辑非常集中期末选择填空、408统考的大题素材基本都围绕“无线信道接入机制”展开。这篇学习笔记我会把WLAN这章的主线、核心协议机制、帧结构细节、以及期末和考研的高频考点全部展开讲尽量用“我踩过的坑”来帮你绕过复习误区。适合正在准备计算机网络期末、复习408的朋友也适合那些单纯想搞明白“为什么家里Wi-Fi打游戏偶尔卡但是插网线就稳”这类底层原因的读者。这一章学完你基本就具备用一个抓包工具自己分析Wi-Fi报文的能力了。1. 先拉一条主线WLAN这一章到底考什么1.1 章节定位从“有线”到“无线”的思维切换教材安排这章的位置很有意思前几章讲的是以太网、交换机、IP协议这些“看得见摸得着”的网络后面讲的是移动网络、网络安全等更偏宏观或更偏应用的题目。无线局域网刚好卡在中间它是数据链路层知识从有线向无线迁移的“桥梁”章节。说白了过去你在有线链路层学到的核心就是三件事封装成帧、透明传输、差错检测。而到了无线环境这些事依然存在但由于传输介质从“被封闭在电缆里的电信号”变成了“暴露在空气中的电磁波”新问题就冒出来了——信道开放、信号衰减、多径干扰、站点移动。于是IEEE 802.11协议族必须重新设计物理层和数据链路层的媒体接入控制机制这就是全章最核心的矛盾。这章的学习思路建议是不要一上来就死背CSMA/CA流程先问自己三个问题。无线网络有哪几种组网形态为什么CSMA/CD在有线网络里有效到无线网络里就失效802.11协议用了什么手段来解决无线信道竞争问题把这三个问题串起来全章的骨架就立住了。剩下的帧格式、Beacon报文、地址字段都是在骨架上的“肌肉和血管”。1.2 两种组网形态有基础设施与无基础设施无线局域网按照有没有“中心设备”来分可以粗暴地分成两种有固定基础设施的WLAN和无固定基础设施的WLAN。先说第一种这是你最熟悉的形态——家里、公司、学校里的Wi-Fi。网络里必须有一个APAccess Point接入点所有无线站点STA比如手机、笔记本都通过关联AP来上网。AP在这里起到的作用相当于这一个小范围无线网络里的“总管”同时它也扮演着连接有线网络的“翻译官”。数据先发到AP再由AP转发站点和站点之间通常不直接通信。第二种就是无固定基础设施的WLAN教材里叫Ad Hoc模式也叫自组网。这个形态下没有AP设备之间自己组成一个临时网络彼此直接通信。最典型的场景就是两台笔记本电脑在没有网络的环境里面对面传文件、联机打一把局域网游戏。这种模式的网络也叫IBSSIndependent Basic Service Set独立基本服务集后面我会单独拿一小节展开。考试最常用的判断技巧就是看题目里有没有AP。有AP是基础设施网络没AP是Ad Hoc网络。这个判断在选择题里至少值1分而且几乎不会坑人。至于为什么要区分得这么清楚核心是为了“接入控制方式”不同有中心节点时所有流量都汇聚到AP碰撞控制可以做得更集中无中心节点时所有设备都处在平等地位信道接入的控制就完全靠自律和随机退避来完成。2. 基础设施组网AP、BSS、ESS与关联过程2.1 最小工作单元BSSAP就是无线世界的“小交换机”在有基础设施的WLAN里最低层的工作单元叫基本服务集Basic Service SetBSS。一个BSS由三部分组成一个AP、若干个无线站点、以及它们之间共享的无线信道。BSS这个概念很像有线以太网里的一个冲突域但它范围更小因为无线信号的覆盖范围受限。AP的覆盖面大致是一个以它为中心的圆形区域教材里喜欢叫它“星形拓扑”的中心实际部署时半径一般从几十米到一百米左右取决于频段、功率、天线增益以及墙体的损耗。BSS需要有一个身份标识叫BSSID实际上就是AP网卡的MAC地址。你打开手机看Wi-Fi高级信息经常会看到一个以“xx:xx:xx:xx:xx:xx”形式显示的BSSID这就是你连着的那个AP的身份码。AP在BSS里承担的责任远比纯粹转发数据多它要周期性地发送Beacon信标帧告诉周围的站点“我在这里我这个网络叫什么名字”它要负责处理新站点的接入认证和管理它还要把无线帧转换成以太网帧再交给有线侧的分发系统。所以教材里经常把AP比作“连接无线与有线的桥”理解成一台具备无线接入能力的二层网桥也不过分。2.2 从BSS到ESS跨AP漫游靠什么实现一个AP覆盖能力有限办公室和商场面积一大就得部署多个AP。这时候多个BSS通过一个叫“分发系统”Distribution SystemDS的骨干网络连接起来组成一个更大的服务集合叫扩展服务集Extended Service SetESS。ESS的特点是所有AP使用同一个SSIDService Set Identifier就是你在手机Wi-Fi列表里看到的网络名但不同AP的BSSID不同。这样用户从一楼走到二楼、从A区走到B区手机Wi-Fi列表里看到的还是同一个名字实际上后台已经可能切换了好几个AP了。这个“切换”在无线术语里叫漫游或者重关联。站点从一个BSS移动到另一个BSS时会自动向新的AP发起关联请求新AP通过DS更新该站点新的关联信息。这个过程对用户来说应该是透明的——你正在开的视频不应该断掉。丢包和卡顿的根源往往就是漫游切换时帧转发表更新不及时造成的。考试里经常把BSS、ESS、DS、SSID这几个名词混在一起考。我的记忆口诀是BSS是一个AP的管辖范围ESS是多个BSS通过DS组成的“大型联盟”SSID是这个联盟对外展示的名字BSSID才是每个AP真正的身份证号。2.3 站点接入AP的完整流程扫描、认证、关联这部分内容在408统考里出现频率不高但是在学校期末考试简答题里是个常客。一个无线站点从什么都不知道到能正常收发数据要经历三个阶段扫描、认证、关联。扫描分两种。被动扫描最简单——站点打开射频接收器在各个信道上“等待收听”AP周期性广播的Beacon帧。主动扫描更快——站点主动发送Probe Request探测请求帧等待附近的AP回Probe Response。手机在连接陌生Wi-Fi前通常两种都会用。认证是第一步身份确认常见的有开放系统认证和共享密钥认证。开放系统认证基本就是走个过场只要回应一个认证帧就算通过共享密钥认证就要回答一串密钥计算出的挑战码。关联是最关键的一步完成后AP才会允许该站点真正接入网络收发数据。关联本质上是AP在它的关联表中记录下这个站点的MAC地址、协商好的速率等信息。很多人在复习时容易忽略“扫描”这个细节。我补一个生活化的例子你打开手机Wi-Fi看到满屏的信号列表这个列表是怎么来的其实就是手机在2.4GHz和5GHz各个信道上一圈圈地发Probe Request所有收到请求的AP都回复自己的广播帧手机把这些回复汇总起来就是那个列表。所以路由器哪怕没有连接任何外网只要电源通了它就在不停地对外广播自己的SSID这也是你“能看到”它的原因。3. 最关键也最烧脑的CSMA/CA怎么工作3.1 为什么不能直接用CSMA/CD这是全章最核心的引出性问题。有线以太网用的是CSMA/CD载波监听多点接入/碰撞检测靠同时发送和监听电压变化来及时发现冲突、然后立即停止。这个机制在总线型以太网和交换机出现前的共享式以太网里非常好用因为信号在有限长度的电缆里传输衰减可控碰撞可以被快速检测到。但到了无线环境下这套方案直接“水土不服”原因有三硬件上无线网卡是半双工的发送和接收共用同一根射频通道。同一时间要么在发、要么在收做不到“边发边听”。就算能做全双工无线信号经过空间传播后衰减极其严重从两个相距很远的站点发出的信号到达接收方时强度差异可能非常大。你很难区分当前收到的是对方站点的信号还是自己发送信号经地面、墙面反射回来的回声。最要命的是存在隐蔽站问题。这个我会在3.3单独讲它是无线环境独有的空间盲区问题。所以802.11协议必须另起炉灶把“碰撞检测”换成“碰撞避免”这就是CSMA/CACarrier Sense Multiple Access with Collision Avoidance的由来。名字里那个“CA”就是Avoidance——避免不是Detection——检测。这两个词的差别就是这一章的灵魂。3.2 CSMA/CA的“礼让三先”帧间间隔、随机退避、ACKCSMA/CA的工作流程并不复杂但必须按顺序记忆。我按一次成功的数据发送来拆解整个过程。第一步先听后发。站点要发数据前先通过物理载波监听检查信道是否空闲。所谓空闲就是指在一段叫DIFS分布式协调功能帧间间隔的时间内信道都处于没有人使用的状态。DIFS是普通数据帧发送前必须等待的最短时间。第二步如果信道忙进入随机退避。每个站点在竞争窗口内随机选一个退避时间从随机数开始倒数每次倒数前还要重新检查信道。只有退避计时器减到0、且信道依然空闲时站点才真正发送数据。这个随机退避机制是为了尽量避免多个站点同时等到信道空闲后一起发送。第三步接收方收到帧后等待一个很短的SIFS短帧间间隔立刻回复一个ACK确认帧。为什么SIFS比DIFS短因为ACK的优先级必须最高它要让发送方尽快知道数据是否送达以便决定要不要重传。发送方如果在规定时间内没收到ACK就认为数据丢失重新发起竞争流程。整个过程走下来我自己的记忆方式是把DIFS、SIFS、退避计时器看成三个“守门员”DIFS管普通数据能不能进门SIFS给ACK开绿色通道退避计时器负责把多个竞争者隔开避免挤在门口。3.3 隐蔽站问题与RTS/CTS让看不见你的人知道你隐蔽站问题是CSMA/CA机制里最爱考的知识点而且需要画图理解。假设有三个站点A、B、C排成一条直线A和C都能和中间的B通信但A和C彼此相距太远互相听不见对方的信号。当A正在向B发送数据时C此时去监听信道——它听到的是“一片安静”因为A的信号传不到C这里。于是C误判信道空闲也开始向B发包。B这时候同时收到了A和C的数据两个帧互相干扰全部损坏。这个场景里A和C互相看不见叫“隐蔽站”。“隐蔽”是针对于双方之间的直接通信而言的并不是它们真的藏起来了而是它们不在彼此的无线覆盖范围内。解决思路是引入短帧握手机制。A要发数据给B之前先发一个RTSRequest To Send帧B收到后回复一个CTSClear To Send帧。这个CTS帧的特殊之处在于它能被B覆盖范围内的所有站点听到包括C。C收到CTS后就知道“B即将接收数据”它必须保持沉默直到数据传输结束。RTS/CTS里面的“虚拟载波监听”是一个很重要的点。RTS和CTS帧里都包含一个Duration字段里面写着“信道要占用多长时间”。其他站点收到这些帧后即使没听到数据帧本身也会据此设置自己的网络分配向量NAV在NAV倒计时走完之前都认为自己“没资格发数据”。所以哪怕C听不到A也能通过B回复的CTS知道信道会被占用多久。不过要注意RTS/CTS不是每次发送都必须要用的。像大文件传输、或者存在明显隐蔽站的环境里才推荐开启。如果每个小数据包都先RTS/CTS握手信令开销反而比数据本身还大得不偿失。802.11标准里一般会有一个阈值数据帧长度超过阈值才走RTS/CTS流程。3.4 字面载波监听下的三种检测手段这章还有一个容易被忽略的整理点802.11里的载波监听其实做了好几层。第一层是物理载波监听就是网卡去空中测射频能量判断信道是不是“被人占着”。如果信号强度超过一个阈值就判定信道忙。第二层是虚拟载波监听靠RTS/CTS里的Duration字段和NAV机制实现。站点收到任何带Duration字段的帧都会据此“心里默数”一段时间在这段时间内默认信道会忙不主动发数据。第三层是依靠帧间间隔IFS的优先级控制。除了前面提到的DIFS和SIFS还有PIFS点协调功能帧间间隔。三种间隔的排序是SIFS最小、PIFS居中、DIFS最大。等待时间越短说明帧的优先级越高。这个“时间越短优先级越高”的反直觉规律是选择题的常见命题点一定要记住。把这三层合在一起CSMA/CA所谓“避免碰撞”的真实面貌就是物理层负责短距离感知链路层通过交换握手帧负责远距离传递占用信息再通过随机退避把竞争窗口拉开。这一整套机制结合起来才能做到在开放式无线信道里同时服务几十个终端而不彻底乱套。4. MAC帧细节从帧格式看WLAN的“身份证系统”4.1 802.11帧结构概览复习到MAC帧的时候很多人容易被那一串字段劝退。其实802.11帧结构比以太网帧多出的核心内容集中在地址和控制信息上因为无线网络里的“谁发给谁”远比有线复杂——很可能源地址站点A要把数据经过AP再发给远处的站点D光“源”和“目的”两个地址根本不够用。802.11数据帧的基本结构大致是帧控制Frame Control、Duration/ID字段、最多4个地址字段、序列控制、数据载荷、以及帧校验序列FCS。其中Frame Control字段内部又包含协议版本、帧类型、To DS、From DS、更多分片、重传标志、电源管理等多个子字段。考试最常考的就是To DS和From DS的组合以及由此决定的4个地址字段含义。4.2 Address字段的四种组合一张表讲明白很多人做这方面的题就靠死背“AP给STA发是用TA和RA”但其实只要理解数据流经的位置就能自己推出来。无线帧里四个地址字段分别可能表示源地址SA、目的地址DA、接收端地址RA、发送端地址TA。关键要理解无线帧的MAC头部填的并不总是真正通信两端的MAC地址而是“当前这一跳”的收发端地址。用To DS和From DS两位来区分场景一共四种情况。To DS0From DS0这是同一BSS内的两台站点直接通信或者管理帧/控制帧。此时地址1就是接收端地址RA地址2是发送端地址TA地址3是目的地址DA地址4不用。To DS1From DS0站点发数据给AP再由AP转发到有线网络或其他BSS。此时地址1是AP的接收地址地址2是源站点自己的地址地址3是最终目的地址DA。To DS0From DS1AP收到数据后发给站点。此时地址1是目标站点的地址DA地址2是AP自己的发送地址地址3才是最初发出这个数据的源地址SA。To DS1From DS1这是无线分布系统桥接的场景数据从无线端到无线端需要经过两个AP中转。此时四个地址字段全部用上分别是接收端、发送端、目的、源。我复习时最大的坑就是去硬背第几种情况该填什么后来自己想通了一个原则无线帧每一跳的接收和发送地址永远是最靠近“当前时机”的那两个节点地址3和地址4才负责告诉你“这包数据最初是谁发的、最终要送给谁”。捋清楚这个四个组合的题目基本就是送分题。4.3 管理帧、控制帧、数据帧三类帧各司其职802.11的帧类型一共三大类管理帧、控制帧、数据帧。这个分类对应考试的描述题也很常出现。管理帧负责“关系的建立和维护”。比如Beacon信标帧、Probe Request/Response、Authentication、Association Request/Response。它们的共同特征是不携带用户数据而是用来发现网络、完成认证和关联。控制帧负责“辅助数据帧可靠传输”。最典型的有ACK确认帧、RTS/CTS预约帧。它们不承载上层数据用于提升信道利用效率和可靠性。数据帧负责“真正的业务负载”。它们携带IP包等用户数据是唯一有上层载荷的帧类型。这些都是能结合实际抓包验证的。手机连接Wi-Fi、切换AP、断开网络的时候可以在抓包里看到一整串管理帧每次数据交互几乎都会伴随ACK控制帧。明白了三类帧的分工后续用Wireshark抓包分析时会觉得非常清晰。5. 802.11家族与无线个人区域网别只盯着“技术名词”5.1 802.11协议演进速查表教材通常用一个表格概览802.11的演进。这个点看似只是背景知识其实408也偶尔会考“某个标准对应哪个频段/速率”。我复习时整理了一张简化版速查表。标准商业名称频段大致速率关键特点802.11经典Wi-Fi2.4GHz最高2Mbps早期标准基本过时802.11bWi-Fi 12.4GHz最高11Mbps普及率极高的早期版本802.11aWi-Fi 25GHz最高54Mbps频段干净穿透弱802.11gWi-Fi 32.4GHz最高54Mbps兼容b速率升上来802.11nWi-Fi 42.4/5GHz最高600Mbps引入MIMO多天线802.11acWi-Fi 55GHz可达Gbps级更宽信道、MU-MIMO802.11axWi-Fi 62.4/5/6GHz可达Gbps级高密场景优化OFDMA做笔记时不用纠结每个速率精确到小数重点记住几个大方向标准子母表a/b/g/n/ac/ax大致按时间排布2.4GHz频段穿墙能力强但干扰大5GHz频段速率高但覆盖衰减快n之后的版本都支持MIMO多天线技术ax把调制和复用方式都升级了特别适合会议室、演唱会这种人多的公共无线场景。5.2 Ad Hoc模式的现实应用没有AP怎么玩Ad Hoc模式在教材里篇幅不多但它是理解“无线网络不一定需要中心节点”的关键反例。Ad Hoc网络的每个站点地位平等彼此之间可以互相转发数据形成一个临时的多跳网络。如果网络中一些节点同时充当数据源和路由器角色这种网络也叫移动自组网MANET。现实中我们能接触到的Ad Hoc应用其实不少两台手机开热点直连也算一种简化版路由器桥接失败时临时搭建点对点链路在没有运营商的野外环境用无线网卡互传文件甚至无人机编队通信也会用类似理念。考试一般不考太深能分清IBSS、知道“没有AP也能组网”就足够了。5.3 WPAN蓝牙与ZigBee的出场意义无线个人区域网WPAN是IEEE 802.15系列标准覆盖的领域教材里主要提了蓝牙和ZigBee。蓝牙的特点是工作在全球通用的2.4GHz频段使用跳频扩频技术把数据分成多个小包随机跳变频率发送抗干扰能力强、集成度低功耗低。蓝牙组网基本单位叫微微网Piconet一个主设备最多可以同时连接7个活跃从设备。现在TWS耳机、智能手表、车载语音都是蓝牙的典型场景。ZigBee则主打低功耗、低速率和极低成本适用于智能家居传感网络。一个ZigBee协调器可以管理海量终端节点而且支持星形、树形和网状等多种拓扑。你家智能门锁、温湿度传感器用的很可能就是ZigBee协议。这两个协议看起来和WLAN考题关系不大但确实在期末填空、简答题里出现过。复习建议是别花大力气抠协议细节记住一点蓝牙强调短距离高速连接设备ZigBee强调超低功耗广泛组网。用途不同选型就不同。6. 期末与408复习的取舍高频考点与避坑清单6.1 这一章选择题的“套路”期末和408的无线局域网题目其实来来去去就那么几个套路。第一类考标准对应关系。比如问802.11ac支持哪个频段、Wi-Fi 6对应的标准号是什么。这类题属于纯记忆。第二类考CSMA/CA与CSMA/CD区别。会问“为什么无线不能用CD”“CA比CD多出的机制是什么”。第三类考隐藏站/暴露站场景。给出站点位置判断哪个站点会造成干扰需不需要使用RTS/CTS。第四类考帧类型和地址字段。给出一个WLAN数据帧的场景让你填地址1到地址3分别是谁。第五类考BSS/ESS/DS这些组网术语的定义和关系。复习的时候如果发现自己做题经常错先别急着刷题回去把章节框架再过一遍大概率是某个基础概念CSMA/CA完整流程、四种地址组合没吃透而不是题目偏、难。6.2 必做对比CSMA/CD与CSMA/CA一张表搞定我在复习最后一天给自己做了一张对比表基本覆盖了80%的选择题和简答题考点这里直接分享出来。对比维度CSMA/CD有线以太网CSMA/CA无线802.11碰撞处理检测碰撞检测到后停止并重传尽量避免碰撞碰撞后依赖重传信道状态监听边发边听发送前监听无法边发边听数据传输方向全双工半双工额外控制帧不需要依赖ACK确认、RTS/CTS预约主要解决冲突停止释放信道冲突避免、隐蔽站干扰帧间间隔无严格IFS分级概念SIFS/PIFS/DIFS分级控制优先级考试里只要出现“无线”“WLAN”“802.11”这几个词看到碰撞检测类的选项先在心里亮一盏红灯直接排除“CD”方案然后往“CA”的方向找。6.3 用Wireshark看一次真实的Wi-Fi报文如果觉得这一章太抽象我强烈建议你用一次Wireshark做实验。原理上普通无线网卡默认只能抓到发给自己的广播帧和组播帧想看完整Wi-Fi管理帧需要网卡支持监听模式Monitor Mode。部分芯片在Windows下支持不佳但在Linux下或使用带监听模式的USB无线网卡时很顺利。操作步骤分三步。在Wireshark里选择无线网卡接口开启监听。在无线局域网设备上重新开关一次Wi-Fi触发扫描、认证、关联等过程。在Wireshark过滤栏输入wlan.fc.type_subtype 0x08就能看到AP周期性广播的Beacon信标帧。打开Beacon帧你可以在里面看到SSID、支持的速率、信道等信息这正是AP宣告自己存在的数据载体。再过滤wlan.fc.type 2可以看到数据帧双击任意一帧观察地址1/地址2/地址3到底填了什么。这个实操做一遍比我背十遍八遍帧结构都管用。提示监听模式下要特别注意一点Wireshark抓到的无线帧带有Radio Tap头这是无线网卡记录的信号强度等信息过滤时不要把它和实际MAC头弄混。最后分享一些复习体会这一章我在学习时最大的体会是WLAN的核心难点不是“记不住”而是“有线网络的思维惯性太重”。只要心里还残留着“咱们不都是发帧吗”的固有印象就很容易在隐蔽站、RTS/CTS这些点上犯糊涂。我的建议是学完理论之后晚上回家打开手机连家里Wi-Fi玩一把游戏如果感觉到卡顿不要只吐槽网络差试着问问自己卡顿是发生在2.4GHz还是5GHz频段信号强度是不是只有一两格周围Wi-Fi是不是拥挤到信道满天飞这些问题的背后全是这章知识点的现实印证。真正理解无线网络不是记住几个缩写就完事而是能解释清楚“为什么Wi-Fi不稳、为什么切换路由器时视频会卡、为什么有些环境下需要启用RTS/CTS”。把这些想明白了不管是期末还是考研这章都稳了。