本文主要是介绍【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】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!