Wlan——STA上线流程与802.11MAC帧讲解以及报文转发路径

目录

802.11MAC帧基本概念

802.11帧结构

802.11MAC帧的分类

管理帧

控制帧

数据帧

STA接入无线网络流程

信号扫描—管理帧

链路认证—管理帧

用户关联—管理帧

用户上线

不同802.11帧的转发路径


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信息(记录用户的上下线信息)


不同802.11帧的转发路径

针对于瘦AP来说

 

 

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

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

相关文章

Linux内核学习(八)—— 内存管理(基于Linux 2.6内核)

目录 一、页(page) 二、区(zone) 三、页操作 四、kmalloc() 五、vmalloc() 六、slab 分配器 七、在栈上的静态分配 一、页(page) 内核把物理页作为内存管理的基本单位。尽管处理器的最小可寻 …

网工内推 | 锐捷招云工程师,HCIE、CCIE、RHCE优先,25k*13薪

01 锐捷网络 招聘岗位:云方案工程师 职责描述: 1、负责云数据中心方案项目方案设计撰写、项目实施交付、故障处理、业务割接、客户培训、现场保障、网络优化、网络巡检等技术相关业务 2、负责云数据中心方案新技术文档沉淀、体系建设、工具开发等标准化…

使用element-plus组件,默认显示英文 转换为中文

最近在边写项目边学习vue3 所以这几天没有更新 找机会把vue3的知识也统计一下吧 先说今天遇到的问题 最近做项目的时候使用element-plus分页组件时发现&#xff0c;显示的不是中文的了&#xff0c;是英文的 解决方法 在app.vue里面配置 <template><el-config-provi…

Pyqt5打开电脑摄像头进行拍照

目录 1、设计UI界面 2、设计逻辑代码&#xff0c;建立连接显示窗口 3、结果 1、设计UI界面 将ui界面转为py文件后获得的逻辑代码为&#xff1a;&#xff08;文件名为 Camera.py&#xff09; # -*- coding: utf-8 -*-# Form implementation generated from reading ui file …

【算法专题突破】双指针 - 移动零(1)

目录 写在前面 1. 题目解析 2. 算法原理 3. 代码编写 写在最后&#xff1a; 写在前面 在进行了剑指Offer和LeetCode hot100的毒打之后&#xff0c; 我决心系统地学习一些经典算法&#xff0c;增强我的综合算法能力。 1. 题目解析 题目链接&#xff1a;283. 移动零 - 力…

centos7.9和redhat6.9 离线升级OpenSSH和openssl (2023年的版本)

升级注意事项&#xff01; 1、多开几个连接窗口&#xff08;xshell&#xff09;&#xff0c;避免升级openssh失败无法再次连接终端&#xff0c;否则要跑机房了。 2、可开启telnet服务、vnc服务、打快照。多几个“保命”的路数。一、centos7.9的信息 [rootnode2 ~]# openssl v…

学会Mybatis框架:一文掌握MyBatis与GitHub插件分页的完美结合【三.分页】

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Mybatis的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Mybatis分页 1. Mybatis自带分页 2…

AIGC如何借AI Agent落地?TARS-RPA-Agent破解RPA与LLM融合难题

文/王吉伟 大语言模型&#xff08;LLM&#xff0c;Large Language Model&#xff09;的持续爆发&#xff0c;让AIGC一直处于这股AI风暴最中央&#xff0c;不停席卷各个领域。 在国内&#xff0c;仍在雨后春笋般上新的大语言模型&#xff0c;在持续累加“千模大战”大模型数量的…

Linux之基础IO文件系统讲解

基础IO文件系统讲解 回顾C语言读写文件读文件操作写文件操作输出信息到显示器的方法stdin & stdout & stderr总结 系统文件IOIO接口介绍文件描述符fd文件描述符的分配规则C标准库文件操作函数简易模拟实现重定向dup2 系统调用在minishell中添加重定向功能 FILE文件系统…

什么是Pytorch?

当谈及深度学习框架时&#xff0c;PyTorch 是当今备受欢迎的选择之一。作为一个开源的机器学习库&#xff0c;PyTorch 为研究人员和开发者们提供了一个强大的工具来构建、训练以及部署各种深度学习模型。你可能会问&#xff0c;PyTorch 是什么&#xff0c;它有什么特点&#xf…

为什么需要单元测试?

为什么需要单元测试&#xff1f; 从产品角度而言&#xff0c;常规的功能测试、系统测试都是站在产品局部或全局功能进行测试&#xff0c;能够很好地与用户的需要相结合&#xff0c;但是缺乏了对产品研发细节&#xff08;特别是代码细节的理解&#xff09;。 从测试人员角度而言…

Mysql简短又易懂

MySql 连接池:的两个参数 最大连接数&#xff1a;可以同时发起的最大连接数 单次最大数据报文&#xff1a;接受数据报文的最大长度 数据库如何存储数据 存储引擎&#xff1a; InnoDB:通过执行器对内存和磁盘的数据进行写入和读出 优化SQL语句innoDB会把需要写入或者更新的数…

Java如何调用接口API并返回数据(两种方法)

Java如何调用接口API并返回数据&#xff08;两种方法&#xff09; java处理请求接口后返回的json数据-直接处理json字符串 处理思路&#xff1a; 将返回的数据接收到一个String对象中&#xff08;有时候需要自己选择性的取舍接收&#xff09; 再将string转换为JSONObject对象 …

Go 语言在 Windows 上的安装及配置

1. Go语言的下载 Golang官网&#xff1a;All releases - The Go Programming Language Golang中文网&#xff1a;Go下载 - Go语言中文网 - Golang中文社区 两个网站打开的内容只有语言不同而已&#xff0c;网站上清晰的标注了不同操作系统需要对应安装哪个版本&#xff0c;其中…

港联证券|燃气板块午后走高,美能能源涨停,水发燃气大幅拉升

燃气板块21日午后快速拉升&#xff0c;到发稿&#xff0c;美能动力涨停&#xff0c;水发燃气涨超7%&#xff0c;蓝天燃气涨超5%&#xff0c;贵州燃气涨逾4%。 消息面上&#xff0c;受澳大利亚LNG工厂罢工忧虑影响&#xff0c;欧洲基准天然气价格一度大涨18%。 有报导称&#x…

npm报错:xxx packages are looking for funding run `npm fund` for details(解决办法)

报错信息&#xff1a;30 packages are looking for funding run npm fund for details 报错原因&#xff1a;这里是开发者捐赠支持的提示&#xff0c;打开一个github的链接之后&#xff0c;会显示是否需要打赏捐赠的信息。 解决方案&#xff1a;这个打赏是资源的&#xff0c;因…

YOLOV8 win10部署笔记

文章目录 1. 背景2. 部署过程2.1 快速安装 1. 背景 看了B站许多up主的视频&#xff0c;感觉YOLOV8各方面都很优秀&#xff0c;作为新手对它的期待很大&#xff0c;于是想实际跑跑看&#xff0c;边实践&#xff0c;边学习&#xff0c;记录过程。 本篇主要是博主在windows平台上…

控制Unity发布的PC包的窗体

大家好&#xff0c;我是阿赵。   用Unity发布PC包接入某些渠道时&#xff0c;有时候会收到一些特殊的需求&#xff0c;比如控制窗口最大化(比如某些情况强制显示窗体)、最小化(比如老板键)、强制规定窗体置顶等。虽然我一直认为这些需求都是流氓软件行为&#xff0c;但作为一…

[管理与领导-43]:IT基层管理者 - 个人管理 - 管理中从角色定位迈步

前言&#xff1a; 管理者的“四位” &#xff1a; ‣ 定位——在什么位置做什么事情&#xff1b; ‣ 到位——全力以赴把事情做好&#xff1b; ‣ 不越位——不要把别人的工作做了&#xff1b; ‣ 补位——同事临时“缺位” &#xff0c;及时补位&#xff0c;提升效率&…

Linux:shell脚本:基础使用(6)《正则表达式-awk工具》

简介 awk是行处理器: 相比较屏幕处理的优点&#xff0c;在处理庞大文件时不会出现内存溢出或是处理缓慢的问题&#xff0c;通常用来格式化文本信息 awk处理过程: 依次对每一行进行处理&#xff0c;然后输出 1&#xff09;awk命令会逐行读取文件的内容进行处理 2&#xff09;a…