Beacon帧简介
信标帧,由AP以一定的时间间隔周期性发出,以此来告诉外界自己无线网络的存在。
Beacon帧组成
下图为Beacon帧的组成
下图为抓包所得(AP为2.4g 11n模式),Packet Info为抓包软件自己添加的字段,可以看到一些基本信息,这里不做分析。
802.11 MAC Header
仔细观察不难发现,802.11 MAC Header 图中的字段与帧组成图中的帧相对应。
Frame Control
Version:版本号
目前802.11只有一个版本,故为0
Type:帧类型
00 - 管理帧、01 - 控制帧、10 - 数据帧、11 - 保留
Subtype:帧子类型
要根据Type来判断子类型代表什么,例如Type = 00为管理帧,Subtype = 1000对应为Beacon帧
Frame Control Flags:帧控制字段
bit_7:按序传输位,bit = 1 为帧和帧片段必须严格按序传输
bit_6:保护位,bit = 1 为帧主体部分被加密
bit_5:更多数据位,与省电相关,bit = 1为至少有一帧待发送给休眠中的STA
bit_4:电源管理位,bit = 1为完成当前基本帧交换之后进入省电模式,对于AP来说,因为要进行一些重要的管理功能,所以该bit一定为0,但对于STA来说,该bit可以为1
bit_3:重传位,bit = 1为该帧是重传帧
bit_2:更多碎片位,bit = 1为上层封包经过mac层需要分片,只有分片的最后一个片段该bit为0,其余片段均为1
bit_1 & bit_0:From DS位 & To DS位,00 - 所有管理帧和控制帧、01 - STA发出的数据帧、10 - STA收到的数据帧、11 - 无线桥接器上的数据帧
Duration:持续时间
该字段有多种功能,在这的功能是用来设置NAV(网络分配矢量),通俗的来讲就是占用信道多长时间(单位 us),STA要根据收到的所有帧的MAC头,实时更新NAV,同时会阻止其它STA使用信道
Destination:目的MAC地址
因为Beacon帧为广播,所以目的地址全部为FF
Source:源MAC地址
因为Beacon是从AP发出的,所以源MAC地址为AP的MAC地址
BSSID:基本服务集标识
一般为AP的MAC地址,用来判断收到的帧是否属于该网络
Seq Number:顺序编号
当上层帧交付 MAC 传送时,会被赋予一个 sequence number,相当于已传帧的计数器取 4096 的模(modulo);此计数器由 0 起算, MAC 每处理一个上层封包就会累加 1;如果上层封包被分片处理, 所有帧片段都会具有相同的顺序编号; 如果是重传帧,则顺序编号不会累加。
Frag Number:片段编号
帧片段之间的差异在于fragment number,第一个片段的编号为0,其后每个片段依序累加1;重传的片段会保有原来的 sequence number 协助重组。
Beacon
下图为Beacon帧的主体
Beacon Timestamp:Beacon时间戳
用来同步 AP 和 STA 的 TBTT(信标预定传送时间)窗口, AP 的主计时器会定期发送目前已经工作的微秒数。当计数器到达最大值(64bit)时,便会从头开始计数。
Beacon Interval:Beacon间隔
周期性按照Beacon时间间隔发送,时间单位通常缩写为TU,代表1024微秒(microsecond),相当于1毫秒(millisecond),这里是100ms。
Capability Info:性能信息
发送 Beacon 信号的时候,它被用来通知各方,该网络具备哪种性能。
bit_15 & bit_14:10 -立即应答block ack、01 - 延迟应答block ack
bit_13:bit = 1代表使用 802.11g 的 DSSS-OFDM 帧构建(frame construction)选项。
bit_12:bit = 1为支持无线电测量
bit_11:bit = 1为支持自动省电
bit_10:bit = 1为 802.11g 支持的较短的时槽
bit_9:bit = 1为支持Qos(服务质量保证),目前好像都是以WMM字段来判断支不支持Qos的,可能是为了兼容不支持Qos的设备吧
bit_8:bit = 1为支持频谱管理
bit_7:802.11b 独有,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY),bit = 1为此网络使用机动信道转换( Channel Agility)选项;2016-802.11协议已经将此bit更新为保留
bit_6:802.11b 独有,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY),bit = 1为此网络目前使用分组二进制卷积编码( packet binary convolution coding)调变机制,或是 802.11g PBCC 调变机制;2016-802.11协议已经将此bit更新为保留
bit_5:802.11b 独有,是为了支持高速直接序列扩频物理层(high-rate DSSS PHY),bit = 1为此网络目前使用短同步信号(short preamble)
bit_4:bit = 1为需要使用 WEP 以维持机密性
bit_3 & bit_2:
STA:00 - sta不支持轮询、01 - sta支持轮询,且要求将之置于轮询表、10 - sta支持轮询,但并没有要求置于轮询表( polling list)、11 - 工作站虽然支持轮询,但要求不要对其轮询(结果是该工作站会被视为不支持免竞争工作)
AP:00 - ap不支持中枢协调功能(point coordination function)、01 - ap使用 PCF 来传递与轮询、10 - ap使用 PCF 来传递,但并不支持轮询、11 - 保留
bit_1 & bit_0:10 - IBSS、01 - ESS(AP一般都是ESS)
SSID:服务集标识
通俗来讲,就是我们平时所说的无线网络名称
Element ID:元素识别码
每个元素识别码对应信息元素,0就代表SSID
Length:SSID长度
因为我的AP包含4个汉字,一个汉字是3个byte,再加2个字符,一共14个byte。
SSID:SSID名称
汉字没有解析出来,Wi-Fi名称是 "你是小lu吗“,一个汉字正好对应一组”…“。
Rates:支持速率
AP所支持的速率,每个速率占一个byte,最高位为1代表必须支持该速率,比如上图的1.0Mbps、2.0Mbps、5.5Mbps、11.0Mbps;要接入该网络的STA必须要支持的速率,而最高位为0代表AP支持该速率,但STA可以不支持。
DSPS:直接序列参数集合
Channel:当前工作信道。
Extended Supported Rates:扩展支持速率
上边Rates字段的扩展。
Country:国家码
Country Code:国家码字符串
由2个byte组成,代表该AP支持国家的无线法律法规
Environment:环境
有些国家室内外管控不同,室内设置为’I’,室外设置为’O’,室内外相同设置为 ’ '(空)
Starting Channel:起始信道
符合功率限制的起始信道
Number of Channels:信道个数
从起始信道开始符合功率限制的信道个数
Maximum Transmit Power:最大传输功率
最大传输功率,单位 dBm
TIM:数据待传指示信息
DTIM Count: DTIM 计数
这个需要多抓几个连续的Beacon观察一下,就能发现规律,DTIM Count代表下一个 DTIM帧发送前,即将发送的 Beacon 帧数,这个值是根据DTIM Period来的,比如DTIM Period = 3,那么DTIM Count就会从2开始递减,直到DTIM Count = 0,这一帧就为DTIM帧,而DTIM Count = 2和DTIM Count = 1就为TIM帧, DTIM 帧用来表示所暂存的广播与组播帧即将被发送。
DTIM Period: DTIM 周期
代表两个 DTIM 帧之间的 Beacon interval 数, 0 值目前保留未用。
Bitmap Control:bit 对映控制
Bitmap Offset (bit 7 - 1):为了节省频宽,可以通过 Bitmap Offset,只发送一部分的虚拟 bit 对映。 Bitmap Offset 是相对于虚拟 bit 对映的开头处,利用 Bitmap Offset 次位及 Length 位,STA可以推断虚拟 bit 对映有哪些部分包括在内。
Traffic Indication(bit 0):用来表示连接识别码 0 的待传状态,主要是保留给组播使用
Partial Virtual Bitmap:部分虚拟 bit 对映
TIM 的内容是虚拟 bit 对映( virtual bitmap),这是由 2,008 个 bit 所组成的逻辑结构。每个 bit 分别对映到一个连接识别码( Association ID)。当某个识别码有数据暂存时,相应的 bit 就会设成 1,否则会设成 0。
WPA:Wi-Fi 访问保护
有这个字段说明AP支持WPA加密方式
OUI:WPA 特有的标记
00 - 使用群组密码锁集合(只对成对密码锁有效)
01 - WEP-40
02 - TKIP
03 - 保留( Reserved)
04 - CCMP
05 - WEP - 104
Any value - 厂商自定义(Defined by vendor)
RSN:固安网络
为了方便工作站之间彼此交换安全性信息
Version:版本
802.11i 定义了版本1,0保留。
Group Cipher Suite:群组密码锁集合
基站必须从中选择一种相容于所有已连接工作站的群组密码锁,以便保护广播与组播帧。同时间只允许选择一种群组密码锁。
Group Cipher OUI:802.11i 所使用的 OUI 为 00-0F-AC,属于 802.11 工作小组。
Group Cipher Type:
00 - 使用群组密码锁集合(只对成对密码锁有效)
01 - WEP-40
02 - TKIP
03 - 保留( Reserved)
04 - CCMP
05 - WEP - 104
Any value - 厂商自定义(Defined by vendor)
Pairwgse Cipher Suites:成对密码锁集合
单点传播帧的成对密码锁集合
Pairwgse Cipher Count:成对密码锁计数,当前为2个
Pairwgse Cipher OUI:802.11i 所使用的 OUI 为 00-0F-AC,属于 802.11 工作小组,02 代表 TKIP,04 代表 CCMP。
AuthKey Mngmnt suites:身份认证与密钥管理集合
和成对密码锁集合(Pairwgse Cipher Suites)一样,目前也存在好几种身份认证类型
AuthKey Mngmnt Count:身份认证与密钥计数,当前为1个
AKMP suite OUI:802.11i 所使用的 OUI 为 00-0F-AC,属于 802.11 工作小组。
01 - 802.1X 或 PMK 快取
02 - PSK(AP支持WPA2)
08 - SAE(AP支持WPA3)
Any - 厂商自定义
RSN Capabilities: RSN 性能
此位的长度为两个字节,由四个旗标构成,用来描述发送端的能力
bit_7:bit = 1为使能管理帧保护
bit_6:bit = 1为强制支持管理帧保护
ERP: 扩展物理层速率
802.11g 定义了扩展速率物理层( extended rate PHY,简称 ERP),为了兼容早期产品,另外定义了 ERP 信息元素
ERP Flags:ERP标志
bit_2:Barker 同步信号模式,如果连接到网络的工作站没有能力使用短同步信号模式,则此 bit 就会被设定为1。
bit_1:防护机制,当网络中出现无法以 802.11g 数据速率运作的STA,此防护 bit 就会被设定为1。
bit_0:Non-ERP present(无 ERP 信息)当比较老旧、非 802.11g 的STA与网络连接,就会设定此 bit 为1;如果监测到相邻网络无法使用 802.11g,也会设定此 bit 为1。
HT Cap:高吞吐性能
链接: 【Wi-Fi 802.11协议】管理帧 之 HT字段详解
HT Info:高吞吐信息
链接: 【Wi-Fi 802.11协议】管理帧 之 HT字段详解
WMM:Wi-Fi多媒体
WMM是一种无线QoS协议,用来保证高优先级的报文有优先的发送权利,从而保证语音、视频等应用在无线网络中有更好的质量
OUI:00-50-F2为微软的标识
OUI Type:00-50-F2-02为WMM
OUI SubType:子类型为1,代表使用的是WMM参数字段
Version:WMM版本号为1
Qos Info:Qos信息
bit_7:bit = 1为支持U-APSD(自动省电传输)
bit_6 - bit_4:保留
bit_3 - bit_0:用来记录 AC(Access Category)参数变化后的计数,如果AC参数有变化,则加1
Reserved:保留字段
Access Category - Best Effort:尽力而为流
ACI/AIFSN:
bit_7:保留
bit_6&bit_5:ACI - AC index
00 - Best Effort
01 - Background
10 - Video
11 - Voice
bit_4:ACM :bit = 1 为允许强制控制
bit_3 - bit0:AIFSN:仲裁帧间间隔,值越大则空闲等待时间越长,最小值为1
ECW Min/Max:CW窗口
决定了平均退避时间值,这两个数值越大,用户的平均退避时间越长
TXOP Limit:传输机会限制
用户一次竞争成功后,可占用信道的最大时长。这个数值越大,用户一次能占用信道的时长越长;如果是0,则每次占用信道后只能发送一个报文。
Access Category - Background:背景流
其它字段同上
Access Category - Video:视频流
其它字段同上
Access Category - Voice:语音流
其它字段同上
QBSS
在和终端适配的时,通知终端自己 AP 当前的负载能力,可以让(支持QBSS)的终端能够灵活选择最低负载的 AP。
Station Count:当前AP下挂的STA数量
Channel Utilization:当前信道利用率
Avail Admisson Capacity:当前可用准入容量
Vendor Specific:厂商自定义
OUI:00-D0-D0 为中兴的OUI
value:每个厂商的不一样,具体含义目前未知。
FCS:帧检验序列
FCS: 让 STA 得以检查所收到的帧的完整。当帧送至无线界面时,会先计算 FCS,然后再由 RF 或 IR 链路传送出去。接收端随后会为所收到的帧计算 FCS,然后与记录在帧中的 FCS 做比较。如果两者相符,该帧极有可能在传输过程中并未受损。
MF:你有一双摄人心魄的眼睛~(欢迎大家学习讨论)!