IEEE802.11k协议介绍

IEEE802.11k协议简介

  • 协议全称:无线局域网的无线电资源测量(Radio Resource Measurement of Wireless LANs)
  • 批准日期:2008年5月
  • 协议状态:并入802.11-2012
  • 协议别名:辅助漫游
  • 协议说明:
    • 定义了接入点(AP)和终端(STA)如何协同工作,以确定STA在移动时漫游到最佳接入点(AP);
    • 在802.11k之前,STA通常只会连接到发射最强信号的AP;
    • 启用802.11k的STA设备将在寻找满有点时从其当前AP请求Neighbour Report; Neighbour Report为STA提供了大量额外的RF信息,STA将使用这些信息作出更好的漫游选择。

协议共定义了11种测量方法,再次仅介绍经常使用到的三种测量方法。

Beacon Request/Report

允许一个STA从另一个STA请求一个指定通道或频道上可以接收的AP列表。

此测量包括三种模式:主动模式(如主动扫描),被动模式(如被动扫描)或Beacon表模式。

  • 被动模式
    • 执行测量的STA设置一个持续计时器,并开始监测 Beacon Request所要求的信道列表;
    • 持续记录监测到的Beacon、Probe Response、RCPI等信息,直到计时器结束;
  • 主动模式
    • 执行测量的STA设置一个持续计时器,并开启在 Beacon Request所要求的的信道列表上主动发送Probe Request;
    • 随后,监测信道列表,持续记录监测到的Beacon、Probe Response、RCPI等信息,直到计时器结束;
  • Beacon表模式
    • 执行测量的STA,不需要新开启任何测量动作,只需要返回满足条件的缓存信息;
    • 对于执行测量的STA来说,这是最省电的一种方式;当然,其不足也是很明显的:信息可能不全以及不够实时;

主动模式和被动模式的差异在于:执行测量的STA是否会主动发送Probe Request,此操作会耗费STA的电量,STA可能会拒绝执行。

Beacon Request

我们以实际的需求为背景,来说明Beacon Request的关键字段及其工作原理:以被动模式,在特定信道列表 上,扫描SSID名称为[T-Boy-WiFi]的AP节点

如何指定模式?

Measurement Mode:0 PASSIVE(被动模式)、1 ACTIVE(主动模式) 、2 Becaon Table(Beacon表模式);

如何指定要扫描的信道?

Regulatory Class 和 ChannelNumber组合使用可达到此目标;

  • Regulatory Class[5]:代表信道列表149、153、157、161、165;其他5G信道可查表,找到对应的ClassID;
  • Requlatory Class[12]:代表信道列表1-11;
  • ChannelNumber:
    • 魔数0 表示使用Regulatory Class所对应的所有信道;
    • 魔数255 表示取 最近一次【AP Channel Report】中出现的信道列表 和 Regulatory Class所对应的所有信道交集;
    • 其他合法信道号 表示使用指定的信道号;

如何指定SSID?

Optional Subelements:SubelementID[0] + Length[0-32]+SSID;也即:[0]+[10]+[T-Boy-WiFi];

Beacon Request Format: Measurement Requet field format for Beacon Request

Measurement Mode definitions for Beacon Request element

Beacon Report 

Beacon Report关键字段如下:BSSID/RCPI/RSNI;
BSSID/RCPI/RSNI: 相应AP的BSSID/功率/信噪比;
RCPI: indicates the received channel power indication【功率】;
RSNI: indicates the received signal to noise indication【信噪比】;

Beacon Report Format: Measurement Report field format for Beacon Report

Neighbor Report

 STA向AP发起请求,由AP提供邻居列表,供STA作为候选漫游对象使用;虽然STA本身可以通过扫描获取邻居列表,但此举耗费电量;直接通过AP获取,可以满足低功耗/高效通信等目的;

我们依然以实际的需求为背景,来说明Neighbour Report的关键字段及其工作原理:扫描发现SSID名称为【T-Boy-WiFi】的邻居AP节点

Neighbor Report Request

  • 指定Category:5 表示Radio measurement;
  • 指定Action:4 表示Neighbour Report Request;
  • 指定Dialog Token:由发起测量的STA指定一个非0值,用于标识此次测量;有点类似会话ID的意思;
  • 指定Optional Subelements:此处指定SSID,格式:SubelementID[0] + Length[0-32]+SSID; 内容:[0]+[10]+[T-Boy-WiFi];

Neighbour Report Request frame body format

Optional Subelement IDs for Neighbor Report Request frame

Neighbor Report Response

  • 指定Category:5 表示Radio measurement;
  • 指定Action:5 表示Neighbour Report Response;
  • 指定Dialog Token:由发起测量的STA指定一个非0值,用于标识此次测量;有点类似会话ID的意思;
  • Neighbour Report Elements:此处可能返回多个Neighbour Report Element;
  • BSSID及BSSID Information:邻居AP的BSSID及对应的;

Neighbour Report Response frame body format

Channel Load 

STA监测到的信道利用率;各字段含义 在前面都有所涉及,在此不赘述了。

802.11k和邻居上报的重要性

无线局域网(WLAN)无线电测量可以使任何设备、AP或客户端,能够更好地了解其运行的环境。可以生成各种请求,其中接收请求的设备可以通过报告进行响应。

举个例子,AP可能会问station:“你听到我的声音怎么样?”使用链路测量请求。客户会回复一份链接测量报告(相反,客户可以问AP“你听到我的声音怎么样?”").

由于提供了测量和收集信息的能力,提交请求的设备可以就其适应/补偿WLAN环境动态的“下一步”做出更明智的决定。

从测量和/或报告中获得的信息可提供给测量和/或请求装置的上层,其中它可用于一系列应用。这类应用程序可能会试图为最终用户保存QoE(体验质量)。

例如,为了保存VoIP和视频流等应用的QoE,客户端设备可以使用WLAN无线电测量,在客户端设备从一个AP分离并与新AP重新关联之前从AP收集信息。这可以大大加快在同一WLAN中从一个AP到另一个AP的重新连接。

802.11k定义了以下测量值:

  1. Beacon
  2. Frame
  3. Channel Load
  4. Noise Histogram
  5. STA Statistics
  6. Location Configuration Information
  7. Neighbor Report
  8. Link Measurement
  9. Transmit Stream/Category Measurement

“邻居报告”请求从客户端发送到AP。AP返回一个“邻居报告”报告,其中包含关于已知的候选邻居AP的信息,供客户端重新关联(如果客户端选择这样做)。因此,邻居报告请求/报告对使客户端能够收集关于其当前关联的AP的邻近AP的信息,并且该信息可用作漫游时新附件点的潜在候选点的标识。

邻居/请求报告的好处如下:

  1. 加快扫描速度——客户端可以省去耗时的扫描活动(主动地探测信标,或者被动地监听信标的每个信道)。这在客户端可以听到多个wlan的高密度环境中尤其有用 ;
  2. 降低客户端功耗——扫描(特别是主动扫描)所花费的时间也会为客户端消耗电池电量。由于邻居报告在漫游前提供了信息,因此可能消耗的电量更少;

  3. 更有效地利用WLAN的“空中时间”——从客户端资源(cpu、内存、无线电等)的角度来看,主动扫描不仅很耗时,这也消耗了“广播时间”。例如,不知道邻居的客户端可能会参与所谓的通配符探测请求(一些客户端将把这些请求崩溃)。在这种情况下,通常每个听到探测请求的AP都将生成一个探测响应。换句话说,对于单个客户机,有N个ap将产生N个探针响应。如果多个客户端进行通配符探测,那么RF环境可能会很快被管理流量“污染”,仅仅因为客户端没有使用邻居请求。这对整个WLAN都产生了负面影响.

Cisco WLAN infrastructure has supported the 11k Neighbor Request/Report since release 7.4.

cisco对于802.11k的支持

Enable 802.11k for optimal roaming The 802.11k standard allows clients to request neighbor reports containing information about known neighbor APs that are candidates for roaming. The use of the 802.11k neighbor list can limit the need for active and passive scanning. A common problem that 802.11k helps solve is “sticky” clients, which usually associate with a specific AP and then hold on to that AP strongly, even when significantly better options are available from nearer APs. The 802.11k feature can be configured directly on the WLAN under the Advanced settings:

802.11k标准允许客户端请求包含关于作为漫游候选的已知邻居ap的信息的邻居报告。使用802.11k邻居列表可以限制对主动扫描和被动扫描的需要。802.11k帮助解决的一个常见问题是“粘性”客户端,它通常与特定的AP关联,然后强烈地保持该AP,即使从更近的AP有明显更好的选项。802.11k特性可以在高级设置下直接在WLAN上进行配置:

It is recommended that you enable 802.11k with dual-band reporting. With dual-band reporting enabled, the client receives a list of the best 2.4- and 5-GHz APs upon a directed request from the client. The client most likely looks at the top of the list for an AP on the same channel and then on the same band as one on which the client is currently operating. This logic reduces scan times and saves battery power.

建议您使用双频报告启用802.11k。启用双频报告后,客户端根据来自客户端的定向请求,会收到最好的2.4和5ghz ap的列表。客户端很可能在列表的顶部查看同一channel上的AP,然后在客户端当前运行的band上。这种逻辑减少扫描时间,节省电池电量。

Note: Do not enable the dual-list option if using single-band clients or for deployment scenarios that use devices primarily configured for 5 GHz.

注意:如果使用单频段客户端或对于使用主要配置为5个GHz的设备的部署场景,请不要启用双频扫描选项。

802.11k may cause problems on some legacy devices that react incorrectly to unknown information elements. Most devices will ignore 802.11k information, even if they do not support it, but for some it may lead to disconnections or failure to associate. These are corner cases, but it is advisable to test before enabling this option.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/484907.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人内部传感器阅读笔记及心得-位置传感器-旋转变压器、激光干涉式编码器

旋转变压器 旋转变压器是一种输出电压随转角变化的检测装置,是用来检测角位移的,其基本结构与交流绕线式异步电动机相似,由定子和转子组成。 旋转变压器的原理如图1所示,定子相当于变压器的一次侧,有两组在空间位置上…

【测试】----JMeter性能测试工具入门篇

定义(主要测试的是接口) JMeter是Apache组织使用Java开发的一款测试工具,可以对服务器,网络或者对象模拟巨大的负载情况;通过创建带有断言的脚本来验证程序是否能返回期望的结果 优缺点 优点 开源免费跨平台&#xff0…

普中51单片机(DS18B20温度传感器)

DS18B20温度传感器原理 内部结构 64位(激)光刻只读存储器 光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身…

K8S部署Java项目 pod的logs报错为:Error: Unable to access jarfile app.jar

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

Vue报错,xxx is defined #变量未定义

vue.js:5129 [Vue warn]: Error in v-on handler: "ReferenceError: count is not defined" 浏览器将这个变量 当做全局变量了,事实上它只是实例中的变量 加上this指定,是vue实例中的变量

Sora的第一波受害者出现了。

不知道大家最近除了被Sora刷屏之外,有没有被这张图刷屏 我只能说网友太强大了 说实话,我进入舟老师的直播间,每次都是还有3分钟下播,还有6单就拍完 但是10分钟后还在激情逼单,6单之后还有6单 也许在营销学上&#x…

代码随想录算法训练营第二天

● 今日学习的文章链接和视频链接 ● 自己看到题目的第一想法 977.有序数组的平方 方法一&#xff1a; 思路&#xff1a; 先将数据所有数据平方将数组排序 代码&#xff1a; class Solution { public:vector<int> sortedSquares(vector<int>& nums) {vect…

Z 字形变换

题目链接 Z 字形变换 题目描述 注意点 s 由英文字母&#xff08;小写和大写&#xff09;、‘,’ 和 ‘.’ 组成1 < numRows < 1000 解答思路 一种方法是模拟整个Z字形变换思路&#xff0c;使用一个二维数组存储变换后的矩阵&#xff0c;首先需要确定这个矩阵的行数r…

猫头虎分享已解决Bug || SyntaxError: Unexpected token < in JSON at position 0

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

说一下JVM创建对象的流程?

一、类加载检查。 在实例化一个对象的时候&#xff0c;JVM 首先会去检查目标对象是否已经被加载并初始化了。如果没有&#xff0c;JVM 需要立刻去加载目标类&#xff0c;然后调用目标类的构造器完成初始化。然后初始化的过程&#xff0c;主要是对目标类里面的静态变量、成员变…

新手入门C语言之移位操作符和位操作符

在C语言中&#xff0c;移位操作符和位操作符是专门针对二进制的数字进行&#xff0c;因此&#xff0c;在描述移位操作符和位操作符之前&#xff0c;我们先来了解十进制&#xff0c;二进制&#xff0c;八进制&#xff0c;十六进制等的含义以及相互之间的转化。 一.进制以及相互…

为什么需要MDL锁

点击上方蓝字关注我 在数据库管理中&#xff0c;元数据&#xff08;metadata&#xff09;的保护至关重要&#xff0c;而MySQL中的"元数据锁"&#xff08;MDL锁&#xff09;就是它的守护者。 1. 什么是MDL锁MDL锁&#xff0c;全名Metadata Lock&#xff0c;是MySQL中…