帧控制字段主要有两种结构:此处我们称之为“通用”和“控制帧扩展”。控制帧扩展类型用于允许重用 b8-b11 比特位。该字段包含多个子字段,其中许多是 1 比特的标志位。
如下图所示,帧控制字段长度为两个八位组(16 比特)。此处比特位编号从 b0(最左边的比特)到 b15(最右边的比特),这一约定在整个标准中通用。此格式适用于所有非控制帧扩展。
协议版本 - 第一个字段的名称可能有些误导性。此字段是为 IEEE 可能进行的重大修订预留的,当前应始终设置为 0。如果未来发布“不兼容”的新版本,IEEE 将在此时递增该值。
类型与子类型 - 这是两个不同的字段。类型字段占 2 比特,子类型字段占 4 比特。此前我们讨论过帧类型相关的值:类型字段有四个可能的值 [00-11],子类型字段则占四个比特 [0000-1111]。
在抓包分析中,必须清楚当前传输的是哪种帧。了解网络中应传输的内容是成功的一半,而另一半则是实际传输的内容。大多数协议分析工具会如下图所示直观展示这些信息,但优秀的工程师仍需掌握手动解码能力——尤其是在多方解码、分析工具功能异常或完全失效的情况下。
To/From DS - 两个各占 1 比特的字段。这些字段描述帧的传输路径,并指示其是否处于网状(mesh)系统中。应将这些比特视为“真/假”而非数值。
- 如果 To DS 和 From DS 均为 0,表示传输发生在独立基本服务集(IBSS)内的站点到站点(STA 到 STA)、基本服务集(BSS)中的 STA 到 STA,或基础设施系统中非接入点(AP)到另一个非 AP。如果系统中启用了客户端隔离,则不应出现此类标志的帧,否则可能表示异常。这是 IBSS 传输的唯一组合,因为 IBSS 不包含分布式系统(DS)结构。
- 如果 To DS=1 且 From DS=0,表示帧由关联到 AP 的 STA 发出,进入 DS。
- 如果 To DS=0 且 From DS=1,表示帧从 DS 传出(由 AP 发出),或为包含 Mesh 控制字段的组播数据帧(使用三地址 MAC 头格式)。这是 AP 发出的帧或 Mesh STA 传输的组播帧的唯一组合。
- 如果 To DS=1 且 From DS=1,表示网状系统中的数据帧使用四地址 MAC 头格式。通常用于 Mesh BSS 内 STA 间的传输,也可用于两个 WLAN 网桥之间的通信。


发布评论