802.11无线权威指南读书笔记(4)802.11成帧细节

2023-12-04 05:59

本文主要是介绍802.11无线权威指南读书笔记(4)802.11成帧细节,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

数据帧(data frame)

负责用户数据的传递,位于帧主体(frame body)中。

数据帧基本结构

在这里插入图片描述
下面是数据帧的各种分类方式,我们主要看基于竞争的服务,就只有2种,如下图。
在这里插入图片描述

Frame Control(控制帧)

各字段含义之前有写过,需要注意ToDS和FromDS,根据这2bit来判断数据方向。
Duration(持续时间)
用Duration来记载NAV的值。遵循以西4项规范
1.无竞争周期Duration必须为32768,适用于无竞争周期任何数据帧
2.目的地址为组播、广播的帧,Duration为0,因为不需要确认
3.对于Frame Control中More Fragment(更多片段)位为0的数据帧Duration只需设置为SIFS+ACK的长度,因为这是最后一段,没必要在继续锁定信道。
4.对于Frame Control中More Fragment(更多片段)位为1的数据帧Duration需设置为下一片段所需时间+3*SIFS+2*ACK的长度,因为这是不是最后一段,需要继续锁定信道。
在这里插入图片描述
在这里插入图片描述

ToDS与FromDS

下面是ToDS与FromDS这2bit决定Address字段代表意义
在这里插入图片描述

ToDS=0,FromDS=0

这种帧用于IBSS(独立基本服务集),那种没有接入点的网络
在这里插入图片描述

ToDS=1,FromDS=0,来自AP的帧

在这里插入图片描述
在这里插入图片描述

ToDS=0,FromDS=1,传送至AP的帧

在这里插入图片描述
在这里插入图片描述

ToDS=1,FromDS=1,从AP到AP

在这里插入图片描述
在这里插入图片描述

数据帧类型
Data

在基于竞争的周期访问这种帧用于传递用户数据

Null

这种帧由MAC头和FCS组成,工作站用Null帧通知接入点进入省电状态,同时Frame Control的Power Management位置1
在这里插入图片描述

控制帧

控制帧用于协助数据帧传递,管理无线媒介访问以及提供MAC层可靠性。

控制帧的Frame Control

所有控制帧使用相同的Frame Control,如下
在这里插入图片描述

RTS(请求发送)

RTS用于获得媒介控制权。
在这里插入图片描述
在这里插入图片描述

CTS(清除发送)

CTS用于回复RTS,在802.11g中,用来避免干扰较旧的工作站。
在这里插入图片描述
在这里插入图片描述

ACK(确认)

用于帧的确认,对于最终ACK帧的持续时间直接设置为0
在这里插入图片描述
在这里插入图片描述

PS-Poll(省电-轮询)

工作站从省电模式苏醒后,需要向AP发生PS-Poll帧来取AP缓存帧,其中AID作用为AP标识不同的工作站
在这里插入图片描述

管理帧

管理帧用于无线网络的建立,比如认证、关联等。

管理帧结构

所有管理帧MAC头一样,管理帧用帧主体中的固定字段(fixed field,长度固定的字段)信息元素(information element,长度不固定的数据块)与其他系统交换信息。
在这里插入图片描述

长度固定的管理帧组件

这种组件长度与次序固定,所以不需要字段标头界定

Authentication Algorithm Number 字段

Authentication Algorithm Number(身份认证算法编号)位占用两个字节,表示关联之前,802.11层认证使用的认证类型,目前2种
在这里插入图片描述

Authentication Transaction Sequence Number字段

认证过程有好几个步骤,此字段用来标号认证步骤,1~65535之间。

Beacon interval字段

占2个字节,标识Beacon的发生时间间隔,单位是1024us。

Capability information字段

占2个字节,Capability information(性能信息)字段,用来告知设备具备何种性能,工作站通过这些位判断自己能否支持该BSS所有的功能,未实现性能通告的工作站无法加入该BSS
在这里插入图片描述

  • ESS/IBSS(扩展服务集/独立基本服务集)
    此2位互斥,标识此网络是ESS还是IBSS
  • Privacy(保密性)
    设为1,标识需要使用WEP/WPA加密,否则不需要
  • short Preamble(短前导码)
    802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持短前导码,否则不支持。
  • PBCC(封包二进制回旋码)
    802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持封包二进制回旋码调制机制,否则不支持。
  • Channel Agility(机动信道转换)
    802.11b增加此字段为了支持高速直接序列扩频物理层(high-rate DSSS),为1,支持机动信道转换选项,否则不支持。
  • Short Slot Time(802.11g)
    为1,代表使用802.11g所支持的较短时隙
  • DSSS-OFDM(802.11g)
    为1,代表使用802.11g的DSSS-OFDM帧构造选项
Current AP Address字段

6个字节,STA用词字段表明当前要关联的AP的MAC地址。

Listen interval字段

2字节,以Beacon interval为单位计算STA会多长时间想AP取缓存帧

Association ID字段

2字节,1~2007可用

Timestamp字段

8字节,时间戳

Reason Code 字段

2字节,当对方不适合加入网络,STA会发出Disassociation(取消关联)或Deauthentication(解除身份验证)帧作为响应,包含原因代码。

Status Code 字段

2字节,标识某项操作成功或者失败

管理帧的信息元素

管理帧的信息元素是边长组件,由1个Element ID(元素标识符)、一个Length(长度)以及不定长字段组成。如下所示
在这里插入图片描述
这里太多,不在列举,参考书P105

管理帧的类型
Beacon帧

Beacon帧是用于声明某个网络的存在,要加入该网络的必须参数,在基础结构型网络中,AP负责传送Beacon帧,下面是Beacon帧的结构,不一定所有字段都会使用到。
在这里插入图片描述

Probe Request帧

STA会用Probe Request(探测请求)帧主动扫描附件有哪些802.11网络,格式如下,SSID和Supported Rates字段必须,如果是兼容任何网络的SSID则使用broadcast SSID(广播形式的服务及标识符)。
在这里插入图片描述

Probe Response帧

如果Probe Request帧所探测的网络与之兼容,则该网络会以Probe Response帧响应。如下
在这里插入图片描述

Disassociation帧与Deauthentication帧

Disassociation(取消关联)帧用来终结一段关联关系,而Deauthentication(接触身份验证)帧用来终结一段认证关系,均包含Reason Code(原因代码)。
在这里插入图片描述

Association Request(关联请求)帧

Capability Information(性能信息)位用来指出移动工作站所欲加入的网络类型。在接受连接要求之前,基站会验证 Capability Information、 SSID 以及(Extended)Supported Rated等位是否符合网络参数。此外,基站也会记录工作站所使用的 Listen Interval(聆听间隔;即移动工作站每隔多久聆听一次 Beacon 帧,以监视 TIM 信息)。
在这里插入图片描述

Reassociation Request(重关联请求)帧

当在不同基本服务区域之间游走的STA若要再次加入分布式系统或者STA暂时离开接入点所覆盖范围,之后重新加入时也必须重新关联。
association Request与 Reassociation Request之间的差别在于,后者包含移动工作站目前所连接之基站的地址(Current AP Address)。拥有这项信息可让新旧基站彼此联系,以及交接连接数据。交接项目包括先前连接之基站所暂存的帧。
在这里插入图片描述

Association Response 与 Reassociation Response帧

分别用于回应Association Request 与 Reassociation Request帧,区别只是Frame Control字段的subtype字段而已,响应过程中会给STA分配一个AID(关联标识符)
在这里插入图片描述

Authentication帧

802.11早期使用共享密钥和Authentication帧进行身份验证,到了802.11i有新的身份验证算法,且与共享密钥身份验证不兼容,所以Authentication Algorithm Number(身份认证演算法编号)位用于选择演算法。Authentication Transaction Seq.No用于记录认证郭晨中每个帧序号,应为整个过程可能包含好几个步骤,这与算法有关,Status Code与Challenge Text因验证算法而异。
在这里插入图片描述

帧传送、身份验证与关联状态

工作站STA有如下3种状态
1.初始状态,未经认证且未关联
2.已经认证且尚未关联
3.已经认证且已经关联
如下图
在这里插入图片描述
上图把帧划分成了3种等级,在状态 1 可以传递第 1 级帧;在状态 2 可以传递第 1 与 2 级帧;在状态 3 则可以传递第 1、 2 与第3级帧。

第1级帧

第 1 级帧可以在任何状态中传递,它让 802.11 的工作站得以进行基本作业。 在 IBSS 当中,控制帧主要用来依循 CSMA/CA 规则,以及传送帧。工作站也会使用第 1 级帧来寻找基础结构型网络,并与之进行身份认证。表 4-11 列出了属于第 1 级的各种帧。
在这里插入图片描述
在这里插入图片描述

第2级帧

工作站只有在经过身份认证之后才能够发送第 2 级帧,而且第 2 级帧只能使用于状态 2与状态 3。第 2 级帧主要用来管理关联。关联或重新连接成功后,工作站就会进入状态 3;如果连接失败,则工作站依然处于状态 2。工作站收到未经认证的作站所传来的第 2 级帧时,就会应答一个 Deauthentication(解除身份认证)帧,将对方推回状态 1。表 4-12 列出了所有的第 2 级帧。
在这里插入图片描述

第3级帧

第 3 级帧的使用时机是在工作站认证成功并与AP关联之后。一旦工作站进入状态 3,就标识连接上AP。在状态 3,工作站还可以利用PS-Poll 帧享受AP所提供的省电服务。表4-13列出了不同类型的第 3 级帧。
如果收到的帧来自一个已经验证但尚未关联的工作站,AP就会响应Disassociation(解除关联)帧,迫使工作站回到状态 2。如果发出帧的工作站尚未经过认证,则AP会响应Deauthentication(解除认证)帧,迫使工作站回到状态 1。
在这里插入图片描述

这篇关于802.11无线权威指南读书笔记(4)802.11成帧细节的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452383

相关文章

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

Java 创建图形用户界面(GUI)入门指南(Swing库 JFrame 类)概述

概述 基本概念 Java Swing 的架构 Java Swing 是一个为 Java 设计的 GUI 工具包,是 JAVA 基础类的一部分,基于 Java AWT 构建,提供了一系列轻量级、可定制的图形用户界面(GUI)组件。 与 AWT 相比,Swing 提供了许多比 AWT 更好的屏幕显示元素,更加灵活和可定制,具有更好的跨平台性能。 组件和容器 Java Swing 提供了许多

无线领夹麦克风什么牌子好用?揭秘领夹麦克风哪个牌子音质好!

随着短视频行业的星期,围绕着直播和视频拍摄的电子数码类产品也迎来了热销不减的高增长,其中除了数码相机外,最为重要的麦克风也得到了日益增长的高需求,尤其是无线领夹麦克风,近几年可谓是异常火爆。别看小小的一对无线麦克风,它对于视频拍摄的音质起到了极为关键的作用。 不过目前市面上的麦克风品牌种类多到让人眼花缭乱,盲目挑选的话容易踩雷,那么无线领夹麦克风什么牌子好用?今天就给大家推荐几款音质好的

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

如何选择SDR无线图传方案

在开源软件定义无线电(SDR)领域,有几个项目提供了无线图传的解决方案。以下是一些开源SDR无线图传方案: 1. **OpenHD**:这是一个远程高清数字图像传输的开源解决方案,它使用SDR技术来实现高清视频的无线传输。OpenHD项目提供了一个完整的工具链,包括发射器和接收器的硬件设计以及相应的软件。 2. **USRP(Universal Software Radio Periphera

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

49个权威的网上学习资源网站

艺术与音乐 Dave Conservatoire — 一个完全免费的音乐学习网站,口号是“让每一个人都可以接受世界级的音乐教育”,有视频,有练习。 Drawspace — 如果你想学习绘画,或者提高自己的绘画技能,就来Drawspace吧。 Justin Guitar — 超过800节免费的吉他课程,有自己的app,还有电子书、DVD等实用内容。 数学,数据科学与工程 Codecad

vscode中使用go环境配置细节

1、在docker容器中下载了go的sdk 2、在/etc/profile.d/go.sh里填入如下内容: #!/bin/bashexport GOROOT=/home/ud_dev/goexport PATH=$GOROOT/bin:$PATH  3、设置go env go env -w GOPROXY=https://goproxy.cn,directgo env -w GO

《C++标准库》读书笔记/第一天(C++新特性(1))

C++11新特性(1) 以auto完成类型自动推导 auto i=42; //以auto声明的变量,其类型会根据其初值被自动推倒出来,因此一定需要一个初始化操作; static auto a=0.19;//可以用额外限定符修饰 vector<string> v;  auto pos=v.begin();//如果类型很长或类型表达式复杂 auto很有用; auto l=[] (int

使用条件变量实现线程同步:C++实战指南

使用条件变量实现线程同步:C++实战指南 在多线程编程中,线程同步是确保程序正确性和稳定性的关键。条件变量(condition variable)是一种强大的同步原语,用于在线程之间进行协调,避免数据竞争和死锁。本文将详细介绍如何在C++中使用条件变量实现线程同步,并提供完整的代码示例和详细的解释。 什么是条件变量? 条件变量是一种同步机制,允许线程在某个条件满足之前进入等待状态,并在条件满