首页 > 其他分享 >【Wi-Fi 802.11协议】管理帧 之 Beacon帧详解

【Wi-Fi 802.11协议】管理帧 之 Beacon帧详解

时间:2022-09-06 14:34:08浏览次数:76  
标签:802.11 STA DTIM Wi AP Beacon bit

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为完成当前基本帧交换之X入省电模式,对于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:持续时间

    该字段有多种功能,在这的功能是用来设置NАV(网络分配矢量),通俗的来讲就是占用信道多长时间(单位 us),STA要根据收到的所有帧的MAC头,实时更新NАV,同时会阻止其它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 functiоn)、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 = 2DTIM 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 - 使用X组密码锁集合(只对成对密码锁有效)
    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:X组密码锁集合
    基站必须从中选择一种相容于所有已连接工作站的X组密码锁,以便保护广播与组播帧。同时间只允许选择一种X组密码锁。
    Group Cipher OUI:802.11i 所使用的 OUI 为 00-0F-AC,属于 802.11 工作小组。
    Group Cipher Type
        00 - 使用X组密码锁集合(只对成对密码锁有效)
        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:防护机制,当网络X现无法以 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 做比较。如果两者相符,该帧极有可能在传输过程中并未受损。

原文

标签:802.11,STA,DTIM,Wi,AP,Beacon,bit
From: https://www.cnblogs.com/lixuejian/p/16661673.html

相关文章

  • c# 调用Windows API
    c#调用WindowsAPI前言看点代码安抚浮躁的心对应表API数据类型WindowsAPI时的数据类型BOOLSystem.Int32BOOLEANSystem.Int32BYTESystem.UInt16......
  • ar9485 win10 笔记本电脑 无线网间歇性掉线
    问题 新安装了系统,刚开始上网正常,下载东西或者待机一段时间后掉线了。wifi都能搜到,就是连不上,重启电脑可以解决,但是每次重启很麻烦,必须找到治本的方法。排除问题1、......
  • window小常识
    打开运行框:win键+R键在运行框输入有以下功能:appwiz.cpl----->打开卸载/添加程序界面优化电脑:设置------》系统(应用,显示,通知,电源)-------》存储-------......
  • 代码笔记24 windows+opencv4.5.5安装中出现的IPPICV: Download: ippicv_2020_win_inte
    1环境介绍:windows10,visualstudio2019,CMake,OPENCV4.5.5出现问题IPPICV:Download:ippicv_2020_win_intel64_20191018_general.zipTry1failedCMakeWarninga......
  • Flink 双流联结——窗口联结(Window Join)
    对于两条流的合并,很多情况我们并不是简单地将所有数据放在一起,而是希望根据某个字段的值将它们联结起来,“配对”去做处理。例如用传感器监控火情时,我们需要将大量温度传感......
  • python3下载及安装教程(Windows)
    Python目前已支持所有主流操作系统,在Linux,Unix,Mac系统上自带Python环境,一般默认装的是Python2版本,Windows系统上没有Pyhton环境,需要我们手动安装一下,现在一般都是python3......
  • acwing3667. 切木棍
    acwing3667.切木棍题目链接:https://www.acwing.com/problem/content/description/3670/思路n如果是奇数,肯定无解n如果是偶数,就去看n/2可以怎么分为两份(1与n/2-1...........
  • zabbix监控Linux和Windows
    zabbix监控Linux和Windows目录zabbix监控Linux和Windowszabbix监控Linuxlinux部署agentd创建监控主机创建主机组并加入主机模板方式添加监控项手动添加监控项添加触发器添......
  • 10 个 Tailwind CSS 电子商务模板,免费和付费
    10个TailwindCSS电子商务模板,免费和付费自由的舒兹演示|在这里获取重要信息使用Vue3+Vuex构建使用Strapi作为后端无花果设计提供线框描述使用V......
  • Windows 11恢复旧版的右键菜单
    1.打开注册表开始->运行->输入regedit->回车 2.在左边框的树,展开到以下路径:HKEY_CURRENT_USER\SOFTWARE\CLASSES\CLSID 3.右键CLSID节点,新建->项->输入{......