在上一篇中,简要概述了无线网络的通信机制,那么在下来就得开始介绍一下无线网络的通信细节了。说到这里,以后所说的内容会有《802.11 无线网络权威指南第二版影印版》这本书内容的影子,还有内容中会加上通过wireshark抓包的分析以及IEEE关于wlan 1 MAC802.11数据帧格式 首先要说明的是mac802.11的帧格式很特别,它与TCP/IP这一类协议不同,它的长度是可变的。不同功能的数据帧长度会不一样。这一特性说明mac802.11数据帧显得更加灵活,然而,也会更加复杂。mac 802.11的数据帧长度不定主要是由于以下几点决定的 1.1 mac地址数目不定,根据帧类型不同,mac 802.11的mac地址数会不一样。比如说 ACK帧仅有一个mac地址,而数据帧有3个mac地址,在WDS模式(下面要提到)下,帧头竟然有4个mac地址。 1.2 802.11的管理帧所携带的信息长度不定,在管理帧中,不仅仅只有一些类似于mac地址,分片标志之类的这些信息,而且另外还会包括一些其它的信息,这些信息有关于安全设置的,有关于物理通信的,比如说我们的SSID名称就是通过管理帧获得的。AP会根据不同的情况发送包含有不同信息的管理帧。管理帧的细节问题我们会在后面的文章中讨论,这里暂时跳过。 1.3 加密(wep,wpa等)信息,QOS(quality of service)信息,若有加密的数据帧格式和没有加密的数据帧格式还不一样,加密数据帧格式还多了个加密头,用于解密用。然则QOS也是同样道理。 竟然mac 802.11数据帧那么复杂,我们就先从通用的格式开始说吧 帧控制(2 用于指示数据帧的类型,是否分片等等信息,说白了,这个字段就是记录了mac 802.11的属性。 生存周期/Associate 先前不是讲过虚拟载波监听的一个机制么,他的Network Allocation Vector(NAV)就存在这里,这里叫duration,即生存周期。当然不是所有时候这个字段存放的NAV值。在特定类型数据帧中,它也可能表示Associate ID。一旦有主机关联到AP了,AP都会为主机分配一个Associate 序列控制(2 bytes:4 MAC地址 1-4 这四个地址在不同帧中有不同含义。这些以后会讨论。 以后我们可能会碰到以下类型的mac地址 RA(receiver address):无线网络中,该数据帧的接收者 TA(transmitter BSSID(Basic Service Set ID):在infrastructure DA(destine SA(source 这里的DA和SA含义和普通以太网中的含义一样,在无线网络中可能我们需要通过AP把数据发送到其它网络内的某台主机中。但是有的人会奇怪,直接在RA中填这台主机的mac地址不就久好了么。但是请注意RA的含义,说的是无线网络中的接收者,不是网络中的接收者,也就是说这台目的主机不再无线网络范围内。在这种情况下我们的RA只是一个中转,所以需要多出一个DA字段来指明该帧的最终目的地,当然,如果有了DA那必须有SA,因为若目的主机要回应的话,SA字段是必不可少的。(假设没有SA字段,那么目的主机回应的数据包就只能发送到源主机所属的AP上了~) 最典型的一个例子就是在WDS模式下,数据帧会有4个地址,RA,TA表示接收端和发送端,这两个地址用于无线传输的时候。还有2个地址是DA和SA,分别跟以太网中一样表示源地址和目的地址。WDS帧的格式如下图:
|
|