ACK 帧与所有 802.11 管理帧一样,在其 MAC 标头中有一个 DA(目标地址)和 SA(源地址)(两者都不要与“MAC 地址”完全混淆,见下文),这就是全部在这种情况下需要。
TLD;DR:在 802.11 上下文中,“MAC 地址”、SA(源地址)、TA(发送器地址)、DA(目标地址)、BSSID 或其他看起来都像 6 字节“MAC 地址”我们从其他技术中熟悉的,但不应混淆它们。
现在是在 802.11 上下文中拆除“MAC 地址”概念。
802.11 确认帧是 802.11 管理帧的一部分,而 802.11 是“一组媒体访问控制 (MAC) 和物理层 (PHY) 规范” (source)。
这意味着什么 - 这是在使用 Wi-Fi 时要掌握的一个非常重要的概念 - 802.11 本身,包括它的管理框架,与“传统”无关(比如说 802.3,也就是以太网)PHY(第 1 层)或 MAC(第 2 层)层——它们是它们自己的一种。
802.3/以太网,继续这个类比 - 或者更确切地说是反例 - 没有 ACK 帧、信标、探测请求、RTS/CTS、auth/deauth、关联等,这些都是 802.11 管理帧的类型. 802.3 根本不需要这些,主要是因为有线以太网不是共享媒体(这是 IEEE 术语),这可能会导致不可靠性/冲突,就像 802.11/Wi-Fi 的空气一样。
这样做的重要后果是,您不应该期望先验会遇到其他更熟悉的概念或来自其他第 1/2 层技术的数据。 忘记这一点,一劳永逸。
当然,Wi-Fi 看起来像是携带一些 MAC 和 IP 以及 TCP 和/或 UDP 或诸如此类的东西,而且它们大部分时间都这样做,但对于 ACK 等管理帧,这是一个不同的世界 - 它自己的世界。事实上,802.11 可以完美地使用 - 并且可能用于某些利基用例 - 来承载 TCP/IP 之外的其他更高级别的协议。而它的 MAC 概念,虽然看起来熟悉它的 6 个字节,但在形式上不应混淆,也不应与 802.3/Ethernet 的 MAC 相混淆。再举一个例子,802.15 aka 蓝牙也有一个 6 字节的 MAC,但这又是另一回事了。
以 802.11 相反为例,例如 802.11 第 1/2 层信标帧携带一些关于 SSID、支持的速率、跳频 (FH)、参数集等的信息在其他 L1/2 技术中没有对应物。
现在,接受 802.11 中“MAC 地址”的复杂性...
这就是为什么,以日常使用为例,pcap/tcpdump 有如此奇怪的过滤器,例如 wlan ra、wlan ta、wlan addr1、wlan addr2、wlan addr3、wlan addr4 - wireshark 捕获和显示过滤器等。