
简介《wifi 基础知识讲解.doc》是一份面向无线网络初学者与网络运维入门者的基础梳理文档围绕 Wi-Fi 的工作原理、协议演进和常用术语展开适合用于课程复习、岗位入门或排查无线网络问题前的知识铺垫。文档从有线与无线网络的差异切入说明半双工通信、帧重传、抓包风险与功耗等特点并梳理 IEEE 802.11a/b/g/n 等协议的工作频段、速率及 MAC 层改进。术语部分覆盖 LAN、WAN、WLAN、AP、Station、SSID、BSSID、BSS、DS 等帮助读者建立无线组网的基本概念框架。资源包内含 1 个 doc 文件大小约 88KB结构紧凑便于按章节查阅。已有 280 人学习适合希望用较短时间补齐 Wi-Fi 基础概念、理解 802.11 协议脉络与无线网络常见名词的读者。1. 从一个房间满格信号说起wifi 到底是什么手机右上角四格信号是满的视频却在转圈——这种落差几乎每个用过无线网络的人都遇到过。它说明一件事wifi 并不是把网线换成看不见的线这么简单它是让一堆设备在空气里按同一套规矩说话的技术。一句话定义wifi 是无线局域网WLAN里最主流的一种实现底层遵循 802.11 系列标准让手机、笔记本这类设备通过无线电波接入本地网络再经由路由器连到外面。它和 3G/4G 那种由运营商铺开的广域覆盖不是一回事——wifi 管的是家里、办公室这一小片地方相当于把自家的局域网换了个传输介质。搞懂它里面几个核心概念你再看路由器后台那一排英文选项就不会只敢点自动。2. 为什么无线不能照抄有线半双工、重传与看不见的邻居有线网络跑了几十年成熟、稳定、便宜按理说无线直接照搬就行。但真照搬会立刻翻车因为传输介质从铜线变成了空气物理条件全变了。这一章讲的就是无线为什么必须在网络层以下自己再造一套机制。2.1 有线是贴着耳朵说话无线是在广场上喊有线网络里一根网线两端可以同时收发这叫全双工就像两个人面对面聊天你说你的我说我的互不影响。无线不行同一时刻一片区域里只能有一个设备在发信号其他设备只能听这叫半双工。原因很朴素空气是共享的两个设备同时发信号在空中叠加接收方听到的就是一团噪音。半双工带来两个直接后果。第一设备想发数据必须先确认现在能不能说于是就有了争用和退避这套排队逻辑。第二加入一个无线网络之前必须先报到设备要和接入点完成关联Associate双方谈好支持什么速率、用什么加密才算正式入网。有线网络插上水晶头就开始传数据压根没有这个握手环节——这不是无线多此一举而是它必须先把规矩讲清楚否则后面全是撞车。打个比方有线像一条专用通道你和对方各走各的道无线像一个没有主持人的圆桌会议谁想发言得先看有没有人在说话说完还要确认对方听清了没有。2.2 出错率高逼着无线自己在底层管重传无线信号在空气里传播要穿过墙、绕过家具、躲开微波炉和蓝牙耳机的干扰出错概率比有线高出一个量级。有线网络里网卡发现帧校验不对直接丢掉交给上层 TCP 去超时重传就行因为这种情况很少见。无线要是也这么干问题就大了TCP 看到丢包会认为是网络拥塞立刻降速、缩小发送窗口而实际上只是空气里飘过一阵干扰。用上层的重传来兜底层的错误代价高得离谱。所以 802.11 在 MAC 层自己做了确认和重传。单播帧发出去接收方必须回一个 ACK 帧确认收到发送方等不到 ACK就重发。重发的帧序号和原帧一样只是多打一个 Retry 标记接收方看到就知道这个我可能收过了据此去重。ACK 帧本身是单播的里面有接收地址字段说明它在确认谁但它自己不需要再被确认——否则确认的确认无限循环下去。广播帧和组播帧则不需要 ACK因为一发出去就是给一片人听的让几十个设备同时回确认空中立刻乱成一锅粥。抓包时看到探测请求帧后面没有对应的确认帧不用怀疑抓漏了它本来就没有。还有一个参数叫分片阈值Fragmentation Threshold。一个数据包超过这个值协议会自动把它切成几段分别发送。听起来反直觉切小了不是更麻烦吗但无线环境里一个长包传一半被干扰打断整包都要重来切成小片坏哪片重传哪片整体成功率反而高。代价是每片都要加头部、都要单独确认、收齐了还要重组开销上去了。这就是无线里到处都是的取舍可靠性靠碎片换效率靠合并换。2.3 隐藏节点两个站互相听不见却都听得见接入点无线里有个很典型的坑叫隐藏节点。假设一个接入点覆盖整个楼层A 站在东头B 站在西头两边距离太远A 发的信号 B 收不到B 发的信号 A 也收不到。但它们都能和中间的接入点通信。于是 A 和 B 都以为空中是安静的同时开始发数据两股信号在接入点那里撞成一团双双失败然后双双重传再撞再失败。这个问题在有线网络里基本不存在因为线是点对点的谁在发大家心里有数。无线没有这个心里有数只能靠额外的握手来广播意图。做法是 RTS/CTSA 想发数据先发一个 RTS请求发送给接入点所有能听见 A 的设备都知道有人要说话了主动闭嘴接入点收到后广播一个 CTS允许发送这个 CTS 连 A 听不见的 B 也能收到B 于是知道自己旁边有个隐藏的邻居正在通信也闭嘴。一次握手换一段安静时间冲突概率显著下降。这个机制不是无条件开启的靠 RTS 阈值控制只有要发的包超过阈值才走这套握手。小包握手一次的开销比直接发还大不值当。所以调这个参数的本质是在碰撞重传的代价和握手本身的代价之间找平衡点。2.4 功耗、抓包与吞吐另外三笔账无线还有三笔绕不开的账。第一笔是功耗。设备要驱动射频收发信号比有线网卡费电得多这对靠电池活着的手机、传感器是硬约束。所以 802.11 允许设备休眠站进入睡眠后接入点替它缓存发来的数据站每隔一段时间醒一次看看有没有自己的东西。控制这个节奏的参数叫 DTIM 间隔它告诉设备你多久醒一次查看缓存。休眠越深越省电但响应越慢——你在电脑上 ping 一台处于睡眠状态的设备回包延迟会明显变大就是这个原因。第二笔是安全。有线网络想抓包你得物理接触到那根线无线信号在空气里敞着谁在覆盖范围内架个接收设备都能收。普通网卡默认只把发给自己的帧上交其余的过滤掉所以要抓全量数据得用专门的嗅探设备。这也解释了为什么无线网络从一开始就得认真对待加密。第三笔是吞吐。无线是共享介质、半双工、还要额外扛确认和重传的开销同样标称速率下实际能跑出来的带宽比有线低不少。这不是厂商偷工减料是介质本身决定的。3. 802.11 家族与频段信道a、b、g、n 的参数为什么长这样知道了无线为什么特殊接下来该看它具体怎么分档。802.11 不是一份文件而是一个不断生长的家族每一代都在解决上一代的短板。看懂这几代的关系你就能明白路由器包装盒上那些数字是从哪来的。3.1 频段不是速度档位2.4G 和 5G 的取舍先纠正一个极常见的误解2.4G 和 5G 里的G是 GHz指无线电波的频率不是第几代。这两个频段各有脾气。2.4G 频段波长长穿墙能力强覆盖范围大但可用带宽窄整个频段宽度约 83.5MHz能切出来的互不重叠信道少而且这个频段是公共地盘——微波炉、蓝牙设备、无线鼠标都在这一带工作它们各自用不同的协议沟通互相把对方的信号当噪声处理。你在厨房热饭客厅的 wifi 掉速原因就在这里。5G 频段带宽宽得多约 325MHz信道多、干扰少、速率上限高但波长短穿墙能力差隔两堵墙信号就明显衰减。所以同一台路由器如果能同时开两个频段等于同时运营两个无线网络一个管覆盖一个管速度。这不是二选一而是各司其职有点像收音机的中波和短波中波传得远但音质一般短波传得近但清晰。3.2 四个协议的硬参数摆在一起看把主要几代的参数列出来规律一目了然协议制定时间工作频段频段宽度最大理论速率802.11a1999 年 9 月5GHz约 325MHz54Mbps802.11b1999 年 9 月2.4GHz约 83.5MHz11Mbps802.11g2003 年 6 月2.4GHz约 83.5MHz54Mbps802.11n2009 年批准2.4GHz 与 5GHz双频可用600Mbps能看出三条线索。一是 a 和 b 同年诞生一个走高频高带宽路线一个走低频覆盖路线结果 b 因为便宜、穿墙好而大受欢迎a 反而用得不多——技术优劣和市场份额从来不是一回事。二是 g 基本上是把 a 的速率搬到了 2.4G 频段解决了想要快就得去 5G 然后被墙挡住的尴尬。三是 n 一次性跨了两步双频都支持速率从 54Mbps 提到 600Mbps。顺带说一句不管有线还是无线网络层以上的部分基本是一样的。以太网在网络层以下用 802.3wifi 用 802.11往上走到 IP、TCP 这些地方两者走的是同一套逻辑。所以在应用层看换个传输介质对程序几乎是透明的——除非程序对延迟和丢包特别敏感。3.3 802.11n 凭什么快六倍信道合并与多天线600Mbps 不是凭空变出来的主要靠两个动作。第一个是信道合并。传输速率很大程度上取决于信道有多宽信道越宽单位时间能塞的比特越多。802.11n 允许在传输时把相邻的两个信道合并成一个 40MHz 的宽信道使用术语叫 HT-40high throughput 40MHz。相当于原来一条单车道现在并成双车道流量自然上去了。代价是占用了更多频谱资源在邻居密集的小区里你一合并别人可用的干净信道就少了。第二个是多输入多输出也就是 MIMO。它用多对天线在同一时间、同一信道上并行传输多路数据靠 OFDM 这种正交频分复用调制技术让几路信号互不干扰地分开。这个思路可以类比成在同一条走廊里让几组人各自用不同音高说话接收端按音高把声音分拣出来。天线越多、空间流越多理论速率越高。需要留意的是这两个能力都依赖对端也支持。手机只支持单流路由器四根天线也发挥不出全部本事实际速率会被拉回到手机那一档。3.4 信道、信道宽度与地区为什么自动不总是最优频段是大区信道是对大区的进一步切分。把 2.4G 那段频率再分成若干小段每一段就是一个信道不同信道上传输的数据只要频率范围不重叠就不会互相干扰。国际上对信道的使用有规定一部分信道无需授权即可使用另一部分则受限制具体哪些能免费用各个地区的规定不一样。信道宽度是另一层参数常见的有 20MHz 和 40MHz它表示一个信道片段占多宽。举个直观的例子假设某频段总宽 100MHz平均切成 10 个互不干扰的信道每个宽度就是 10MHz。实际划分当然没有这么整齐信道之间常有重叠。选了 20MHz 宽度、再把中心频率定在某个点就意味着以该点为中心的前后各 10MHz 都被占用。宽度越大越快但占的地方也越大邻居之间越容易挤。很多设备提供自动选项开机时自己扫描周围环境挑一个干扰最小的信道。听着很智能但它通常只在上电时选一次之后就不再变。你家楼下新开了一家店装了三个接入点你这边不会自动躲开。所以多台设备共存的场景手动规划反而更靠谱。这属于那种默认能用、认真调才快的参数很多人踩过的坑就是全程自动然后在晚上高峰时段抱怨网慢。还有一个容易被忽略的参数是地区Region。接入点要声明自己处在哪个地区这个信息会写进它定时广播的 Beacon 帧里设备连上来之后会根据这个声明调整发射功率以符合当地的无线电管理规定。设错了地区设备可能用上不该用的频段或功率干扰别人自己也不合规。这类参数出厂就配好了一般不需要动但刷固件、跨地区搬设备之后值得核对一眼。4. 名词现场AP、Station、SSID、BSSID 到底谁是谁无线术语里最容易让人犯晕的是一堆长得很像的缩写。这一章把最常撞见的几个拆开讲顺便说清三种帧各自在干什么——因为不理解帧前面那些参数就只是孤立的数字。4.1 AP 与 Station一个当门卫一个当访客先说组网结构。最基本的无线网络叫 BSS基本服务集由一组能互相通信的设备组成分两种形态。一种是临时组网IBSS也叫 AD HOC设备之间直连直通站对站没有中心另一种是基础结构型网络所有通信都得经过一个中心节点中转也就是站—接入点—站。日常用的几乎全是后者因为直连组网规模一大就乱套谁先发、谁后发、谁负责转发没有裁判根本协调不了。基础结构型网络里只有两种角色接入点AP是那个特殊节点负责让无线网络里的设备与网络内部、外部通信。家用的无线路由器通常把路由功能和接入点功能做在一台机器上这种一体机常被叫做胖 AP商场、学校里一个覆盖区放几十个只负责收发、不管路由的接入点那是瘦 AP。工作站Station就是连进来的设备手机、笔记本、电视盒子、智能音箱。站自己不直接和别的站说话所有数据先交给接入点再由接入点转出去。这个结构决定了无线网络的一个基本性质接入点是瓶颈也是单点。它一挂整片网络全断。4.2 SSID 与 BSSID名字给人看编号给机器看SSID 是无线网络的名字。设备扫描周围环境时会把扫到的 SSID 列出来你从列表里挑一个连上去。理论上不扫描也行事先知道名字直接指定也能连——扫描只是省事不是必须。BSSID 用来标识一个 BSS格式和 MAC 地址一样是 48 位通常就是所在接入点的 MAC 地址。这句话里藏着最容易混的一点SSID 是给人和上层看的网络名BSSID 是给机器看的硬件编号。指望用 SSID 精确定位一台设备是不行的因为 SSID 允许重复。为什么要允许重复为了扩大覆盖。一个路由器的信号覆盖范围有限想把整栋房子盖住就放两台两台设成同一个 SSID。设备从客厅走到卧室会在背后悄悄从一个 BSSID 切换到另一个 BSSID而 SSID 始终不变所以你感觉不到断网。这就是漫游的基本原理和手机在移动通信网络里换基站是同一思路。记住这条推论漫游时 SSID 不变BSSID 一定变。还要澄清一个常见困惑抓包里看到的接入点地址和路由器外壳上印的 MAC 地址往往只差最后几位甚至对不上。原因是设备内部可能有好几个 MAC 地址一个用于对外广域口一个用于对内局域网和无线有些型号还会虚拟出额外的地址。一台设备上出现几个长得很像的地址多半就是同一台机器别当成好几台设备在互相通信。4.3 BSS 与分布式系统多个接入点怎么拼成一张网单个 BSS 覆盖有限多个 BSS 要靠分布式系统DS连起来。这是个逻辑组件负责把帧转发到目的地址802.11 标准并没有规定它具体怎么实现。实际产品里它通常由骨干网多数情况是以太网加上接入点内部的桥接引擎构成。它要解决三个问题。第一跨 BSS 通信你在这头连 A 接入点同事在那头连 B 接入点你们互发数据帧必须先上骨干网再下来。第二外部路由只认工作站的 MAC 地址不认它挂在哪台接入点下面所以得靠分布式系统去查、去送才能把包投递到正确的位置。第三接入点之间必须互相通告各自关联了哪些工作站整个系统才知道谁在哪否则转发就是瞎猜。分布式系统的媒介不一定是以太网也可以用无线方式做桥接。但对普通用户来说结论只有一条家里放多台接入点最好都接在同一台主路由的网线下面让它们处在同一个二层网络里漫游和转发才顺畅。有些人图省事把第二台设成路由模式结果变成两层网络设备之间互相看不见问题就来了。4.4 三种帧管理、控制、数据802.11 里的帧分三大类管理帧负责建立和维护关系比如 Beacon 帧、关联帧。Beacon 由接入点定时广播作用是宣告我在这儿里面还带着功耗管理、地区等信息。设备扫描找网络本质就是在等 Beacon或者主动发探测请求去问。关联帧则有请求和响应两个方向请求里带上自己想要的信道和速率让接入点判断收不收成不成看响应里的状态码是不是成功。控制帧负责协调空中秩序比如 RTS、CTS、ACK。数据帧负责搬东西是真正承载数据的载体。数据帧里有个字段特别值得说DS 字段两位分别表示到分布式系统和从分布式系统来。通俗理解可以把分布式系统近似看成接入点这两位就是从接入点的视角看数据往哪走两位都是零表示站与站直连的临时组网或者干脆是管理帧、控制帧进不出是站发给接入点的上行帧出不进是接入点发给站的下行帧两位都是一则是无线桥接设备之间的帧。控制帧和管理帧里这两位全是零只有无线网络上的数据帧才用得上。方向搞清楚了排障就有抓手。抓包发现只有上行没有下行问题多半在接入点往外转发那一段上下行都有但重传率高那要去看干扰和隐藏节点。4.5 大小端为什么抓包软件里的值和你的算法对不上这是个让人抓狂但必须知道的细节。以太网和 802.11 在物理线路上都是一个字节一个字节传的字节内部的比特是低位先传。而协议标准在描述一个帧的整体结构时习惯把最低位画在最前面等到具体解释某个字段等于多少时又换回我们平常写数字的顺序。同一份文档里两套顺序第一次看几乎必然看错。再补一刀MAC 地址是一种模式不是数值所以它没有大小端之说也不能比较谁大谁小。判断一个地址是单播还是组播看第一个字节的最低位是 0 就是单播是 1 就是组播前两位都是 1 就是广播。比如首字节是 a8二进制 10101000最低位是 0那就是单播地址。还有一个常被混淆的点内存里讲大小端单位是字节不是比特。内存地址标记的是每个字节的位置位在内存里没有地址所以这一位是大端还是小端这种问法本身就不成立。理解到这一层抓包时对不上的字段值基本都能解释清楚。5. 常见误区这些 wifi 概念初学者最容易搞混参数和术语都过了一遍接下来处理最容易出错的地方。下面五条每一条都值得在动手配置之前先想一遍。5.1 误区一标称速率等于实际能跑的速度易混点包装盒写 600Mbps就以为下载能跑到 600Mbps。为什么混无线宣传用的是数据速率Data Rate那是理论峰值在理想条件下、单一设备、无干扰、协议开销全忽略时才能摸到。真正有意义的是吞吐量Throughput也就是实际能跑出来的数据量。帧头、确认、退避、重传、管理帧全都要占时间。业内的经验值是实际吞吐大约为理论值的五成左右具体还要看环境和设备能力。拿这个尺子量一下就知道一路高清视频流大约需要 30Mbps 的吞吐普通网络视频 4Mbps 左右就够。怎么区分看到速率数字先除以二再打点折扣才是你能期待的水平。要判断一条链路够不够用看实际吞吐别盯着标称值。5.2 误区二SSID 一样就是一个网络走到哪都不断易混点看见手机列表里只有一个名字就以为背后只有一台设备或者反过来以为同名的一定是同一个网。为什么混SSID 是给人看的名字本来就允许重复重复恰恰是扩大覆盖的常用手段。而设备在多个同名接入点之间移动时切换过程在后台完成用户感知不到于是更容易误判。怎么区分要看 BSSID。同一个 SSID 背后可能是好几个 BSSID也可能一个 BSSID 在不同信道上对应不同的 SSID同一信道内则是一一对应。判断是否发生了漫游看 BSSID 有没有变。想让漫游顺滑同名接入点要接在同一张骨干网上加密方式和密码也得一致否则设备每次切换都要重新认证中间必然卡一下。5.3 误区三加密方式只是密码复杂度问题易混点把 WEP、WPA、WPA2 当成弱密码、中密码、强密码三档。为什么混路由器后台常常只给一个下拉框看起来就像在选强度。怎么区分这是三代不同的安全机制。WEP 是 1999 年就进入标准的老方案用 RC4 加密存在若干结构性弱点2003 年被 WPA 取代。WPA 采用 TKIP 算法但 TKIP 仍然保留了 RC4所以弱点没有彻底消除——当时更强的 CCMP 还没做完只能先过渡。WPA2 在 2004 年基于完整的安全标准推出采用 CCMP 加密设备上常见的AES字样其实就是指它。所以 WPA2 配 AES 是这套体系里最稳的组合。还有两个常被误读的后缀带 Enterprise 的版本指的是用 802.1X/EAP 那套集中认证带 Personal 的版本其实就是 PSK预共享密钥用一串口令代替认证服务器家里和小型办公室用的都是这种不需要额外架设认证服务器。一个很实际的坑WEP 只在 802.11b/g 模式下工作802.11n 草案并不支持它。也就是说一台支持 n 的设备一旦设成 WEP就会退回 b/g 模式运行n 带来的性能提升全部作废。你以为是加密弱一点但还能用实际是整套高速模式被关掉了。5.4 误区四信道设成自动就万事大吉易混点既然有自动为什么还要手动选。为什么混自动听起来就是最优解。怎么区分自动的逻辑一般是开机扫一次挑个当时最干净的信道然后长期不变。周围环境是动态的——邻居新装设备、店里加了接入点、微波炉和蓝牙设备时不时占用 2.4G 频段——一次性的选择很快就会过时。多台接入点共存时手动把相邻设备的信道和信道宽度错开效果通常比自动好。要留意的是信道宽度选 40MHz 会占掉更宽的频谱在密集环境里反而更容易互相踩。5.5 误区五信号强就不会互相干扰易混点看到信号格数满就认为链路质量没问题。为什么混信号强度只反映我能不能听见你不反映有没有别人同时在说。怎么区分干扰有两种来源。一种是同频干扰你和邻居用同一个信道谁的信号都强但彼此都在拖慢对方另一种是隐藏节点两个站互相听不见却都要经过同一个接入点冲突发生在接入点那一侧你在设备上看信号依然是满格。判断要看重传率和实际吞吐而不是信号格数。这种场景下才需要动用 RTS 阈值这类机制而它的代价是额外握手开销包不大的时候反而拖慢速度——所以别把它当万能药随手打开。6. 什么时候该翻这些参数什么时候别碰把前面这些串起来落到一个具体场景一套三室的房子一台主路由加一台副路由想做到全屋覆盖又不互相拖后腿。先判断该动什么。覆盖不够是位置和数量的问题不是参数问题——先把副路由放到主路由信号还剩下两格的位置而不是放到信号已经彻底没有的角落因为无线中继要先生存再谈扩展。两台设备的 SSID 设成一样、密码和加密方式一致让设备能自己漫游。频段上2.4G 管穿墙覆盖5G 管近处速度两个都开让设备自己挑。信道和宽度手动规划2.4G 只选互不重叠的那几个两台设备错开除非周围非常干净否则宽度留在 20MHz。加密一律 WPA2 配 AES别为了兼容一台老设备把整张网降级到 WEP——那等于让所有设备一起退回 b/g 模式。哪些不要碰地区参数保持出厂设置除非确实换了使用地Beacon 间隔用默认值人为拉长会让扫描不到网络的概率上升设备可能莫名其妙断连分片阈值和 RTS 阈值除非确认存在大量冲突或隐藏节点否则保持默认瞎调只会增加开销。想核对当前连的到底是哪台设备、走的哪个频段可以在设备上直接查# 查看当前无线连接的概况网络名、接入点地址、频段、本机地址 wpa_cli status # 只挑出排障时最关心的几项 wpa_cli status | grep -E ssid|bssid|freq|ip_address第一行输出的是完整状态第二行筛出来的四个字段含义分别是ssid 是网络名bssid 是当前实际连着的那个接入点的地址判断有没有发生漫游就看它变没变freq 是当前工作的频率能反推出在 2.4G 还是 5Gip_address 是本机拿到的地址。发现家里走动时 bssid 一直不变、速率却掉得厉害说明设备在死守一台接入点不肯漫游这时候该调整的是接入点的位置和发射功率而不是去改加密方式。提示抓包分析时先看帧校验是否正常。校验不对的帧应当直接忽略它连接收时哪里出了错都无法确定分析它没有意义。另外用普通网卡抓无线包收到的往往只有目标地址是自己的帧想看整片空中的全量流量得用专门的嗅探设备。至于什么时候根本不用管这些家里就一台路由、周围没有几户邻居、设备也不多的时候默认配置基本够用折腾参数的收益远小于风险。反过来一旦出现信号满格但速度上不去走到某个房间就断晚上某个时段特别卡这三类症状上面这些概念就都派上用场了。我以前图省事给朋友家加第二台路由时直接开了自动信道还自我感觉良好。结果两周后反馈说卧室一到晚上就卡跑过去一看两台设备自动选到了同一个信道上宽度还都是 40MHz自己跟自己打架。从那以后我每次布多台接入点都强制走一遍先定信道宽度再手动错开信道最后用状态命令确认设备真的漫游了。希望帮到你。这套从协议、频段、术语到抓包注意事项的整理按认知顺序串成了一条线放在下载资料里适合当案头速查——下次再看到路由器后台某个陌生选项翻回去对一眼就行。本文还有配套的精品资源点击获取