序言

前一节我们讨论的802.11ah中的MAC头部压缩,本节我们讨论802.11ah中的Short Beacon。其实这几个设计都是围绕着压缩帧大小这个话题展开的,目的明确。理解这几个设计可以加深对于802.11相关字段的理解。

Short Beacon的意义

为什么要特意压缩Beacon大小呢?主要有两点原因:

  • 1)Beacon是周期性发送的帧,按照802.11协议设计,每间隔TBTT时间,AP就需要发送一个Beacon帧。
  • 2)Beacon是一个广播帧,该帧的发送默认都是按照最低支持速率发送,从而造成Beacon帧的发送会耗费较多的空口时间。

Beacon实际上是在802.11协议工作过程中,占据了不少空口资源。因此,将beacon大小压缩的话,能够节约不少的空口资源时间,提高网络运行效率。

Remark:这里有一点需要注意的是,在802.11ah中并不是所有的Beacon都是用Short Beacon模式发送的,有一部分时间也需要发送传统长度的Beacon。只不过Short Beacon占所有Beacon中的比例较高,而传统长度的Beacon所占比例较少。

802.11 Beacon简述

我们首先看下标准的802.11 Beacon的结构,如下图所示

标准的Beacon属于管理帧,该帧主要有三个部分:

  • MAC Header:在标准的802.11中,Beacon的MAC Header是通用的MAC Header。所以基本没有什么额外要讨论的内容。不过有一点需要注意的是,Beacon的MAC Header里面既有DA也有SA,而我们对比下802.11ah Beacon的MAC Header的话,只有SA而没有DA地址。标准的802.11中有DA的主要原因是协议还有一种工作模式叫做IBSS,也就是ad-hoc自组网的工作模式。这个模式虽然现在已经不怎么用了,但是早期协议设计中,这个场景是重点考虑的。在IBSS场景中,Beacon也会在多个IBSS节点间互相对发,用这个做同步。这种场景下就有DA了。

Beacon在MAC Header以外都是按照Element形式构造的,在Beacon中还包含了两种,一共是必有的,一种是可选的。

  • Manatory Element Fields:必有的Element包含了4个元素,时间戳,Beacon间隔(即TBTT时间),Capability Info还有SSID。其中时间戳是用于时间同步的,Beacon间隔是用来说明Beacon发送间隙的,其余两个是信息,用于发布给节点获知的。在权威指南里面,这4个元素都是必有的,但是在wireshark解析里面,只有时间戳和beacon间隔解析成必有,其他都是可选的。
  • Optional Element Fields:还有一些其他的Element就是可选的Element了,比如TIM,国家码,TPC功率控制,加密设置有关的RSN之类的,这里就不展开了。

那么标准的802.11 Beacon大小为 24B(MAC Header)+8B(Timestamp)+2B(Beacon Interval)+2B(Capability Info)+32B(SSID)+ 4B(FCS)= 72B,这里SSID的大小是动态的,协议中的范围是0~32B。

802.11ah Short Beacon

下面我们看下802.11ah的Beacon,即S1G Beacon。

从整体结构而言,802.11ah的Beacon和传统的Beacon基本是一样的,基本元素都在,只是内容压缩了一些。首先是DA删掉了,这点前面说过了。时间戳由8B降到了4B,Change Sequence是802.11ah独有的。

然后原有的固有字段Beacon Interval(即上图中的Next TBTT),SSID(即图中的Compressed SSID)都变成可选字段了,而且Compressed SSID的大小限制为了4B,降低了大小。这里由于修改了一些固有字段,结合上一篇文章中所述的Frame Control的功能含义,所以相比于标准的802.11,802.11ah Beacon中的Frame Control也是有特殊性的,如下图所示

其中关于Next TBTT字段是否显示,Compressed SSID是否显示,都在Frame Control中有所体现。其余的字段由于都与其具体应用有关,所以这里就不展开了。

所以在802.11ah中,一个S1G Beacon的最小大小为2B(Frame Control)+2B(Duration)+6B(SA)+4B(Timestamp)+1B(Change Sequence)+4(FCS)= 19B。对比下标准的802.11 Beacon的最小大小72B,802.11ah的Beacon大小还是减少很多的。

802.11h halow(Short Beacon, s1g beacon)相关推荐

  1. WiFi 管理帧(三)(动态频谱切换-DFS - 802.11h)

    802.11h是专门针对WLAN和雷达共存而设计的一个协议,由于2GHz频段没有雷达,所以这个协议只针对5GHz的WLAN.当设备监测到雷达污染了当前的信道的时候,当然是由AP来负责监测了,可以切换到 ...

  2. WiFi影响吞吐量可调参数一览表(Beacon/RTS Threshold/Fragmentation Threshold/Retry Limit)

    参数 参数的意义及单位 调低参数所造成的效果 调高参数所造成的效果 Beacon(信标) Beacon帧之间所经历的时间,以TU为单位 被动扫描较快完成,移动式工作站移动较快时仍能保持连接 无线容量与 ...

  3. Cobaltstrike系列教程(三)beacon详解

    0x000–前文 有技术交流或渗透测试培训需求的朋友欢迎联系QQ/VX-547006660 2000人网络安全交流群,欢迎大佬们来玩 群号820783253 0x001-Beacon详解 1.Beac ...

  4. Cobalt Strike|Beacon原理浅析

    Hello大家好哇,我是你们可爱的lmn小姐姐,今天我们来研究一下Beacon的一些基础知识,如果有师傅没有看过这个系列之前的文章,可以点击下方图片阅读. Cobalt Strike 作为一种后渗透工 ...

  5. RTL8812F/RTL8197F修改beacon间隔

    Beacon帧 Beacon的实际发送一般都是采用最低速率的,其包含两个原因 1.beacon帧是一个广播帧,其没有ACK反馈,所以无法设置重传机制,  2.beacon帧目的是广播AP的基本信息,所 ...

  6. Beacon学习总结

    最近接触一个项目是关于室内定位的,利用的是蓝牙定位技术,主要涉及到BLE编程,以及对Beacon这种蓝牙基站的认识. 我们项目使用的Beacon基站是由国内一家产品公司Voliam科技开发的vBeac ...

  7. Cobaltstrike学习(二)beacon命令

    Cobaltstrike学习(二)beacon命令 1.Beacon命令 在已经上线的服务器上右击==>打开Beacon,在里面可以执行各种命令 在cs中默认的心跳时间是60s,我们可以用sle ...

  8. 【Android IBeacon室内定位】Android Beacon Library之搜索最近的beacon

    1.了解IBeacon ibeacon是苹果公司于2013年提出的低功耗蓝牙(BLE)传输技术,可以实现室内定位,关于Ibeacon的介绍.使用原理和原始的开发方式网上已经有很多相关的资料了,可以查看 ...

  9. 为啥需要BLE+UWB Beacon?BLE+UWB经典应用:苹果AirTag等防丢标签提示我们,或许是UWB高精度定位落地的未来发展方向

    一.BLE基本特性: 低功耗:在所有有源无线通讯设备中,综合通讯距离和通讯带宽,BLE是表现最佳的无线技术: 低延迟:连接速度很快,毫秒级的连接速度: 远距离:长达数百米的通信距离: 低成本:工作在2 ...

最新文章

  1. Ubuntu安装scipy,numpy,pylab
  2. 如何在使用babel和webpack时生成源图?
  3. 71 说出常用的类、包、接口各5个
  4. php in_array 和 str_replace
  5. WinCE 开始菜单StartMenu_Create()函数代码分析
  6. ML之xgboost:利用xgboost算法对breast_cancer数据集实现二分类预测并进行graphviz二叉树节点图可视化
  7. 音视频技术开发周刊 | 195
  8. java js关键字_JavaScript关键字和保留字
  9. 演示一个简单的Redis队列
  10. CGIC库的移植及使用
  11. pytorch搭建TextCNN与使用案例
  12. EMS --Web Development Kit开发
  13. Java集合框架之Collection集合
  14. SANGFOR SCSA——网络基础
  15. mp4文件如何转换为webm格式
  16. 依码仕喷码机编程指南
  17. 速腾(RoboSense)16线激光雷达调试出点云图(Ubuntu1804和windows系统都已经显示点云),包含各种遇见的坑【避坑指南】{[driver][socket]Rslidar poll}
  18. SDU程序设计思维Week15-作业 字符串
  19. 文件或目录损坏且无法读取怎么办,文件或目录损坏且无法读取寻回方法
  20. Chromium浏览器不能播放MP4

热门文章

  1. 模拟操作系统动态内存管理(c实现)
  2. echarts图例(legend)
  3. 实现spring IOC的常见二种方法 setter注入与构造器注入
  4. MySQL The password hash doesn't have the expected format.
  5. shell 水平测试
  6. [转]F# Samples 101 - Visual Studio 2010
  7. 第四章 进程(3)进程的命令行环境变量
  8. C#的多线程(2)——机制探索
  9. php 取多级分类,php – 获取所有类别(多级)
  10. 【UGV】32版UGV原理图