802.11数据帧的四重人格:请问,你是哪一种性格?!
为什么Wi-Fi需要比以太网更复杂的地址结构?
-
以太网(802.3):在一个有线局域网中,通信路径是明确的。一个帧从源主机发出,通过交换机,最终到达目的主机。因此,只需要两个地址就足够了:目的MAC地址 (DA) 和 源MAC地址 (SA)。
-
Wi-Fi(802.11):无线环境要复杂得多。通信不一定是点对点的。一个设备(我们称之为工作站STA)可能需要通过一个中间设备——无线接入点AP (Access Point)——来和另一个设备通信。这个AP本身就是一个网络节点,它连接着一个分布式系统DS (Distribution System),这个DS通常就是我们说的有线网络。
因此,我们需要区分两个概念:
-
直接通信方:在无线信道上,谁是发送者?谁是接收者?
-
最终通信方:这个数据包最初是谁发的?最终要给谁?
为了标识这些不同的角色,802.11 MAC帧头设计了多达四个地址字段。具体使用哪个地址、地址里填什么,则由帧头中的**“帧控制”字段里的两个关键比特位来决定:To DS
** 和 From DS
。
To DS | From DS | 含义 |
---|---|---|
0 | 0 | 数据帧与DS无关(Ad-hoc模式或WDS内部控制帧) |
0 | 1 | 数据帧来自DS,发往STA |
1 | 0 | 数据帧来自STA,发往DS |
1 | 1 | 数据帧在WDS中传输(AP到AP) |
这四个组合,就构成了我们要讲的四种使用情况。
四个地址字段的角色定义
在进入具体场景前,我们先明确每个地址的角色名称:
-
地址1: RA (Receiver Address) - 接收地址。无线信道上的直接接收者。始终是下一个要接收该无线帧的设备的MAC地址。
-
地址2: TA (Transmitter Address) - 发送地址。无线信道上的直接发送者。始终是当前正在发送该无线帧的设备的MAC地址。
-
地址3: DA (Destination Address) / SA (Source Address) - 最终目的地址 或 最初源地址。
-
地址4: SC (Sequence Control) - 仅在
To DS=1, From DS=1
的WDS(无线分布式系统)模式下使用。
四种使用情况详解
情况一:Ad-hoc模式 (To DS=0, From DS=0)
-
场景描述: 两台笔记本电脑直接进行无线通信,中间没有任何AP。这被称为IBSS(独立基本服务集)。数据包不经过任何有线网络(DS)。
STA 1 <----> STA 2
-
地址分配:
-
地址1 (RA): STA 2 的MAC地址 (无线帧的直接接收者)
-
地址2 (TA): STA 1 的MAC地址 (无线帧的直接发送者)
-
地址3 (DA): STA 2 的MAC地址 (数据的最终目的地)
-
地址4: 不使用
-
-
分析: 在这种最简单的模式下,直接发送方/接收方和最终源/目的地是同一组设备。因此,地址1和地址3的内容是相同的(都是最终目的地)。
情况二:基础设施模式 - AP发往STA (To DS=0, From DS=1)
-
场景描述: 你正在用手机(STA)连接Wi-Fi看视频。视频数据从互联网服务器(位于DS中)发送出来,通过AP,最终无线传输给你的手机。
服务器(DS中) ---> (有线) ---> AP <~无线~> 手机(STA)
-
地址分配:
-
地址1 (RA): 手机(STA)的MAC地址 (无线帧的直接接收者)
-
地址2 (TA): AP的MAC地址 (BSSID) (无线帧的直接发送者)
-
地址3 (SA): 视频服务器对应的路由器接口的MAC地址 (数据的最初源头)
-
地址4: 不使用
-
-
分析: 在这个方向上,AP是无线信道上的“信使”。它发送帧,所以TA是它自己。手机接收帧,所以RA是手机。而地址3则追溯到这个数据包在进入无线世界之前的真正源头。
情况三:基础设施模式 - STA发往AP (To DS=1, From DS=0)
-
场景描述: 你用手机(STA)发微信。数据从手机发出,通过无线信道传给AP,AP再通过有线网络(DS)将数据发往腾讯的服务器。
手机(STA) <~无线~> AP ---> (有线) ---> 微信服务器(DS中)
-
地址分配:
-
地址1 (RA): AP的MAC地址 (BSSID) (无线帧的直接接收者)
-
地址2 (TA): 手机(STA)的MAC地址 (无线帧的直接发送者)
-
地址3 (DA): 微信服务器对应的路由器接口的MAC地址 (数据的最终目的地)
-
地址4: 不使用
-
-
分析: 这个方向与情况二正好相反。手机是发送方(TA),AP是接收方(RA)。地址3则指向数据包离开无线世界后的最终目的地。这是最常见的Wi-Fi上网流量模型。
情况四:WDS无线桥接模式 (To DS=1, From DS=1)
-
场景描述: 在一个大商场里,AP1通过有线网络连接到互联网,AP2通过无线方式与AP1连接,以扩展Wi-Fi覆盖范围。现在有一台连接在AP2下的笔记本电脑,要访问互联网。数据需要经过
笔记本 -> AP2 -> AP1 -> 互联网
。我们关注的是AP2到AP1的无线传输。STA -> AP2 <~无线~> AP1 -> DS
-
地址分配 (AP2发往AP1的帧):
-
地址1 (RA): AP1的MAC地址 (无线帧的直接接收者)
-
地址2 (TA): AP2的MAC地址 (无线帧的直接发送者)
-
地址3 (DA): 互联网上服务器对应的路由器MAC地址 (数据的最终目的地)
-
地址4 (SA): 笔记本电脑(STA)的MAC地址 (数据的最初源头)
-
-
分析: 这是唯一使用全部四个地址字段的场景。因为数据帧在一个DS(AP2的覆盖范围)和另一个DS(AP1连接的有线网络)之间通过无线链路传输。此时,地址1和地址2仍然扮演无线信道上的直接收发方角色。而地址3和地址4则需要同时存在,以完整地标识出数据的“端到端”的真正源和目的。
总结与考点分析
To DS | From DS | 场景 | 地址1 (RA) | 地址2 (TA) | 地址3 | 地址4 |
---|---|---|---|---|---|---|
0 | 0 | Ad-hoc | 目的STA | 源STA | 目的STA (DA) | 不使用 |
0 | 1 | AP -> STA (下行) | 目的STA | AP | 最初源 (SA) | 不使用 |
1 | 0 | STA -> AP (上行) | AP | 源STA | 最终目的 (DA) | 不使用 |
1 | 1 | WDS (AP -> AP) | 接收AP | 发送AP | 最终目的 (DA) | 最初源 (SA) |
核心考点:
-
To/From DS
比特位的作用:这是判断使用哪种地址格式的唯一依据。 -
地址3的角色变化:要能根据
To/From DS
的值,判断地址3到底是SA还是DA。 -
四地址格式的特殊性:明确只有在WDS场景(
To DS=1, From DS=1
)下才会使用全部四个地址。在最常见的家用、办公Wi-Fi场景(基础设施模式)中,只使用前三个地址字段。