【80211-2022】【学习记录】【第九章】Frame Body 字段

一、概述

        Frame Body字段是一个可变长度字段,包含特定于各个帧类型和子类型的信息。

        帧体的最小长度为0位字节。

        Frame Body的最大长度受以下限制或影响:

                对于当前使用的PPDU格式,接收方支持的最大MMPDU、MSDU、A-MSDU和MPDU

                大小如表9-25所示。

                PPDU的最大持续时间[例如,HT_MF L-SIG L_LENGTH, HT_GF, VHT, TVHT, S1G,或
                DMG aPPDUMaxTime(见表9-25);任何非零的TXOP限制;任何监管约束

                (例如,CS4-msBehavior)]。

                MAC报头中存在的字段(例如,QoS控制,地址4,HT控制)。

                安全封装的存在(例如,TKIP, CCMP或GCMP头和MIC)。

                Mesh Control字段的存在(见9.2.4.7.3)。

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第1张图片

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第2张图片 

                注1:在A-MSDU中,Mesh控制字段位于A-MSDU子帧头中(如图9-70所示)。

                在MMPDU中,网格控制字段位于MMPDU内部(参见9.6.17)。

                这种网格控制领域需要考虑,如果一个最大的a - msdu或MMPDU大小约束适用,

                以及如果一个最大的MPDU大小约束适用。 

                注2 -对于a - msdu(见12.2.5)或MMPDU(见12.5.4.1)不允许使用tkip,

                因此,如果适用最大A - msdu或MMPDU尺寸约束,则不需要考虑tkip.

二、Overhead for encryption

        第12节描述了加密的开销。

        当Mesh Control字段出现在帧体中时,Mesh Control字段作为数据的一部分被加密。

三、Mesh Control field

        Mesh 控制字段存在于包含未碎片MSDU或碎片MSDU的第一个碎片的网格数据帧中,

        并且存在于由Mesh STA传输的多跳动作帧中。

        在Mesh 数据帧中,当QoS控制字段中的Mesh 控制Present子字段为1时,

        Mesh控制字段在MSDU的前面,位置如下:

                当帧体包含MSDU(或其片段)且帧未加密时,网格控制字段位于帧体的第一个八位组中。

                当帧体包含一个MSDU(或其片段)并且帧被加密时,网格控制字段位于加密数据部分的

                第一个八位组中。

                当帧体中包含A-MSDU时,Mesh控制字段位于A-MSDU子帧头中,如图9-70所示。

                 在Multihop Action帧中,Mesh Control字段按照9.6.17的规定出现。

                Mesh Control字段的长度是可变的(6、12或18字节)。Mesh Control字段的结构定义

                如图9-23所示。

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第3张图片

                 Mesh Flags子字段包含地址扩展模式子字段。Mesh Flags子字段的结构如图9-24所示。

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第4张图片

                地址扩展模式子字段地址扩展模式子字段的内容。

                表9-26定义了地址扩展模式的有效值,并描述了Mesh地址扩展子字段对应的内容。

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第5张图片 

                Mesh TTL子字段包含一个非零无符号整数,对应MSDU/MMPDU转发的剩余跳数。

                在10.38.3和10.38.4中描述了Mesh TTL在单独编址帧和组编址帧中如何使用。 

                注1:我们认为一个32位的序列号就足够了,因为假设一个源以每秒104帧的速率连续

                传输,翻转将在5天之后发生。

                Mesh地址扩展子字段只有在Mesh Flags子字段的地址扩展模式子字段为非零不保留值时

                才会出现,如图9-25所示。Mesh地址扩展子字段为Mesh地址扩展提供额外的地址字段,

                定义如表9-26所示。扩展地址字段的解释将在9.3.5中描述。

                【80211-2022】【学习记录】【第九章】Frame Body 字段_第6张图片

                当Mesh Flags子字段中的地址扩展模式子字段为1时,就会出现Address 4子字段。

                它携带第四个地址,该地址没有包含在这些帧的MAC首部中。 

                当Mesh Flags子字段中的地址扩展模式子字段为2时,会出现Address 5子字段和

                Address 6子字段。它携带端到端的IEEE 802通信的源端站和目的端站的地址,

                如果其中一个(或两者)不是一个mesh路径的起始或结束位置的sta。(如图9-81所示。)

                注2:例如,当IEEE 802通信的终端基站是非mesh网络时,这个功能就很有用。

                外部基站通过代理mesh门,通过mesh BSS进行通信。

                关于这些可选地址字段用法的详细信息在14.10.8.4中给出。

        四、FCS field

                FCS字段包含一个32位的CRC。FCS字段值是在MAC报头和帧体字段的所有字段

                上计算的。这些被称为计算字段。

                FCS字段值使用以下32度标准生成器多项式计算:

                G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1
                FCS字段值是以下数的和(模2)的1的补码:

                       2fb4e94cb3354e68bf3604dc7fd5d974.png

                FCS场从最高阶项的系数开始传输。

                 作为一个典型的实现,在发送端,除法的初始余数预设为所有1s,然后通过生成器

                多项式G(x)对计算域的除法进行修改。该余数的1s补作为FCS域,最高阶比特优先传输。

                在接收端,所有的1都是预设的初始余数,计算字段和FCS的串行传入比特数除以G(x),

                (在没有传输错误的情况下)得到唯一的非零余数。唯一的余数是多项式:

                69a99daaa564497dbd837c4550708b2d.png

 

你可能感兴趣的:(80211_2022,学习,信息与通信,网络协议,物联网,嵌入式实时数据库,驱动开发,嵌入式硬件)