参考文章
截取解释部分:
帧控制(2 bytes):
用于指示数据帧的类型,是否分片等等信息,说白了,这个字段就是记录了mac 802.11的属性。
*Protocol version:表明版本类型,现在所有帧里面这个字段都是0x00
*Type:指明数据帧类型,是管理帧,数据帧还是控制帧
*Subtype:指明数据帧的子类型,因为就算是控制帧,控制帧还分RTS帧,CTS帧,ACK帧等等,通过这个域判断出该数据帧的具体类型
*To DS/From DS:这两个数据帧表明数据包的发送方向,分四种可能情况讨论
**若数据包To DS为0,From DS为0,表明该数据包在网络主机间传输

    **若数据包To DS为0,From DS为1,表明该数据帧来自AP
    **若数据包To DS为1,From DS为0,表明该数据帧发送往AP
    **若数据包To DS为1,From DS为1,表明该数据帧是从AP发送自AP的,也就是说这个是个WDS(Wireless Distribution System)数据帧,至于什么是WDS,可以参考下这里的介绍 #传送门
*Moreflag:分片标志,若数据帧被分片了,那么这个标志为1,否则为0
*Retry:表明是否是重发的帧,若是为1,不是为0
*PowerManage:当网络主机处于省电模式时,该标志为1,否则为0.
*Moredata:当AP缓存了处于省电模式下的网络主机的数据包时,AP给该省电模式下的网络主机的数据帧中该位为1,否则为0
*Wep:加密标志,若为1表示数据内容加密,否则为0
*Order 这个表示用于PCF模式下,这里不予讨论

生存周期/Associate ID (2 bytes):
先前不是讲过虚拟载波监听的一个机制么,他的Network Allocation Vector(NAV)就存在这里,这里叫duration,即生存周期。当然不是所有时候这个字段存放的NAV值。在特定类型数据帧中,它也可能表示Associate ID。一旦有主机关联到AP了,AP都会为主机分配一个Associate ID。比如在网络主机通知AP自己要进入省电模式(power saving)的时候,网络主机发给AP的通知数据帧里面,这个域就表示的是Associate ID而不是NAV了。当然还可以通过最高位来判断这个域的含义:
*在15bit为0的时候,该域表示duration
*在15bit为1,14bit为1的时候,表示Associate ID。

序列控制(2 bytes:4 bits/12 bits):这个域分2部分,一个是分片序列号和标识帧列号。分片序列号就是记录分片序号的。比如一个帧A被分片成a1,a2,a3,那么a1,a2,a3这三个分片帧的分片序列分别是0,1,2。这个和IP分段原理一样的,该域占4个比特位。剩下的12个比特位就用于标识帧的序号,这个跟IP头里面的序列号一样。

MAC地址 1-4
这四个地址在不同帧中有不同含义。这些以后会讨论。
以后我们可能会碰到以下类型的mac地址
RA(receiver address):无线网络中,该数据帧的接收者
TA(transmitter address):无线网络中,该数据帧的发送者
BSSID(Basic Service Set ID):在infrastructure BBS中,BSSID就是AP的mac地址。但是在IBBS中,它是一个随机即生成的46位二进制序列,还有最高两位分别是Universal/Local标志位和Individual/Group标志位。IBBS的BSSID中,Universal/Local标志位为1,表示本地MAC,Individual/Group标志位为0,表示是个人MAC。也就是说在IBBS中,BSSID地址应该类如 10xxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx(x表示随机数要么0要么1, 2进制表示)
DA(destine address):该帧的目的mac地址
SA(source address):该帧的源mac地址
这里的DA和SA含义和普通以太网中的含义一样,在无线网络中可能我们需要通过AP把数据发送到其它网络内的某台主机中。但是有的人会奇怪,直接在RA中填这台主机的mac地址不就久好了么。但是请注意RA的含义,说的是无线网络中的接收者,不是网络中的接收者,也就是说这台目的主机不再无线网络范围内。在这种情况下我们的RA只是一个中转,所以需要多出一个DA字段来指明该帧的最终目的地,当然,如果有了DA那必须有SA,因为若目的主机要回应的话,SA字段是必不可少的。(假设没有SA字段,那么目的主机回应的数据包就只能发送到源主机所属的AP上了~)

标签: none 阅读量: 1009

评论已关闭