【80211-2022】【学习记录】【第九章】帧类型格式【3】

2024-01-12 11:28

本文主要是介绍【80211-2022】【学习记录】【第九章】帧类型格式【3】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

        BlockAck帧的格式定义如图9-41所示。

        

        Duration字段值设置为9.2.5中定义的值。

        BlockAck帧的RA字段是请求BlockAck帧的接收STA的地址。

        TA字段值是发送BlockAck帧的STA的地址。

        “BA Control”字段的定义如图9-42所示。

        

        BA Control字段的Multi-TID、Compressed Bitmap和GCR Mode子字段的值决定了BlockAck帧的变体,如表9-28所示。

        

        GCR Mode子字段表示发送BlockAck帧是响应GCR BlockAckReq还是GLK-GCR BlockAckReq帧。

        BA控制字段的TID_INFO子字段的含义取决于BlockAck帧变体类型。此子字段的含义在每个BlockAck帧变体的子句中进行了解释。

        BA Information字段的含义取决于BlockAck帧变体类型。该字段的含义在每个BlockAck帧变体的在子章节中进行说明。

二、Compressed BlockAck variant

        压缩块帧的BA控制字段的TID_INFO子字段中包含了发送该块帧的TID。

        压缩块帧的BA信息字段由块Ack启动序列控制子字段和块Ack位图子字段组成,如图9-43所示。Block Ack Starting Sequence Control子字段如图9-37所示。BlockAck起始序列控制子字段的起始序号子字段包含发送该Ack帧的第一个MSDU或A-MSDU的序列号。该子字段定义在10.25.6.5中。块Ack启动序列控制子字段的Fragment Number子字段设置为0。

        

        压缩块帧的BA信息字段的BlockAck位图子字段用于表示接收到的64个表项的状态,每个表项表示一个MSDU或A-MSDU。在压缩的Ack位图字段中,每个等于1的比特按序列号的顺序确认接收到单个MSDU或a -MSDU, Ack位图字段的第一个比特对应于MSDU或a -MSDU,其序列号与Ack起始序列控制子字段的起始序号子字段相匹配。

三、Multi-TID BlockAck variant

        Multi-TID BlockAck帧的BA Control字段的TID_INFO子字段包含了 tid,减1,其信息在BA information字段中报告。

        Multi-TID BlockAck帧的BA Information字段包括Per TID Info、BlockAck Starting Sequence Control和BlockAck Bitmap子字段的一个或多个实例,如图9-44所示。Per TID Info子字段如图9-39所示,Block Ack Starting Sequence Control子字段如图9-37所示。

                块Ack开始序列控制子字段的起始序列号是发送此块Ack帧的第一个MSDU或A-MSDU的序列号。这个子字段是 在10.25.6.5中定义。Block Ack Starting Sequence Control子字段的Fragment Number子字段设置为0。传输的每个TID信息、块Ack起始序列控制和块Ack位图子字段的第一个实例对应于最低TID值,随后的实例按每个TID信息子字段的值递增排序。

        Multi-TID块Ack帧的BA Information字段的块返回位图子字段包含一个8字节的块返回位图。块Ack位图子字段中每个等于1的位表示接收到单个MSDU或a -MSDU,按照序列号的顺序,块Ack位图子字段的第一个位对应MSDU或a -MSDU,其序列号与块Ack起始序列控制子字段的起始序列号子字段相匹配。

 四、Extended Compressed BlockAck variant

        压缩块ack帧的BA控制字段的TID_INFO子字段包含请求块ack帧的TID。

        扩展压缩块ack帧的BA Information字段如图9-45所示。Block Ack Starting Sequence Control子字段如图9-37所示。块Ack开始序列控制子字段的起始序列号包含发送此块Ack帧的第一个MSDU或A-MSDU的序列号。这个子字段在10.25.6.5中定义。将“块Ack起始序列控制”子字段的“Fragment Number”子字段设置为0。

        

        扩展压缩块Ack帧的BA信息字段的块Ack位图子字段用于表示最多64个表项的接收状态,其中每个表项代表一个MSDU或一个A-MSDU。块返回位图子字段中设置为1的每个位按序列号顺序表示接收到单个MSDU或a -MSDU。块Ack位图子字段的第一个位对应于MSDU或A-MSDU,其序列号与块Ack起始序列控制子字段的起始序列号子字段相匹配。

       RBUFCAP字段包含一个无符号整数,表示在传输扩展压缩块帧(10.42.9)时可用于存储接收MPDU的MPDU缓冲区的数量。

 五、GCR Block Ack variant
       (GCR):  Groupcast with retries

        GCR BlockAck帧的BA Control字段的TID_INFO子字段包含发送此BlockAck帧的TID。

         GCR BlockAck帧的BA Information字段包括BlockAck Starting Sequence Control、GCR Group Address和BlockAck Bitmap三个子字段,如图9-46所示。Block Ack Starting Sequence Control子字段如图9-37所示。块Ack开始序列控制子字段的起始序列号包含发送此块Ack帧的第一个A-MSDU的序列号。这个子字段在10.25.8中定义。将“块Ack起始序列控制”子字段的“Fragment Number”子字段设置为0。

        

        GCR组地址子字段设置为发送BlockAck帧响应的BlockAckReq帧中GCR BAR信息字段的组地址子字段的值。

        块返回位图子字段用于表示最多64个表项的接收状态,其中每个表项代表一个MSDU或A-MSDU。块Ack位图子字段中每个等于1的位表示接收到单个MSDU或a -MSDU,按照序列号的顺序,块Ack位图子字段的第一个位对应MSDU或a -MSDU,其序列号与块Ack起始序列控制子字段的起始序列号子字段相匹配。

六、GLK-GCR BlockAck variant

        GLK-GCR BlockAck帧的BA Control字段中的TID_INFO子字段包含发送此BlockAck帧的TID。

         GLK-GCR块Ack帧中的BA Information字段包含块Ack起始序列。“Control”和“Block Ack Bitmap”子字段,如图9-47所示。块Ack起始序列控制子字段如图9-47所示。块Ack起始序列控制子字段中的起始序列号子字段包含了发送此块Ack帧的第一个A-MSDU的序列号。这个子字段在10.25.8中定义。Block Ack Starting Sequence Control子字段中的Fragment Number子字段为0。

        

        Block Ack Bitmap子字段用于表示最多64个msdu和a - msdu的接收状态。块Ack位图子字段中每个等于1的位表示接收到单个MSDU或a -MSDU,按照序列号的顺序,块Ack位图子字段的第一个位对应MSDU或a -MSDU,其序列号与块Ack起始序列控制子字段中的起始序列号子字段相匹配。

                

这篇关于【80211-2022】【学习记录】【第九章】帧类型格式【3】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)

《java中pdf模版填充表单踩坑实战记录(itextPdf、openPdf、pdfbox)》:本文主要介绍java中pdf模版填充表单踩坑的相关资料,OpenPDF、iText、PDFBox是三... 目录准备Pdf模版方法1:itextpdf7填充表单(1)加入依赖(2)代码(3)遇到的问题方法2:pd

Java获取当前时间String类型和Date类型方式

《Java获取当前时间String类型和Date类型方式》:本文主要介绍Java获取当前时间String类型和Date类型方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录Java获取当前时间String和Date类型String类型和Date类型输出结果总结Java获取

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

SpringBoot改造MCP服务器的详细说明(StreamableHTTP 类型)

《SpringBoot改造MCP服务器的详细说明(StreamableHTTP类型)》本文介绍了SpringBoot如何实现MCPStreamableHTTP服务器,并且使用CherryStudio... 目录SpringBoot改造MCP服务器(StreamableHTTP)1 项目说明2 使用说明2.1

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

Visual Studio 2022 编译C++20代码的图文步骤

《VisualStudio2022编译C++20代码的图文步骤》在VisualStudio中启用C++20import功能,需设置语言标准为ISOC++20,开启扫描源查找模块依赖及实验性标... 默认创建Visual Studio桌面控制台项目代码包含C++20的import方法。右键项目的属性:

在Spring Boot中集成RabbitMQ的实战记录

《在SpringBoot中集成RabbitMQ的实战记录》本文介绍SpringBoot集成RabbitMQ的步骤,涵盖配置连接、消息发送与接收,并对比两种定义Exchange与队列的方式:手动声明(... 目录前言准备工作1. 安装 RabbitMQ2. 消息发送者(Producer)配置1. 创建 Spr

Mysql常见的SQL语句格式及实用技巧

《Mysql常见的SQL语句格式及实用技巧》本文系统梳理MySQL常见SQL语句格式,涵盖数据库与表的创建、删除、修改、查询操作,以及记录增删改查和多表关联等高级查询,同时提供索引优化、事务处理、临时... 目录一、常用语法汇总二、示例1.数据库操作2.表操作3.记录操作 4.高级查询三、实用技巧一、常用语

利用Python脚本实现批量将图片转换为WebP格式

《利用Python脚本实现批量将图片转换为WebP格式》Python语言的简洁语法和库支持使其成为图像处理的理想选择,本文将介绍如何利用Python实现批量将图片转换为WebP格式的脚本,WebP作为... 目录简介1. python在图像处理中的应用2. WebP格式的原理和优势2.1 WebP格式与传统

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手