最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

《CWAP-404》,第4章:802.11 MAC 帧(4.5,802.11控制帧格式)

运维笔记admin0浏览0评论
控制帧用于控制连接到接入点(AP)或无线局域网(WLAN)的站点(STA)对介质的访问。以下帧被定义为控制帧,并在生产环境中的WLAN中使用:
  • ACK(确认帧):用于确认接收到的帧的确认帧。
  • RTS(请求发送帧):用于请求目标STA发送CTS帧的请求发送帧。
  • CTS(允许发送帧):用于清除介质以传输另一帧的允许发送帧。
  • BlockAckReq(块确认请求帧):用于请求块确认的帧。
  • BlockAck(块确认帧):用于确认突发传输中多个帧的块确认。
  • Control Wrapper(控制包装器帧):用于携带其他控制帧,同时包含HT控制字段。
控制帧的802.11头部较为简短,后跟特定控制帧所需的信息。所有控制帧的“帧控制字段”结构相同,如下图所示。

RTS(请求发送帧)和CTS(允许发送帧)

RTS(请求发送帧)和CTS(允许发送帧)用于为传输较大帧清除通信介质。在高冲突环境中(通常通过高重试率检测到),启用RTS/CTS机制可提升通信效率。RTS帧由希望发送较大帧的STA发出,CTS帧则作为响应返回。 下图展示了RTS和CTS帧的格式。 RTS/CTS帧中的 Duration字段至关重要:
  • RTS帧中的Duration字段:以微秒为单位,计算公式为:数据或管理帧的持续时间 + CTS帧的持续时间 + 一个ACK帧的持续时间 + 三次SIFS间隔,此公式确保介质在整个数据帧传输期间被预留。
  • CTS响应帧中的Duration字段:以微秒为单位,计算公式为:前导RTS帧的Duration字段值 - CTS帧的持续时间 - 一次SIFS间隔
CTS-to-Self(自清空CTS帧)是一种无需前导RTS帧直接发送的CTS帧。其名称来源于该帧的RA(接收地址)字段被设置为发送STA自身的地址。虽然如此,范围内的所有STA仍会侦听此帧,并根据CTS帧的 Duration字段设置其 NAV(网络分配矢量)计时器。 CTS-to-Self帧的 Duration字段计算公式如下: 数据或管理帧的持续时间 + 两次SIFS间隔 + 一个ACK帧的持续时间 此公式假设管理帧需要确认(ACK)。若无需确认,则直接移除ACK时长以确定Duration字段的值。

确认帧(ACK Frames)

ACK帧在数据帧和管理帧之后立即发送,用于通知发送方帧已被接收。若未收到ACK帧,发送方会假设帧因干扰或其他问题丢失并进行重传。每次重传时,随机退避计时器的时长会逐步增加,直至达到最大值1023。这一机制防止STA因持续占用信道而无法合理调整(例如降低数据速率以成功传输帧或切换至其他AP)。从效率角度看,以54 Mbps速率成功发送一次帧,远优于以150 Mbps速率重复发送五次。若无法通过合理重试次数成功传输帧,厂商算法会将其视为触发数据速率调整的关键因素。 ACK帧是一个结构简单的帧,包含以下子字段:
  • 帧控制(Frame Control)
  • 持续时间(Duration)
  • 接收地址(RA)
  • 帧校验序列(FCS)
其帧格式与CTS帧大小相同,但 RA字段填入的是被确认帧的发送STA地址,而非ACK发送方的地址。与CTS帧不同,若前一帧的**More Fragments(更多分片)**位为0,则ACK帧的Duration字段设为0。CTS帧的Duration字段始终包含数值,因为它总为后续帧传输预留时间。若ACK帧用于需要传输更多分片的场景,其Duration字段值按以下公式计算: 前一帧的Duration值 + ACK帧传输时间 + SIFS间隔 计算结果若包含不足1微秒的余数,需 向上取整至下一个微秒

块确认及相关帧(Block Ack and Related Frames)

块确认请求帧(Block Ack Request, BAR)是另一种短帧,仅包含以下字段:
  • 帧控制(Frame Control)
  • 持续时间(Duration)
  • 地址1(Address 1)
  • 地址2(Address 2)
  • BAR控制(BAR Control)
  • BAR信息(BAR Information)
  • 帧校验序列(FCS)
下图展示了BAR帧的具体格式。 块确认帧(Block Ack Frame)的格式与BAR请求帧几乎完全相同,包含相同的可变字段。该帧用于在使用块确认机制时(通常见于802.11n或802.11ac操作)确认大批量数据传输。

触发帧(Trigger Frames)

标准文档中通过多种方式引用了触发帧。最值得关注的是与 电源管理上行OFDMA相关的触发帧。标准将以下两类帧定义为触发帧:
  • QoS Null帧
  • QoS Data帧(其帧控制字段的电源管理子字段设为1,由客户端发送至AP)
802.11ax标准新增了用于上行OFDMA的触发帧类型,这可能导致术语混淆。因为在过去十多年中,"trigger frames"(小写t)在标准中特指其他帧类型的特殊用例(基于帧的功能)。而在802.11ax修订版中,专门新增了章节(9.3.1.22)定义以下 正式命名的触发帧
  • 基础触发帧(Basic Trigger)
  • BFRP触发帧(BFRP Trigger)
  • MU-BAR触发帧(MU-BAR Trigger)
  • MU-RTS触发帧(MU-RTS Trigger)
  • BSRP触发帧(BSRP Trigger)
  • GCR MU-BAR触发帧(GCR MU-BAR Trigger)
  • BQRP触发帧(BQRP Trigger)
  • NFRP触发帧(NFRP Trigger)
这些帧类型均用于通过上行OFDMA从客户端站点请求 高效触发型物理层协议数据单元(HE TB PPDUs)。需注意,原有的QoS Null帧和QoS Data帧(用于通知AP客户端唤醒或休眠状态)仍属于标准定义的触发帧范畴。
发布评论

评论列表(0)

  1. 暂无评论