Duration/ID 字段的功能因帧的类型和上下文而异,主要有以下两种主要用途:网络分配向量 (NAV)持续时间 和 AID (Association ID)
(a) 网络分配向量 (NAV)持续时间
对于大多数数据帧和管理帧,Duration/ID字段表示剩余的帧传输时间。它告诉网络中的其他设备该帧将占用通信介质多长时间,从而更新它们的网络分配向量 (NAV)。NAV是一个计时器,指示设备在特定时间内不应访问通信介质,避免冲突。 单位:微秒 (µs) 数据帧: Duration/ID 字段表示从当前帧开始,到ACK帧结束所需的时间。这包括数据帧传输时间、SIFS (短帧间隙)时间和ACK传输时间。 RTS/CTS帧 在RTS (Request to Send) 和 CTS (Clear to Send) 帧中,Duration/ID 字段表示整个传输会话的剩余时间,包括数据帧和相应的ACK帧传输。
(b) AID (Association ID)
在某些帧 (如 Power Save Poll 帧)中,Duration/ID 字段包含的是站点的 Association ID (AID),这是一个由接入点 (AP) 分配给每个关联站点的唯一标识符。当字段被用于此目的时,字段的高两位通常设置为 11 以表示 AID,而剩余的14位表示实际的 AID 值。
上面的 CTS 帧,Duration 为 134 ms,表示该传输会持续134 ms,在这期间同信道的其它设备需要保持安静。
(3)Sequence Control (序列控制)
Sequence Control 字段用于管理帧的序列化和片段化。这个字段有助于确保数据帧能够按正确的顺序组装,并检测和处理重传的帧。
Sequence Control 字段分为两个部分: Fragment Number (片段号):4位 和 Sequence Number (序列号):12位
(a) Fragment Number (片段号) [4位]
片段号用于标识帧的分片部分。由于无线传输可能会受到干扰,大型帧在传输前可能会被分割成多个小片段,每个片段都有唯一的片段号 取值范围:0 到 15 (即2^4 - 1)
Fragment Number 的主要功能 片段管理: 当一个帧被分片时,片段号用于标识每个片段的顺序,以便接收端正确重组原始帧。 重传管理:在某些情况下,如果一个片段由于传输错误而丢失,只有丢失的片段需要重传,而不是整个帧。片段号帮助识别需要重传的具体片段。
(b) Sequence Number (序列号) [12位]
RSN Information (RSN信息):如果网络启用了加密 (如WPA/WPA2),此字段包含安全信息。
(2)Association Request 帧
Association Request 帧是802.11无线WiFi网中用于建立客户端设备(例如笔记本电脑、智能手机等)与无线接入点 (AP) 之间连接的管理帧之一。
这个帧由客户端设备在选择了一个 AP 后发出,表示它希望加入这个无线网络。
使用参数 wlan.fc.type_subtype == 0x00 可以过滤出所有的 Association Request 帧
(a) Association Request 帧的功能
加入网络:客户端设备使用 Association Reques t帧请求加入一个 AP 管理的无线网络。 传递客户端能力:帧中包含了客户端设备的能力信息,例如支持的速率、加密方法、QoS 功能等。 获取网络资源:通过关联请求,客户端能够获取到网络分配的资源,例如 IP 地址、网络权限等
(b) Association Request 帧的工作原理
扫描与发现: 客户端设备通过主动或被动扫描(如发送探测请求帧或接收信标帧)发现可用的 AP。 发送关联请求: 在选择目标 AP 后,客户端设备发送 Association Request 帧给AP,请求加入网络。 AP处理请求: AP 收到请求后,会检查客户端设备的能力和配置是否与网络兼容,并确定是否允许其加入。 发送关联响应:如果 AP 同意请求,它将返回一个 Association Response 帧,指示关联的成功与否,并分配一个关联 ID (AID)。如果不成功,AP 会给出拒绝原因。 建立连接: 关联成功后,客户端设备和AP之间的连接建立,客户端设备可以开始数据传输。
(c) Association Request 帧的结构
Frame Control (帧控制) :类型字段为管理帧 (00)子类型字段为 Association Request (0000)。 Duration/ID (持续时间/ID):指定传输此帧所需的时间,或包含关联ID。 Address 1 (目的地址) 目标 AP 的 MAC 地址 (即接收地址)。 Address 2 (源地址) 发送 Association Request 的客户端设备的 MAC 地址。 Address 3 (BSSID,基本服务集标识符) 目标网络的 BSSID,通常与 Address 1 相同。 Sequence Control (序列控制) :包含帧的序列号和片段号,用于管理帧的顺序和重组。 Frame Body (帧主体) Association Request 帧的核心部分,包含客户端设备的能力和配置参数。帧主体包含以下子字段:
Capability Information (能力信息) 描述客户端设备的能力,如是否支持加密、短前导码、QoS、功率管理等功能。
Listen Interval (侦听间隔) 客户端设备与 A P通信时的间隔,表示客户端设备多长时间侦听一次信标帧。值越小,客户端越频繁地检查 AP 发送的信标,消耗的功率越大。
RSN Information (RSN信息) 如果网络启用了 WPA/WPA2 加密,客户端会在这个字段中发送其支持的安全功能和加密方法。
Power Capability (功率能力) 客户端设备的最小和最大传输功率,通常在需要节能或具有特定功率要求的设备中使用。
Supported Channels (支持的信道) 客户端设备支持的信道范围,用于 AP 选择适当的信道进行通信。
Vendor Specific (厂商特定) 一些厂商特有的扩展字段,允许客户端和 AP 传递特定于设备的附加信息。
(3) Association Response 帧
Association Response 由无线接入点 (AP) 在收到客户端设备 (例如笔记本电脑、智能手机等) 发送的 Association Request 帧后,作为响应发出。
这个帧的作用是通知客户端设备其关联请求是否成功,并在成功的情况下分配一个关联 ID (AID) ,允许其加入网络。
使用参数 wlan.fc.type_subtype == 0x01 可以过滤所有的 Association Response 帧
(a) Association Response 帧的功能
确认关联请求:AP 通过 Association Response 帧确认客户端设备的关联请求。 提供关联状态:该帧告知客户端设备其关联请求的结果 (成功或失败) ,如果失败,还会提供失败的原因。 分配资源:如果关联成功,AP会为客户端设备分配一个关联 ID (AID) ,并可能提供其他必要的网络参数。
(b) Association Response 帧的工作原理
接收关联请求: AP 首先接收到来自客户端设备的 Association Request 帧。 处理请求: AP 根据自身的能力、当前网络状态、客户端设备的能力信息等因素,决定是否允许客户端设备加入网络。 生成关联响应: AP生成一个 Association Response 帧,其中包含关联请求的结果和相关信息。 发送关联响应: AP 将 Association Response 帧发送回客户端设备。 关联成功:如果请求成功,客户端设备将接收到 AID ,并可以开始正常的数据传输。 关联失败:如果请求失败,客户端设备会接收到一个错误状态码,告知失败的原因,并可能需要重新发送关联请求或进行其他处理。 建立连接:如果关联成功,AP 和客户端设备之间的连接正式建立,客户端可以进行数据传输和进一步的网络交互
(c) Association Response 帧的结构
Frame Control (帧控制) 类型字段为管理帧 (00) 子类型字段为 Association Response (0001) 。 Duration/ID (持续时间/ID) 指定传输此帧所需的时间,或包含关联 ID。 Address 1 (目的地址) 发送关联请求的客户端设备的 MAC 地址 (即接收地址) 。 Address 2 (源地址) AP的MAC地址,表示发送该响应帧的设备。 Address 3 (BSSID,基本服务集标识符) 网络的 BSSID,通常与 Address 2 相同。 Sequence Control (序列控制) 包含帧的序列号和片段号,用于管理帧的顺序和重组。 Frame Body (帧主体) Association Response 帧的核心部分,包含关联结果和配置参数。以下是 Frame Body 中的关键字
Capability Information (能力信息) 描述 AP 的能力,如支持的加密方法、短前导码、QoS、功率管理等功能。这个字段的内容与 Association Request 帧中的 Capability Information 字段相似,但由 AP 决定。
Status Code (状态码) 指示关联请求的处理结果。常见的状态码包括:0 (成功) :关联请求成功。1-65535 (失败原因) :如资源不足、AP 不支持客户端请求的功能、认证失败等。
Association ID (AID,关联ID) 如果关联成功,AP 为客户端设备分配一个唯一的关联 ID (AID) 。AID 是一个用于标识客户端设备的短标识符,在 AP 和客户端之间进行通信时很常用,尤其是在节能模式下。
Supported Rates (支持的速率) AP 支持的数据传输速率列表,通常包含在响应帧中以确认客户端设备和 AP 之间的速率匹配。
HT Capabilities (高吞吐量能力,可选) 如果 AP 支持802.11n 或更高标准 (如802.11ac) ,可能会包含这个字段来描述 AP 的高吞吐量能力。
发送数据帧: 设备 A 向设备 B 发送数据帧 (如 Data 帧) 。 接收并处理数据帧: 设备 B 接收到数据帧,并检查数据的完整性 (通过 FCS 字段) 。 发送ACK帧: 如果数据帧无误,设备 B 在一个短的时隙 (称为SIFS,Short Interframe Space) 后,向设备 A 发送 ACK 帧。 确认接收: 设备 A 接收到 ACK 帧后,知道设备 B 已成功接收到数据帧,因此可以继续发送下一个数据帧。如果没有收到 ACK 帧,设备 A 会在规定的重传次数内重发数据帧。
(c) ACK 帧的结构