概述:
IEEE 802.11指定了四种地址机制,由MAC帧头部Frame Control下的flag字段前两bit决定。第一个bit指示to DS(distribution system),第二个bit指示from DS。每个bit可以为0或1,所以总共可以构造出四种情况。(如下图中红色圈住的部分,最后一个bit指代上述第一个bit,倒数第二个bit指代上述第二个bit。)
四种机制对应的地址:
To DS | From DS | Address1 | Address2 | Address3 | Address4 |
---|
0 | 0 | Destination | Source | BSS ID | N/A | 0 | 1 | Destination | Sending AP | Source | N/A | 1 | 0 | Receiving AP | Source | Destination | N/A | 1 | 1 | Receiving AP | Sending AP | Destination | Source |
AP: Access Point BSS: Basic service set
Address 1: 该6bytes值,永远是下一个接收该帧设备的物理地址 Address 2: 该6bytes值,永远是发送该帧设备的物理地址 Address 3: 在To DS为1时,该6bytes值为Destination(最终要把帧传输给的目的设备物理地址)的物理地址; 在From DS为1时,该6bytes值为Source(最开始发出该帧设备的物理地址)的物理地址。 Address 4: 只有在To DS与From DS均为1的情况下,该6bytes才会出现,指代Source(最开始发出该帧设备的物理地址)的物理地址。
四种机制:
- Case 1: 00
在这种情况下,To DS = 0 且 From DS = 0。这代表该帧不是由一个DS发出的,也不是要传给一个DS。该帧是由一个Station(具体的设备)发出,并且发送给另一个Station(具体的设备)。 eg: 可以想象两个手机使用蓝牙传输文件,或者两个iPhone使用AirDrop传输文件。 - Case 2: 01
在该情况下,To DS = 0 且 From DS = 1。这代表该帧由一个DS(Access Point)发出,要发送给一个Station(具体的设备)。 eg: 类似于无线路由器给连接这个无线路由器的手机传输数据。 - Case 3: 10
该情况下,To DS = 1 且 From DS = 0。这代表该帧是由一个Station发出,要发送给一个DS。 eg: 类似于手机(该手机连接到路由器的无线网络)给路由器传输数据。 - Case 4: 11
最后一种情况,To DS = 1 且 From DS = 1。这代表该帧由一个DS发出,要发送给另一个DS。 eg: 类似于在多个路由器组成的mesh网络中,一个slave路由器将你的数据转发给main路由器。
举例说明:
更具体一点,你家有两个路由器组成mesh网络(两个路由器是无线连接的),你家的无线打印机连接到了路由器1,你的手机连接到了路由器2。此时你想要打印文件的时候,需要将打印内容以及指令发送到无线打印机。 第一步: 此时你的手机首先会将打印内容发送给路由器2 (To DS = 1,From DS = 0,地址1为路由器2的物理地址,地址2为手机的地址,地址3为无线打印机的地址) 第二步: 路由器2将内容转发给路由器1 (To DS = 1,From DS = 1,地址1为路由器1的物理地址,地址2为路由器2的物理地址,地址3为无线打印机的地址,地址4为手机的物理地址) 第三步: 之后路由器1再将内容转发给无线打印机 (To DS = 0,From DS = 1,地址1为无线打印机的地址,地址2为路由器1的物理地址,地址3为手机的物理地址)
|