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

《CWAP-404》,第4章:802.11 MAC 帧(4.2,MAC 帧格式,通用帧格式)

运维笔记admin1浏览0评论
每个帧通常包含几个主要部分:
  • 一个 MAC 帧头,其中可能包括帧控制(Frame Control)、持续时间(Duration)、地址(Addresses)、可选的序列控制(Sequence Control)、QoS 控制(QoS Control)以及 HT 控制(HT Control)等字段。
  • 一个长度可变的帧主体(frame-body),它可能包含特定于帧类型和子类型的信息,也可能在某些帧中不存在,例如 RTS 和 CTS 帧。
  • 一个 FCS,即帧校验序列,包含一个基于 ITU-T V4.2 标准的 32 位 CRC(循环冗余校验)。
在上面的图中,你看到了通用帧格式(General Frame Format)。通用帧展示了一个 802.11 帧的基本格式。一些帧只使用其中的部分字段,而另一些帧则使用所有字段。标记为 0 或 n 的字段可能不会出现在某些特定的帧格式中。我们将分别详细探讨每个字段,以更好地理解它们。 以下内容简要描述了上图所示的 802.11 帧字段:
  • 帧控制(Frame Control):用于定义帧的多个参数,包括类型(type)、子类型(subtype)、帧方向(frame direction)、重试(retries)、加密(encryption)等内容。帧控制字段的具体定义将通过其子字段和标记(flags)在后文详细介绍。
  • 持续时间/标识符(Duration/ID):此字段包含以微秒(microseconds)为单位的时间值,或者关联标识符 AID(association ID)。当它包含时间值时,代表的是当前帧之后完成一次事务(transaction)或事务序列(sequence of transactions)所需的时间。当 Duration/ID 字段的前两位被设置为 11 时,表示此字段包含的是 AID 而不是时间值。例如,这种情况常用于 PS-Poll 帧中。
  • 地址 1、2、3 和 4(Address 1, 2, 3, and 4):地址字段用于传输多种可能的地址或标识符,包括 BSSID、源地址(SA)、目的地址(DA)、发送站地址(TA)以及接收站地址(RA)。有些帧会使用全部四个地址字段,而另一些帧则不会。例如,管理帧仅使用地址 1 到 3,RTS 帧只使用地址 1 和 2,而 CTS 帧仅使用地址 1。这种功能之所以可行,是因为包含类型/子类型信息的帧控制字段总是位于地址字段之前。因此,接收端可以根据帧的类型和子类型来确定需要检查哪些地址字段。
  • 序列控制(Sequence Control):此字段包含两个子字段:片段号(Fragment Number,前一部分)和序列号(Sequence Number,后一部分)。值得注意的是,序列控制字段(Sequence Control)在控制帧中并不会使用。片段号字段在非分片帧中始终设为 0。在分片帧中,此字段包含片段编号,从 0 开始计数。接收端根据帧控制字段中的“更多片段(More Fragments)”标记,判断该帧是第一个分片还是非分片帧。而帧控制字段会在序列控制字段之前被处理,因此在处理到序列控制字段时,这些信息已知晓。序列控制字段的前 4 位用于片段号,后 12 位用于帧的序列号。当在发送端附近捕获帧时,序列号中的不连续情况通常意味着捕获或传输帧的失败。
  • QoS 控制(QoS Control):此字段用于定义 QoS 参数,以进行数据传输。这是一个 16 位的字段,标识了流量类别(Traffic Category,TC),用于传输的流量管理和处理优先级,涉及 802.1D 的 0-7 个优先级。该字段可能还包含与 QoS、A-MSDU,以及帧类型相关的网格(mesh)信息,这些内容将取决于具体帧类型。
  • HT 控制(HT Control):HT 控制字段有三种变体,在常见的 WLAN 实施中分别为:HT 变体、VHT 变体和 HE 变体,分别对应 802.11n、802.11ac 和 802.11ax 标准。该字段用于定义 MAC/PHY 的运行参数,这些参数组合最早出现在 802.11n 标准中,并延续到最新的 802.11ax 标准。该字段的前两位用于确定这是 HT、VHT 还是 HE 条目。HT 用第一位为 0、第二位为 0 或 1 表示;VHT 用前两位为 10 表示;HE 用前两位为 11 表示。尽管在现代网络的大多数 QoS 数据帧中不使用该字段,但在某些 QoS 数据帧和所有的控制封装帧(Control Wrapper frames)中都会使用该字段。
  • 帧主体(Frame Body):包含帧所携带的数据。这些数据可能是上层数据或 802.11 协议特定的信息,具体取决于帧类型。例如,一个动作(Action)帧使用帧主体字段提供关于所请求或所执行动作的信息。数据帧和 QoS 数据帧的主体通常包含上层信息(例如 IP 报头、TCP 报头、应用层负载等)。
  • FCS(帧校验序列,Frame Check Sequence):帧校验序列是一个 32 位字段,包含了循环冗余校验(CRC)值。它是对 MAC 帧头的所有字段和帧主体字段计算所得,目的是验证从帧头到 FCS 字段之前的帧数据是否在传输过程中未被破坏。
为了更清晰地理解这些 MAC 帧字段,可以参考下图。该图展示了在 CommView for Wi-Fi 软件中解码的 MAC 帧与通用帧格式之间的对应关系。
发布评论

评论列表(0)

  1. 暂无评论