简介这份《wifi 基础知识讲解》文档面向刚接触无线网络的初学者以及需要梳理基础概念的运维、测试人员围绕 Wi-Fi 工作原理与常见术语做系统归纳帮助读者厘清有线与无线网络的差异建立 802.11 协议族的整体认识。正文从基本概述切入对比有线网络说明无线通信需先建立连接、采用半双工传输、网络层以下出错概率高、抓包容易以及功耗偏大等特点随后按时间顺序梳理 802.11a/b/g/n 各协议的工作频段与最大速率并解释 802.11n 在 MAC 层的改进如信道合并与 MIMO 多输入多输出最后逐一讲解 LAN、WAN、WLAN、AP、Station、Assosiate、SSID、BSSID、BSS、DS 等术语及彼此关系。压缩包内共 1 个 doc 文件体积约 88KB篇幅精炼便于随查随用。目前已有 280 人学习适合作为入门速查与知识补漏的参考。1. 一张地图先摆出来wifi 基础知识到底分几层wifi 基础知识散在各处协议代号、术语缩写、信道参数、加密方式、帧结构五摊东西各说各话单独看都懂合起来就串不成线。系统梳理一遍会发现它其实是四层最上面是协议族802.11a/b/g/n 各自的频段与速率往下一层是拓扑AP、Station、BSS、DS 谁跟谁说话再往下是参数配置Band、Channel、Channel Width 决定干扰和吞吐最底层是帧与抓包管理帧、控制帧、数据帧怎么读。考试和面试真正爱问的不是这四层本身而是层与层之间的因果为什么 N 模式要合并信道、为什么 WEP 会把速率拉回 b/g、为什么抓到的包看起来“缺地址”。这份笔记按这四层重排适合已经翻过一遍资料、需要把碎片串成线的人。2. 协议与拓扑802.11 家族、BSS 与 DS 的角色分工很多人对“无线”两个字的第一个印象来自 3G/4G 这类移动通信但 wifi 走的是另一套逻辑它不负责广域覆盖只解决最后一段接入所以它的协议设计几乎全部围绕“共享介质、容易出错、需要省电”这三件事展开。理解了这一点再看 802.11 家族和 BSS、DS 这些组件就不会觉得它们是一堆孤立的缩写。以太网用 802.3 做网络层以下的协议wifi 用 802.11两者都属于 IEEE 802 协议集网络层以上基本一样差别全压在下面这层。2.1 802.11a/b/g/n 四个协议的时间线与参数协议制定/批准时间工作频段频段宽度最大速率记忆点802.11a1999 年 9 月5GHz325MHz54Mbps频段宽当年不流行802.11b1999 年 9 月2.4GHz83.5MHz11Mbps铺得最广的一代802.11g2003 年 6 月2.4GHz83.5MHz54Mbps速率追平 a兼容 b802.11n2009 年获批2.4GHz 与 5GHz—600MbpsHT-40 加 MIMOa 和 b 几乎同时制定命运却完全不同a 走 5GHz频段宽度 325MHz速率上限 54Mbps但当年 5GHz 射频器件成本高、覆盖特性又不如 2.4GHz所以用得少b 走 2.4GHz只有 11Mbps却因为便宜、穿墙好而大面积铺开。g 的意义是在 2.4GHz 上把速率做到 54Mbps 并且向下兼容 b属于平滑升级。n 的关键不在速率数字而在 MAC 层的两处改造。一处是信道合并传输速率很大程度上取决于信道的 ChannelWidth 有多宽n 允许在传数据时把两个信道并成一个用这就是 HT-40high throughput 40MHz。另一处是 MIMO多输入多输出让两对天线在同一个信道上同时传输数据靠 OFDM 这种特殊调制方式保证彼此不干扰。这两个改动叠加才有了 600Mbps 这个数字。2.2 AP、Station、BSS 与两个 ID术语这一层最容易背完就忘原因是没和“谁跟谁通信”绑在一起。把下面这张表当成一张人物关系图来看会好记很多。术语全称一句话理解LANLocal Area Network路由和主机组成的内部网络一般指有线WANWide Area Network外部更大的网络WLANWireless LAN无线局域网wifi 属于它APAccess Point特殊节点其它节点通过它与内外通信Station—接入无线网络的设备Associate—Station 加入网络时与 AP 建立关联SSIDService Set Identifier网络的名字给人看的BSSIDBasic Service Set Identifier标识一个 BSS48 位格式与 MAC 相同BSSBasic Service Set一组相互通信的工作站802.11 网络的基本组件DSDistributed System逻辑组件负责把帧转发到目的地址BSS 分两类。IBSS 又叫 Ad Hoc组网是临时的通信方式是 Station 对 Station一般不在复习重点里真正要掌握的是基础结构型网络通信方式是 Station 到 AP 再到 Station也就是说无线网络里的设备想通信都必须经过 AP 这一跳。这个“必须经过”是后面理解 DS、理解帧地址、理解半双工冲突的前提。SSID 和 BSSID 的关系必须掰开SSID 是子网的名字设备扫描时看到的就是它理论上不扫描、事先知道名字也能直接连BSSID 是给机器看的48 位地址格式通常就是所在接入点的 MAC。SSID 允许重复把多个路由设成同一个 SSID 正是扩大一个无线网络覆盖范围的做法漫游的原理就在这里——漫游时 SSID 不变但 BSSID 一定变。SSID 和 BSSID 不是一一对应同一个 BSSID 在不同 Channel 上可能对应多个 SSID但在同一个 Channel 上是一一对应的。2.3 DS 分布式系统AP 之间靠什么把帧送到DS 是 802.11 的逻辑组件802.11 本身不规定它的技术细节多数商业产品用桥接引擎加分步式系统媒介共同构成。它的作用是接入点之间转发帧的骨干网络一般是以太网也可以是无线媒介 WDS。拆开看有三层意思。骨干网是媒介比如以太网桥接器是有线无线两个接口的接入点里包含的部件而属于骨干网上的接入点所管辖的 Station无论和外界通信还是和 BSS 内部通信都必须经过 DS。原因很直白外部路由只知道 Station 的 MAC 地址不知道它挂在哪必须靠分布式系统才能知道具体位置并正确投递。还有一条容易被跳过分布式系统中的接入点之间必须相互传递与之关联的工作站信息整个系统才知道哪个 Station 和哪个 AP 关联。这条信息同步一旦缺失帧就会被送到错误的 AP表现就是“连着网但时通时不通”。2.4 无线相对有线的六个差别这六条不是背概念是解释后面所有机制存在的理由。通信前需要建立连接有线插上线缆就能通无线必须先关联。通信方式是半双工有线可以全双工所以无线同一时刻只能有一个发送者。网络层以下出错概率非常高帧重传概率大必须在底层协议里加重传机制不能只靠上层 TCP/IP 的超时重传来兜底。数据在无线环境里传输抓包非常容易存在安全隐患。收发无线信号功耗大对电池是考验于是有了休眠和缓存机制。吞吐量相对有线低这一点正在改善802.11n 理论上可以到 600Mbps。半双工这条直接推出了后面的冲突避免和 RTS/CTS出错率高这条推出了 ACK 和分片功耗大这条推出了 DTIM 和缓存。复习时如果能把每条差别对应的机制说出来这一章就算过关了。3. 参数与信道Band、Channel、Channel Width 的取舍逻辑配置过无线路由的人大概都有体会页面上参数一大堆大部分默认值不动真正需要想清楚的其实只有频段、信道、信道宽度这三项其余多是锦上添花。但就是这三项配错了会直接体现在“网速忽快忽慢”上属于典型的玄学现场。3.1 Band 与 Channel频段划分与干扰源Band 指频率范围一般 AP 支持 5GHz 或 2.4GHz 两个频段。如果两个频段可以同时设置而不是互斥这个路由器就能同时支撑两个无线网络相当于在长波和短波两个范围里各自收音互不占用。Channel 是对频段的进一步划分把 2.4GHz 或 5GHz 的范围再切成几个小频段每个小频段就是一个信道配置里能看到“5.18GHz”“Auto(DFS)”这类取值。处于不同信道上的数据如果信道覆盖范围没有重叠就不会相互干扰。信道的使用在不同地区有各自的规定有些信道无需授权即可使用有些则需要授权配置时按设备提供的选项走即可。2.4GHz 这一段尤其拥挤微波、红外、蓝牙走 802.15 协议的工作频段都有落在 2.4GHz 范围内的它们和 wifi 在不同协议下通信互相把对方的信号识别成噪声。所以 2.4GHz 上的“干扰”往往不是邻居路由一家造成的这也解释了为什么同样的位置5GHz 经常更稳。Channel 里那个“Auto”选项的含义是AP 启动时自己扫描周围环境挑一个干扰最小的信道选定之后一般不再改变。它的价值在多 AP 环境里才明显单台路由用 Auto 基本够。3.2 Channel Width 与 HT-40合并信道的收益与代价Channel Width 是信道的带宽常见取值 20MHz、40MHz表示一个信道片段的宽度。举个便于理解的算法假设 5GHz 的频段宽度总共 100MHz平均划分为互不干扰的 10 个信道每个信道的宽度就是 10MHz实际信道并不一定完全不重叠但这个算法足够说明“宽度是从总频段里切出来的”。理解了宽度就理解了配置的连带关系选了 20MHz 的宽度再选一个中心频率为 5.18GHz 的信道意味着以 5.18GHz 为中心的前 10MHz 和后 10MHz 被一起占用。40MHz 就是前后各 20MHz占用翻倍。802.11n 的 HT-40 正是把两个信道并成一个来传数据速率上去了代价是占用的频谱更宽。这个代价在多 AP 环境里会放大。屋子里 AP 一多每台都开 40MHz可用的干净频谱很快被切完相互干扰的概率反而上升。干扰出现后协议本身有协调机制比如让谁先通信、谁等一会儿但性能一定不如无干扰时。所以血泪经验是AP 密集的场所宁可用 20MHz 换稳定也别死盯 40MHz 的理论速率。另外不是所有协议都有 40MHz 这个选项非 802.11n 的设备可能根本不提供因为合并信道是 N 模式的能力。3.3 传输速率不等于吞吐量参数页上的 Transmission Rate 是理论速率不同协议可设置的范围不同比如 a/b/g/n 各自的上限差别很大。这里有个必考的区别Datarate 是理论上最大数据传输速率Throughput 是实际最大吞吐量。因为厂家实现、协议开销等各种因素实际吞吐一般只有理论值的 50% 左右。这个比例不算精确但作为估算锚点很好用。再给两个直观参照网络上一路普通视频大约需要 4Mbps 的吞吐高清视频大约 30Mbps。用这个尺子去量就明白为什么标着 600Mbps 的设备跑个高清投屏仍然可能卡——理论值和实际值之间隔着一半。配置里还有个 Transmission Rate 的选项实际中由于干扰真实速率往往比设置的更小。所以这个参数更多是上限约束不是性能承诺。3.4 省电与冲突避免四个常被忽略的参数Beacon Interval 表示无线路由定期广播 SSID 的时间间隔一般不用特别设置用默认值即可。它的作用是告诉范围内的 Station“我还在”Station 进入一个区域后靠扫描 Beacon 得知这里有没有 AP。如果关掉广播Station 扫描时可能发现这个网络时有时无进而断开连接。除了被动接收 BeaconStation 也可以主动发 Probe 探寻包询问范围内有没有 AP这就是常说的主动扫描。DTIM Interval 和休眠有关。为了省电Station 可能在一段时间后自动进入休眠这期间 AP 会替它缓存发给它的数据休眠中的 Station 只在固定间隔醒来给 AP 发一个帧确认有没有自己的数据。效果很直观ping 一台睡眠中的机器响应时间明显比它清醒时长。Fragmentation Threshold 是分片阈值数据包超过这个值802.11 会自动把它切成若干片。因为无线出错概率远高于有线分片越小单次传输出错时只需要重传一个片段而不是整包成功率更高但分片要额外的标记信息还要重组开销也更大。这是个典型的两头权衡参数。RTS Threshold 和 CTS Protection Mode 解决的是隐藏节点问题。设想同一个 AP 下的两个 Station A 和 B因为距离远彼此看不见但 AP 都看得见。A 要发数据必须经 AP 转发如果此刻 B 也在发AP 会同时收到两边的请求而无线网络同一时刻不允许两个人传数据。这种互相干扰却互相不可见的节点叫隐藏节点节点一多重传概率就上去了。RTS/CTS 的机制是A 先广播 RTS 给 AP 表明要发送收到 RTS 的其它 Station 知道 A 要发数据先不发声AP 收到后广播 CTS告诉范围内所有 Station包括对 A 而言的隐藏节点 B“A 要通信了”B 于是安静下来。默认情况下 Station 发 RTS、AP 发 CTS。设置阈值之后超过阈值才启用这套握手小包不值得这个开销。顺带一提不同网络的工作站之间也能通过 RTS/CTS 清除相互干扰。3.5 MAC 地址与 Region两个看着没用实则关键的字段MAC 是数据链路层的一部分MAC 地址烧录在网卡里也叫硬件地址48 位16 进制表示。0 到 23 位叫组织唯一标志符OUI用来识别厂商24 到 47 位由厂家自己分配。有些抓包工具会把前三个字节映射成组织名称显示也可以选择不显示这层映射。Region 是 AP 上的地区参数Station 会根据 AP 中设置的 Region 调整发射功率以符合当地的约束。设置过程一般是手动的设好之后这些信息会随 Beacon 帧广播出去接入的 Station 从 Beacon 里读到并按此通信。如果 AP 一开始就设错了Station 会使用不符合规定的频段和功率可能干扰同一区域内的其它传输这属于典型的“配错了自己也不知道”的坑。QoS 在无线里指质量保证大意是传输时综合考虑各种因素以一定优先级保证特定要求通常是速度。带宽足够时 QoS 的作用不明显紧张时才体现出来。4. 从加密到帧WPA2 之后抓包里还能看到什么安全和帧这两块放在一起讲是因为它们在同一次抓包里会正面相遇加密方式决定了你能看懂多少帧结构决定了你该怎么读剩下的部分。很多人抓包抓了一堆看不出所以然问题往往不在工具而在于没先搞清楚“这个包是不是被加密的”。4.1 WEP、WPA、WPA2 与三种加密算法的对应IEEE 802.11 制定的是技术性标准Wi-Fi 联盟制定的是商业化标准后者基本都符合前者。这条关系理清了下面三代安全标准就不会混。标准时间加密算法说明WEP1999 年 9 月RC4802.11 标准的一部分弱点较多2003 年被 WPA 淘汰WPA过渡期TKIP保留 RC4属于 CCMP 未完成前的过渡方案WPA22004 年CCMP即完整的 802.11i 标准也常被写成 AESWPA 的存在理由很务实当时更好的 CCMP 还没完成只能在 RC4 上打补丁所以 TKIP 保留了 RC4 的弱点。WPA2 采用 CCMP 加密协定很多设备的设置页面用 AES 这个字眼替代 CCMP看到时别以为是两回事。结论就是 WPA2 加 AES 是安全性最强的组合。4.2 Personal 与 EnterprisePSK 和 802.1X 两条路设备参数里常见的 WPA-Enterprise、WPA2-Enterprise、WPA-Personal、WPA2-Personal其实只是两种认证模式加两个版本的排列。Enterprise 就是标准的 WPA/WPA2走 IEEE 802.1X/EAP 认证需要专门的认证服务器。Personal 就是 WPA-PSK/WPA2-PSK用预共享密钥或口令代替 802.1X/EAP不需要认证服务器所以特别适合家用和小型办公环境。这里有个抓包时才会暴露的细节Authentication 阶段的开始其实是 Open 的也就是无授权看上去连接已经建立好了验证是“通过”的紧接着才会走类似 802.1X 的安全加强协议做再次鉴权若这一关过不了已经建立的 Association 会被立即断开。这是早期 802.11 没有充分考虑安全留下的历史设计好处是兼容旧设备。抓包抓到的“认证成功”不等于“最终接入成功”判断连接是否真正建立要看后续的鉴权结果。4.3 三类帧与 DS 字段地址怎么解析802.11 的帧分三类管理帧Beacon、Association 等、控制帧RTS、CTS、ACK 等、数据帧承载数据。帧头部的类型字段会标明属于哪一类。ACK 帧值得单独记单播帧都需要 ACK 确认但 ACK 本身是单播的却不需要再被确认而且它只有接收地址没有源地址和序号。原因是发送和接收被视为一个不可分割的原子操作发送方发出后其它人不会再发接收方回一个没有源地址的 ACK 就足以说明“我收到了”。理解这一点看到抓包里“缺地址”的 ACK 就不会以为抓漏了。Beacon 帧定时广播通知 AP 的存在同时携带 Power Save、地区等信息Station 与 AP 建立关联时也要用到它。Association 帧通常伴随 Probe Request 和 Probe ResponseRequest 里带着所需的信道与数据速率等状态供 AP 判断关联是否成功看 Response 里的 Status code 是否为 Success。数据帧的关键是 DS 字段两位分别表示 To DS 和 From DS其余类型的帧这个字段全零。To DSFrom DS含义00Ad Hoc 类通信或控制帧、管理帧01Station 接收的帧10Station 发送的帧11无线桥接器上的数据帧复习时抓重点看 01 和 10 两种。可以把 DS 大致理解成 APTo/From 是从 AP 的角度看的To DS 就是让 AP 干活。但 DS 严格来说不是 AP而是一个系统从 Station 的角度理解更顺。数据帧里还有 Sequence 字段表示序号重传帧序号不变但会多一个 Retry 字段标识。那怎么判断一个帧是单播、组播还是广播看目的 MAC 的第一个字节第一个位是 1 表示组播前两位都是 1 表示广播第一个位是 0 表示单播。注意 MAC 不是数值而是模式没有大小端之分也没有谁比谁大。# 用目的 MAC 的首字节最低位判断帧类型 mac a8:27:26:1c:3b:07 first int(mac.split(:)[0], 16) # 取第一个字节 a8转成整数 print(bool(first 0x01)) # bit0 0 → 单播为 1 则是组播 print((first 0x03) 0x03) # 前两位同时为 1 → 广播a8 的二进制是 10101000最低位是 0所以这是一个单播地址。这段判断在实际读包时很实用Probe 帧是广播帧所以没有对应的 ACK对它的回复叫 Probe ResponseACK 本身是单播的却再也不需要被确认。4.4 抓包现场过滤器、端序与设备限制普通机器上的软件抓无线网卡时抓到的包目标地址基本都是本机网卡不是发给本机的包已经被网卡过滤掉了。想抓整个无线环境下的包需要专门的嗅探设备配合图形化抓包工具分析。抓包时有几条基本纪律。第一先确认包是否完整正确校验位不对的直接忽略几乎没有分析价值。第二由于干扰等原因抓到的内容可能不是实际传输所处信道上的包。第三注意包是否被加密协议里若有 data protected 字段说明数据本身加密了看不出具体内容。这里要分清两层访问网络需要密码网络是 security 的是一回事数据本身被加密是另一回事。第四注意源地址、目的地址和序号同一地址上的序号是连续的除非丢包导致重复或缺失看到两个 AP 的 MAC 几乎一样很可能就是同一台设备虚拟出来的多个地址。过滤器分两种抓包时设置的是 capture filter用 BPF 这种通用语言描述不是某款工具专用的语法抓包期间的过滤有时不准所以更稳的做法是先全抓下来再用显示过滤器筛出关注的部分复杂条件可以用宏定义。保存时也可以按显示过滤或抓包过滤来存。设备限制也得提前知道某些嗅探硬件对信道宽度为 40MHz 的包支持不好如果非要抓可以在 36 号或 40 号信道上抓并在工具里设置信道偏移为 1平时偏移是 0这样能抓到 40MHz 的包但其它信道上的 40MHz 包仍然抓不到。这是硬件固件层面的限制不是配置错了。部分移动系统提供命令行接口可以直接查看当前连接的 SSID、BSSID、MAC、IP 等信息排查“到底连到了哪个 AP”时比翻界面快。5. 易错点排查五个最容易记混的地方前面四章是按体系铺开的这一章换个方向只挑那些“看的时候觉得懂、用的时候必错”的点。每条都按“错在哪、为什么会漏、怎么补”走一遍。5.1 易错点一把 SSID 和 BSSID 当成一回事易漏点配置页面上两个字段挨着名字都带 ID很容易默认它们一一对应。为什么漏SSID 是子网名BSSID 是 48 位地址两者在单 AP 环境下确实看起来绑定一旦涉及多 AP 或漫游就分家了。怎么补记住三句话——同一 BSSID 在不同 Channel 上可能对应多个 SSID但在同一 Channel 上一一对应扩大覆盖时把多个路由设成相同 SSID这正是漫游原理漫游时 SSID 不变BSSID 必变。实际设备上路由器的外网 MAC 和内网 MAC 通常只差几位甚至连续而抓包里的 BSSID 和标注的 MAC 也常常只差最后几位看到“几乎一样的 MAC”先怀疑是同一设备。5.2 易错点二拿理论速率当实际吞吐易漏点包装和参数页只写 600Mbps、54Mbps没人提醒这是 Datarate。为什么漏实际吞吐受厂家实现、协议开销、干扰共同影响没有公式能直接算只能估。怎么补按理论值的一半估实际吞吐再用业务需求反推普通视频约 4Mbps、高清约 30Mbps。这样一算就知道标称 600Mbps 的设备在干扰环境下跑高清投屏仍然可能吃紧排查时别一口咬定是设备坏了。5.3 易错点三开了 WEP 却以为还在 N 模式易漏点加密方式在安全设置页工作模式在无线设置页两页分开改完一个不会提醒另一个。为什么漏WEP 工作于 802.11b/g 模式802.11n 草案并不支持这种加密方式设备不会报错只会悄悄降级。怎么补看到“明明是新设备却只有几十兆”的现象先去安全页确认加密方式。把加密改成 WPA2 加 AESN 的性能才发挥得出来。这条在老旧设备混用的环境里尤其常见。5.4 易错点四大端小端混着读易漏点协议标准描述帧的整体格式时用小端描述具体字段值时又用大端同一份文档里两种写法并存。为什么漏内存地址用来标记字节而不是位所以端序在内存层面以字节为单位但描述帧格式时的位序又确实是另一套规则两者容易搅在一起。怎么补把三句话分开记——以太网线路上按 Big Endian 字节序传送报文比特序是 Little Endian字节内最低位先传协议标准描述整体帧时 b0 排在最前字段的值按大端写内存里以字节为单位本文还有配套的精品资源点击获取