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

一、数据帧格式-概述

        数据帧的格式定义如图9-65所示。

        帧控制、持续时间、地址1、地址2、地址3和序列控制字段出现在所有数据帧子类型中。

        地址4字段的存在是由帧控制字段的To DS和From DS子字段的设置决定的(见下文)。

        QoS控制字段的存在取决于子类型子字段的QoS子字段的设置(参见帧控制字段的9.2.4.1.3)。HT控制字段的存在取决于帧控制字段的+HTC子场的设置(见9.2.4.1.10)。

        

        图9-65所示的最大帧体尺寸是针对最大尺寸a - msdu的GCMP加密(注意,在这种情况下不允许TKIP加密,并且任何网格控制字段都是a - msdu子帧的一部分)。对应的CCMP加密的最大值是7951个字节。如果不使用a -MSDU,则最大帧体大小为2346字节的GCMP加密的最大MSDU, 2338字节的CCMP加密的最大MSDU, 2342字节的TKIP加密的最大MSDU,包括在这两种情况下的18字节的网格控制字段。如果使用了厂商特定的密码套件,那么帧体的大小在所有情况下都可能会更大。

        Subtype子字段的QoS子字段(参见9.2.4.1.3)设置为1的数据帧名称中包含QoS,并在MAC头中包含QoS控制字段。根据上下文的不同,QoS数据帧要么指任何这样的帧,要么特指子类型为1000的数据帧。名称中包含QoS的其他特定数据框的引用(例如QoS Null或QoS Data +CF-Poll)通常建议使用后一种解释。

           QoS STA总是使用QoS数据帧向其他QoS STA传输数据。QoS STA使用Subtype子字段的QoS子字段为0的帧向非QoS STA传输数据。

        非QoS STA总是使用Subtype subfield的QoS子字段设置为0的帧向其他STA传输数据。

        对于非隐蔽的GCR广播数据帧,所有STA都使用Subtype子字段中QoS子字段为0的帧,除非发送STA知道BSS中的所有STA都具有QoS能力,此时发送STA使用QoS数据帧。

        对于非隐蔽的GCR组编址数据帧,所有sta使用Subtype subfield为0的数据帧,除非发送端知道属于组播组的BSS中的所有sta都具有QoS能力,此时sta使用QoS数据帧。

        其中dot11RobustAVStreamingImplemented为true的ap或dot11meshgcriplemented为true的mesh STAs使用具有QoS子字段的帧 Subtype子字段设置为1表示隐蔽的GCR帧,如11.21.16.3.5所述。

二、 Address and BSSID fields
        数据帧的地址字段的内容取决于帧控制字段中的To DS和From DS子字段的值,以及帧体字段是否包含一个MSDU(或其片段)或一个完整的A-MSDU,由QoS控制字段的A-MSDU Present子字段确定(参见9.2.4.5.9)。

        非mesh sta传输的地址字段内容定义如表9-30所示。mesh STAs传输的地址字段内容定义在9.3.5中,GLK STAs传输的地址字段内容定义在10.65中。如果某个字段的内容显示为不适用(N/ a),则该字段被省略。请注意,地址1总是保存预期接收方的接收地址(或者,在组寻址帧的情况下,保存接收方的地址),地址2总是保存传输帧的STA的地址。

        如果确认是必要的,STA使用Address 2字段的内容来指导确认。

        DA字段在Frame Body字段中包含MSDU(或其片段)或A-MSDU的目的。、

        注1-A SYNRA绝不是DA。当GLK AP使用SYNRA作为RA时,实际的DA在另一个字段中进行。见10.65。

        SA字段包含发起MSDU(或其分片)或A-MSDU的MAC实体的地址。

        当一个数据帧携带一个MSDU(或其分片)时,与该MSDU相关的DA和SA值在Address 1、Address 2、Address 3、Address 4字段中携带(根据to DS和From DS子字段的设置),如表9-30所示。

        当数据帧携带基本的a -MSDU时,a -MSDU携带的与每个MSDU相关的DA和SA值会在a -MSDU子帧首部中携带。表9-30中的Address 1和Address 2字段为0、1或同时为0、1和1。

        

        RA字段是帧的直接预期接收STA的个人地址,或者是帧的直接预期接收STA的组地址。

        当GLK AP数据帧通过groupcast RA发送4地址MAC首部时,RA是SYNRA(参见10.65)。当DA不被相应的IEEE 802.1Q桥接器所知道时,SYNRA也被使用。RA字段携带SYNRA时的格式如图9-66所示。

        

        注2:IEEE Std 802和IEEE Std 802.1CQ定义的组播MAC地址格式与SYNRA类似,但在IEEE Std 802.11中,组播MAC地址是DAs。由于SYNRAs只发生在RA领域,类似的格式可以通过在RA或DA中使用来消除歧义。

        SYNRA Type子字段用于在多种可能的SYNRA格式之间进行选择。SYNRA类型及其控制子字段格式如表9-31所示。

        每种SYNRA类型需要分别指定SYNRA Control子字段格式,定义如表9-31所示。

        

         

        基本SYNRA控制子字段中的辅助位图偏移子字段用于表示起始的辅助值,该值与辅助位图子字段的位0相关联。将其值乘以4以找到起始辅助值,对于非S1G STA,其值为0 ~ 494,对于S1G STA,其值为0 ~ 2040。其他值保留。

        注3 -这些与2007年(非S1G STAs)和8191 (S1G STAs)的最大AID值相匹配。

        基本SYNRA控制子字段中的辅助位图子字段为32个连续的辅助提供接受/丢弃指示。位B12到B43分别表示范围辅助位图偏移量× 4 + 1到辅助位图偏移量× 4 + 32中的辅助值。对于AID位图子字段中的每个比特,1表示接受,0表示丢弃。

        在基本SYNRA控制子字段中的其他辅助子字段为辅助位图子字段覆盖的值范围之外的辅助提供接受/丢弃指示。1表示接受,0表示丢弃。

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

        数据帧的BSSID字段设置如下:

        如果用户包含在AP中或与AP相关联,则BSSID是包含在AP中的用户当前使用的地址。

        如果该用户是IBSS用户,则BSSID为启动IBSS的用户选择的BSSID。

        如果STA在dot11OCBActivated为true时正在传输数据帧,则BSSID是通配符 BSSID。

        如果STA是MBSS的成员,则BSSID是发送端的地址,并且等于数据帧的TA。

        如果该用户参与了PBSS,则BSSID为PCP中包含的该用户的地址。

三、Other MAC Header fields

        Sequence Control字段在9.2.4.4中定义。

        QoS控制字段定义在9.2.4.5中。QoS控制字段的存在是由帧控制字段的Subtype子字段决定的,如9.2.4.1.3所述。

        HT控制字段在9.2.4.6中定义。HT控制场的存在由帧控制场的+HTC子场决定,如9.2.4.1.10所述。

四、The frame body

     帧主体由以下任意一种组成:

     MSDU(或其片段),Mesh控制字段(如果帧由Mesh STA传输,并且QoS控制字段的Mesh控制present子字段为1,则存在),以及security header和trailer(如果帧控制字段中的Protected帧子字段为1,则存在)。

        a - msdu和一个security header和trailer(如果帧控制字段中的Protected帧子字段为1,则存在,否则不存在)。

        通过设置QoS控制字段的A-MSDU Present子字段为1来表示A-MSDU在帧体中存在,如表9-10所示。

        对于子类型为Null、QoS Null、QoS CF-Ack、QoS CF-Poll、QoS CF-Ack +CF-Poll的数据帧,帧体字段为Null(即长度为0个字节);这些子类型用于MAC控制。

        对于子类型Data的数据帧,帧体字段在经过任何封装后都包含MSDU的全部或一部分。对于子类型QoS数据帧、QoS数据帧+CF-Ack、QoS数据帧+CF-Poll、QoS数据帧+CF-Ack +CF-Poll,帧体字段经过任何封装后都包含一个MSDU(或其片段)或A-MSDU,以保证安全性。对于mesh STA传输的子类型QoS数据帧,帧体字段还包含一个mesh控制字段,如9.2.4.7.3所述。

        帧主体字段的最大长度可以由MSDU的最大长度加上Mesh控制字段的长度(如果存在的话)加上加密封装的开销(例如,在单个数据帧中使用MAC层提供的任何封装总是可以发送最大长度的MSDU)来确定。当帧体携带A-MSDU时,帧体场的大小受以下限制:

        PHY的最大PSDU (PHY service data unit)长度

        如果a -MPDU聚合被一个非vht和非dmg STA使用,最大MPDU长度为4095 octet(见9.7)。

五、Duration field

        在QoS STA发送的所有数据帧中,Duration字段包含9.2.5中定义的持续时间值。

        在所有非qos sta发送的数据帧中,Duration字段的设置规则如下:

        如果“地址1”字段中包含组地址,则“持续时间”字段设置为0。

        如果帧控制字段的More Fragments bit为0,且Address 1字段包含单个地址,则Duration字段设置为发送1个Ack帧+ 1个SIFS帧所需的时间,单位为微秒。

        如果一帧的帧控制字段的More Fragments bit为1,且Address 1字段包含一个单独的地址,则Duration字段设置为该数据帧的下一个fragment传输所需的时间,单位为微秒,加上2个Ack帧,再加上3个SIFSs帧。

        数据帧的持续时间字段计算基于10.6中的规则,该规则确定传输帧交换序列中的控制帧的数据速率。

        如果计算的持续时间包含小数微秒,则该值将四舍五入到下一个更大的整数。

        所有STAs进程持续时间字段值小于或等于32 767的有效数据帧(不考虑这些帧中可能出现的RA、DA和/或BSSID地址值),以根据协调功能规则更新其导航设置。

        说明1 - QoS Data子类型和QoS Null子类型是DMG STA唯一传输的Data子类型。

        注2:HT控制场不存在于DMG STA传输的框架中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值