Wlan——STA上线流程与802.11MAC帧讲解
目录
802.11MAC帧基本概念
802.11帧结构
802.11MAC帧的分类
管理帧
控制帧
数据帧
STA接入无线网络流程
信号扫描—管理帧
链路认证—管理帧
用户关联—管理帧
用户上线
802.11MAC帧基本概念
802.11协议在802家族中的角色位置
其中802.3标准属于以太网的一种帧格式(以太网还有一种帧格式为以太网帧)
而802.11标准为无线网卡发出的数据帧格式
802.11和802.3的LLC层都是一致的,只是对应的MAC层不一致
802.11物理层协议与MAC层协议的介绍
Wlan——802.11协议物理层关键技术和CSMA/CD机制的介绍_静下心来敲木鱼的博客-CSDN博客
数据链路层中,802.3标准使用CSMA/CD来协调不同设备对有线介质的竞争访问;802.11标准使用CSMA/CA来比实现无线的冲突避免
802.11帧结构
Frame Control 帧控制字段
Protocol
帧使用的MAC版本,只有一个802.11;编号为0
Type、Sub Type
一起确定帧类型(标识数据帧是控制帧、数据帧、管理帧)
具体帧类型后续讲解
To DS 、Frome DS
表示帧是否来自或去往一个分布式系统(DS—可以理解为就是AP)
TO为1表示此帧发往AP;Frome为1表示从AP发来的帧
More Frag
判断是否有更多的分片(0 表示是最后一个)
Retry
重传帧,表示帧是否重传
Pwr Mamt
表示SRA发完当前帧之后要进入的模式(也可以理解为省电开关是否开启);
1表示终端即将进入省电状态,0表示终端进入活动状态
More Data
表示AP上是否有缓存报文需要传递给省电状态的终端
Protected Frame
判断当前帧是否加密的(1 表示加密)
Order
表示帧是否按照顺序传输
Duration ID
实现CSMA/CA的网络分配矢量机制
表示STA占用多长时间的链路,避免冲突
Address
表示MAC地址;有4个Address字段,根据To/From DS不同的Address字段代表不同的意思
有线的MAC地址只有源目MAC地址,而无线有多个MAC地址(主要是多了无线信号的MAC地址,也就是BSSID)
Seq Control
用于丢弃重复帧和重组分片
QoS Control
只存在于数据帧中,用来实现基于802.11e标准的Wlan QoS功能
Frame Body
帧主体,负责传输上层的有线在和,也成为数据字段
FEC
帧校验,用于检查接收帧的完整性
802.11MAC帧的分类
帧分类
802.11MAC帧主要分为管理帧、数据帧、控制帧
如果要抓取网卡发送的管理、控制帧,需要开启网卡的监听模式
管理帧
管理帧的主要作用
用于终端加入或退出无线网络,包含二层信息字段和信息元素
802.11MAC管理帧类型
控制帧
控制帧的主要作用
协助数据帧的交付,为其提供可靠性;只包含报文头部信息,没有帧主体
例如清除信道、请求信道、对单播帧的确认的操作都是通过控制帧完成的
802.11MAC控制帧类型
Wlan——802.11协议物理层关键技术和CSMA/CD机制的介绍_静下心来敲木鱼的博客-CSDN博客
ACK
ACK只对单播帧做回应,不回应组播帧和广播帧
数据帧
数据帧的作用
传输用户数据
如何调整终端的传输速率
可以在AC/胖AP上配置PowerLocal参数影响数据帧的传输速率
控制帧的传输速率为基本速率
数据帧的传输速率为协商速率(传输的实际速率一般为此数据的2/3)
STA接入无线网络流程
STA接入网络的流程主要有
1、STA关联无线信号(扫描、链路认证、关联)
2、对STA进行接入认证(WPA/WPA2-PSK、WPA/WPA2-802.1x、WEP认证)
3、通过加密算法对后续的数据报文进行加密(WEP、TKIP、CCMP算法)
4、STA通过DHCP获取地址,进行上网
5、STA进行认证下线
6、STA解除信号关联
其中STA关联无线信号通过管理帧来完成
用户的信号扫描请求是和AP进行交互的
用户的链路认证和关联对于瘦AP来说是STA和AC交互的,通过将STA的数据封装到CAPWAP隧道传输,不会重传(无论是本地转发还是隧道转发,都会通过CAPWAP隧道封装)
因此关联失败的情况需要考虑CAPWAP隧道的数据端口5247是否放通
后续的流程的关于STA和AP的报文都封装在802.11MAC数据帧中,并且使用802.11MAC控制帧来预约信道,避免数据发送冲突(具体交互流程如下)
Wlan安全——认证与加密方式(WPA/WPA2)_静下心来敲木鱼的博客-CSDN博客
Wlan安全——STA如何通过802.1x接入网络_静下心来敲木鱼的博客-CSDN博客
后续的接入认证根据认证方式不同,认证的报文交互也不一样
信号扫描—管理帧
用户无线信号的扫描—通过AP发送的Beach或者STA发送的Probe Request实现
信号扫描为广播帧
被动扫描(Beacon)
AP主动定期发送Beacon(默认100ms),终端通过被动接收Beacon帧来发现无线信号(包含AP的SSID、BSSID、速率等信息)
Beacon在AP所支持的信道上都会发送;并且传播范围为AP无线覆盖范围
终端收到后不需要回复,直接发送链路认证请求
主动扫描(Probe)
终端主动发起探测请求(Probe Request),AP收到后回复探测响应(Probe Response)
AP回应的报文携带信号的SSID、BSSID等信息
Probe在STA所支持的信道上都会发送请求
扫描帧的一些关键字段
Capability
表示是哪种无线类型(802.11n、802.11ac等)
无线用户发现信号都会有对应的信号强度
Data Rate
此无线信号的基本速率(存在于Beacon和Probe Response帧)
报文帧中的基本速率要保证终端和AP可以互相识别到
此速率越低所传输距离越远
Signal dBm
信号强度
如何调整AP的信号强度
可以在AC/胖AP上配置Coverage参数来影响AP发射信号的强度
Coverage影响的就是扫描帧(Beacon和Probe Response)的Signal dBm字段
STA就是通过接收到的beacon 和 prob response等管理帧中包含的Signal dBm字段来了解信号的强度
链路认证—管理帧
STA链路认证主要有开放系统认证、WEP共享密钥认证;此认证的作用是用来证明设备是无线设备
一般链路认证为开放系统认证,然后通过接入认证对设备进行认证(Web认证、PSK认证、802.1x等);接入认证成功后终端获取IP地址访问网络
用户关联—管理帧
终端发送关联请求(Association Request)和AP协商参数, 参数协商成功AP发送关联响应报文(Assocation Response)
用户上线
用户认证成功后会接入无线网络,然后在AP/AC会有相应的日志信息
通过常见的日志信息判断终端关联不上是否存在认证关联阶段的问题
如果用户上线失败,可以通过常见的日志信息和或者AC上的Wlan diag信息来查看用户上线失败原因
常见日志属性
Code 8或者 Code3的日志代表STA下线(解认证或解关联)
查看日志信息
锐捷设备
logging on 开启日志
show logging 查看常见日志信息
show wlan diag AC上查看wlan diag信息(记录用户的上下线信息)
相关文章:
Wlan——STA上线流程与802.11MAC帧讲解
目录 802.11MAC帧基本概念 802.11帧结构 802.11MAC帧的分类 管理帧 控制帧 数据帧 STA接入无线网络流程 信号扫描—管理帧 链路认证—管理帧 用户关联—管理帧 用户上线 802.11MAC帧基本概念 802.11协议在802家族中的角色位置 其中802.3标准属于以太网的一种帧格式…...
HTTP的并发连接限制和连接线程池
为什么有并发连接限制和连接线程池 大量的客户端连接到服务器,会导致服务器端需要大量的维护连接资源,同时需要处理客户端的请求,这是如何高效的执行任务成了一个关键的问题,所以,并发连接限制和连接线程池的出现就是…...
【从零学习python 】45.Python中的类方法和静态方法
文章目录 类方法、静态方法类方法静态方法使用场景 进阶案例 类方法、静态方法 类方法 类方法是以类对象作为第一个参数的方法。需要使用装饰器classmethod来标识其为类方法。对于类方法,第一个参数必须是类对象,一般以cls作为第一个参数。 class Dog…...
基于 VisualFoxPro 环境开发应用程序的过程
应用程序开发前开发者要与用户之间广泛沟通,作大量的调查研究和分析工 作,从而明确用户的要求、程序应具备的功能及可以完成的任务。为此要进行两方 面的分析,数据分析和功能分析。数据分析的目的是收集系统应包含的数据、数据 的真实性、…...
SpringBoot整合Quartz,实现数据库方式执行定时任务
springboot整合quartz,实现数据库方式执行定时任务。把定时任务信息存进数据库,项目启动后自动执行定时任务。 1.引入依赖包: <dependency> <groupId>org.springframework.boot</groupId> <ar…...
java中多个list怎么用List表示?
如果你有多个List对象,想要将它们合并成一个List对象,可以使用addAll()方法来实现。addAll()方法将会把一个List中的元素逐个添加到另一个List中。 以下是一个示例,展示了如何将多个List对象合并为一个List对象: import java.ut…...
postgresql 数据排序
postgresql 常见操作 排序总结 排序 -- 排序的时候null是最大的值(看一下) select employee_id,manager_id from employeesorder by manager_id desc;-- nulls first使null值排在第一位 select employee_id,manager_id from employeesorder by manager_id nulls first;-- null…...
虚拟机 net、桥接、主机三种网络模式寻根问底
虚拟机使用物理主机上的网络适配器直接连接到物理网络中。 这意味着虚拟机就像是通过网线直接连接到路由器一样,成为物理网络中的一个独立设备。 虚拟机可以获取一个永久的IP地址,通过DHCP或手动设置。 虚拟机和物理主机都可以访问对方以及公共网络中的其他设备,比如文件服务…...
python代码——批量将PPT转换成长图
语言:python 3 用法:点击运行后,弹出窗口,选择文件夹,程序运行会将文件夹内的所有PPT文件全部转换成PPT长图,图片名称与PPT文件名称相同,保存位置相同。 如运行中报错,需要自行根据…...
C++信息学奥赛2046:【例5.15】替换字母
这段代码的功能是对输入的字符串进行处理,将字符串中的字符 a 替换为字符 b 后输出结果。 #include<bits/stdc.h> using namespace std; int main() {string s; // 定义字符串变量s,用来存储输入的字符串char a, b; // 定义字符变量a和bÿ…...
每天一道leetcode:1306. 跳跃游戏 III(图论中等广度优先遍历)
今日份题目: 这里有一个非负整数数组 arr,你最开始位于该数组的起始下标 start 处。当你位于下标 i 处时,你可以跳到 i arr[i] 或者 i - arr[i]。 请你判断自己是否能够跳到对应元素值为 0 的 **任一** 下标处。 注意,不管是什…...
76参考链接
参考链接 官方文件综合介绍[let 和 const](https://es6.ruanyifeng.com/#docs/reference#let 和 const)解构赋值字符串正则数值数组函数对象Symbol[Set 和 Map](https://es6.ruanyifeng.com/#docs/reference#Set 和 Map)[Proxy 和 Reflect](https://es6.ruanyifeng.com/#docs/…...
浅析Linux SCSI子系统:调试方法
文章目录 SCSI日志调试功能scsi_logging_level调整SCSI日志等级 SCSI trace events使能SCSI trace events方式一:通过set_event接口方式二:通过enable 跟踪trace信息 相关参考 SCSI日志调试功能 SCSI子系统支持内核选项CONFIG_SCSI_LOGGING配置日志调试…...
【Unity3D】水面特效
1 前言 水波特效 中通过屏幕后处理实现了环形水波效果,本文通过 Shader Graph 实现了模拟水面特效,包含以下特效细节。 深水区和浅水区颜色差异;水面有波纹,并且在移动;水面起伏波动;水面边缘有水泡&#…...
CSS中的flex布局详细讲解
Flex 布局 Flex 布局是一种现代的 CSS 布局模型,用于实现灵活的盒子布局。它提供了强大的布局能力,使得元素可以自动调整大小、对齐和分布,适用于构建响应式和可伸缩的布局。 Flex 布局使用 flex 容器和 flex 项目的概念。容器是一个父元素…...
Python功能制作之简单的音乐播放器
需要导入的库: pip install PyQt5 源码: import os from PyQt5.QtCore import Qt, QUrl from PyQt5.QtGui import QIcon, QPixmap from PyQt5.QtMultimedia import QMediaPlayer, QMediaContent from PyQt5.QtWidgets import QApplication, QMainWind…...
GAN生成对抗模型根据minist数据集生成手写数字图片
文章目录 1.项目介绍2相关网站3具体的代码及结果导入工具包设置超参数定义优化器,以及损失函数训练时的迭代过程训练结果的展示 1.项目介绍 通过用minist数据集进行训练,得到一个GAN模型,可以生成与minist数据集类似的图片。 GAN是一种生成模…...
【K8S源码之Pod漂移】整体概况分析 controller-manager 中的 nodelifecycle controller(Pod的驱逐)
参考 k8s 污点驱逐详解-源码分析 - 掘金 k8s驱逐篇(5)-kube-controller-manager驱逐 - 良凯尔 - 博客园 k8s驱逐篇(6)-kube-controller-manager驱逐-NodeLifecycleController源码分析 - 良凯尔 - 博客园 k8s驱逐篇(7)-kube-controller-manager驱逐-taintManager源码分析 - 良…...
[保研/考研机试] KY212 二叉树遍历 华中科技大学复试上机题 C++实现
题目链接: 二叉树遍历_牛客题霸_牛客网二叉树的前序、中序、后序遍历的定义: 前序遍历:对任一子树,先访问根,然后遍历其左子树,最。题目来自【牛客题霸】https://www.nowcoder.com/share/jump/43719512169…...
CSS笔记
介绍 CSS导入方式 三种方法都将文字设置成了红色 CSS选择器 元素选择器 id选择器 图中div将颜色控制为红色,#name将颜色控制为蓝色,谁控制的范围最小,谁就生效,所以第二个div是蓝色的。id属性值要唯一,否则报错。 clas…...
链栈Link-Stack
0、节点结构体定义 typedef struct SNode{int data;struct SNode *next; } SNode, *LinkStack; 1、初始化 bool InitStack(LinkStack &S) //S为栈顶指针(存数据的头节点) {S NULL;return true; } 2、入栈 bool Push(LinkStack &S, int e) {…...
Ubuntu 20系统WIFI设置静态IP地址,以及断连问题
最近工作需要购置了一台GPU机器,然后搭建了深度学习的运行环境,在工作中将这台机器当做深度学习的服务器来使用,前期已经配置好多用户以及基础环境。但最近通过xshell连接总是不间断的出现断连现象。 补充一点,Ubuntu系统中与网…...
(一)idea连接GitHub的全部流程(注册GitHub、idea集成GitHub、增加合作伙伴、跨团队合作、分支操作)
(二)Git在公司中团队内合作和跨团队合作和分支操作的全部流程(一篇就够)https://blog.csdn.net/m0_65992672/article/details/132336481 4.1、简介 Git是一个免费的、开源的*分布式**版本控制**系统*,可以快速高效地…...
-bash: java: command not found笔记
文章目录 场景解决方案找java的方法find命令进行查找根据java进程找寻具体位置 场景 linux系统执行java命令时报错: -bash: java: command not found。 解决方案 可能是没有安装java(这种情况比较少)或者安装了java但是没有设置环境变量(一般是这种情况)。 找ja…...
C++ typename and .template
https://makecleanandmake.com/2015/07/20/leading-typename-dot-template-and-why-they-are-necessary/ typename Obj<T>::type var;v.template m<int>();...
uniapp,使用canvas制作一个签名版
先看效果图 我把这个做成了页面,没有做成组件,因为之前我是配合uview-plus的popup弹出层使用的,这种组件好像是没有生命周期的,第一次打开弹出层可以正常写字,但是关闭之后再打开就不会显示绘制的线条了,还…...
【大数据】Flink 详解(五):核心篇 Ⅳ
Flink 详解(五):核心篇 Ⅳ 45、Flink 广播机制了解吗? 从图中可以理解 广播 就是一个公共的共享变量,广播变量存于 TaskManager 的内存中,所以广播变量不应该太大,将一个数据集广播后࿰…...
设计模式-建造者模式
核心思想 抽取共同的行为,允许使用者指定复杂对象的类型和内容,不需要了解内部的构建细节使用多个简单的行为构建一个复杂的对象,将对象的构建过程和它的表示分离,同样的构建过程可以创建不同的表示 优缺点 优点 使用者不需要知…...
flutter 设置app图标
使用插件 flutter_launcher_icons 在 pubspec.yaml 配置文件中 加入 dev_dependencies dev_dependencies: flutter_launcher_icons: "^0.13.1" 准备好app得 icon 图标 其中icon的名字为icon.png 创建assets文件夹 和子文件夹icon iamge 配置静态资源路径 完整配置…...
守护网络安全:深入了解DDOS攻击防护手段
ddos攻击防护手段有哪些?在数字化快速发展的时代,网络安全问题日益凸显,其中分布式拒绝服务(DDOS)攻击尤为引人关注。这种攻击通过向目标网站或服务器发送大量合法或非法的请求,旨在使目标资源无法正常处理其他用户的请求,从而达…...
福安做网站/微信群拉人的营销方法
本公众号 的系列文章《跟热饭一起学习vue吧》,本文会采用非常土,非常low的语言,让读者学习并立即上手即可使用vue去写前端页面。简单生动,由浅入深。那么,就一起开始学习吧,体验一把又土又油腻的教程吧~ 别…...
佛山市桂城建设局网站/seo的概念是什么
MQTT X 是由全球领先的物联网数据基础设施软件供应商 EMQ 映云科技开源的一款跨平台 MQTT 5.0 桌面测试客户端,支持 macOS、Linux、Windows 系统。MQTT X 的用户界面借助聊天软件的形式简化了页面的操作逻辑,用户可以快速创建多个同时在线的 MQTT 客户端…...
网站后台管理系统php/seo推广排名重要吗
今天来介绍一下javascript不一样的写法,很简单哦。 1、当条件成立时执行a方法,当条件失败是执行b方法 通常我们会这样写: var result; if(isOk){resultfunA(); }else{resultfunB(); } 还可以这样表达: var resultisOk? funA():fu…...
java web调用wordpress/网络广告电话
因为下午要辅导几个调皮捣蛋的小孩HTML, 什么能让他们感觉又简单又好玩而起又能提高他们的兴趣呢?DW中设置浮动广告吧! 想好了,动手去做。DwearmWeaver里面居然没了时间轴, 度娘之后的结果是: Adobe公司…...
甘肃省级建设主管部门网站/百度网站流量查询
简介 splay tree其实就是不停的旋转,没进行一个操作都要进行旋转;例如,当访问某一个结点的时候,会通过旋转其结点使得该结点变为树根,这样保证其的平均复杂度为O(nlogn); 其的操作包括: 查找:如…...
有什的自学做网站/seo月薪
前两天在梅州办事处蛋疼地把ubuntu升级至12.04,结果是网络标识找不到了,而且无线也无法上网了,最简单的检测办法ifconfig没找到eth1(wl的逻辑名)的信息,证明是无线网卡没有驱动,查找系统设置--附加驱动&…...