您的当前位置:首页IEEE_802.11_技术指导

IEEE_802.11_技术指导

来源:锐游网
IEEE802.11技术指导

介绍

本文档旨在将新的802.11规范的基础性概览呈现给专业读者,使他们能理解基本概念,操作原理以及该规范的某些特点和(或者)组件背后的一些原因。

本文档并不涵盖802.11规范的全部标准并且不能为读者设计兼容802.11规范的设备提供足够信息(如需获得全部信息请参见802.11规范技术文档)。

IEEE802.11体系结构

1体系结构组件

一个802.11局域网(LAN)建立在一个蜂窝状的结构之上,该系统被细分为单元。每个单元(802.11术语称为基本服务集或BBS)都被无线基站(无线AP)所控制。

虽然一个无线局域网可以仅由单个BBS和单个的无线AP组成,(稍后还会介绍到,也可以没有无线AP),但是大多数的装备是有若干个BBS和一个和某种骨干网(成为分布式系统或者DS)相连的无线AP组成的。以太网是典型的主干网,而有的时候主干网也会是无线网。

整个的互联无线局域网,包括各式各样的BBS,他们相应的无线AP以及分布式系统整体被OSI参考模型的上层视作一个单独的802网络,并且在该规范中被称作扩展服务集(ESS)。

接下来的框图是一个典型的802.11局域网,包括了上述的所有组件:

分布式系统

图1:典型的802.11局域网

本规范还定义了一个门户的概念。一个门户是一个将一个802.11局域网和一个802局域网互联起来的设备。本概念是对起转换作用的网桥的部分功能的一个抽象描述。

虽然门户对于规范来说并非必不可少,但是典型的装备都将无线AP和门户集成在了一个物理设备上。这也是BreezeCOM公司的无线AP的情形,提供了两者的功能。

1

2IEEE802.11层次描述

和任何的802.x协议一样,802.11协议包括了介质访问控制层(MAC层)和物理层(PHY层)。该协议当前定义了一个单独的MAC层,该MAC层和三个PHY层相互作用,每个PHY层都工作在1Mbit/s和2Mbit/s,如下所述:(1)在2.4GHz频段的跳频展频(FHSS)(2)在2.4GHz频段的直序展频(DSSS)(3)红外

802.2数据链路层

802.11MAC层跳频

直序展频

红外

物理层

除了MAC层完成的标准功能之外,802.11的MAC层还兼有其他功能,这些功能原本是和更高层的协议相关联,比如分片、分组转发和确认。3MAC层

MAC层定义了两种不同的访问方式:分布式协调功能(DistributedCoordinationFunction)和点式协调功能(PointCoordinationFunction)。3.1基本的访问方式:CSMA/CA

被称为分布式协调功能的基本的访问机制,本质上是带冲突避免的载波侦听多路访问(CSMA/CA)机制。载波侦听多路访问(CSMA)协议在工业领域早已广为人知,最流行的是带冲突检测的多路访问协议(CSMA/CD)即以太网。

CSMA协议工作原理如下:一个站点在发送之前先对介质进行监听,如果介质忙(例如有其他站点正在发送),那么该站点推迟一段时间之后再试发送;如果介质空闲,那么该站点即获准发送。

这种类型的协议在介质负载不重的时候是非常有效的,因为它允许站点在最小延时候发送。但是依旧会有可能不同的站点同时侦听到介质空闲,然后同时发送数据,这样的话就会导致碰撞(collision)发生。

这种碰转的情形必须要能被识别出来,以便MAC层能独立地重新将数据包传送,而不是被它的上层重新传送。因为如果是被MAC层的上层重新传送的话就会造成严重的延时。在以太网的情况下,这种碰撞被发送数据的站点识别,之后该站点进入一个基于指数随机退后算法的避让环节。

尽管这样的冲突检测机制对于有线局域网来说是一个很好的主意,但是在无线局域网的环境下他们就不能被采用了,主要原因有如下两个:

(1)要实现冲突检测机制要求有一个全双工的无线电设备,该设备能在同一

时间完成收发任务,这样一来就将对成本造成显著提高。

(2)在无线环境下我们不能假定所有的站点都能互相侦测到(这也是冲突检

测模式的基本假设),而且即使一个想要发送的站点侦测到介质是空闲的也未必意味着介质在接受器附近也是空闲的。

为了解决这些问题,802.11使用了一个冲突避免(CA)机制,同时还有一个主动的确认方案,如下所述:

2

(1)一个站点如果想要发送那么它首先对介质进行侦听,如果介质忙,那么

它推迟发送,如果介质空闲了一个特定的时间(在规范中称为分散式帧间间隔DIFS),那么该站点获准发送。

(2)接受站点检查收到的数据包的CRC,并且回发一个确认包(ACK)。发

送站收到此确认包即意味着没有冲突发生。如果发送站没有收到确认包,那么它将再次发送该数据片,直到收到应答确认包,或者在指定的发送次数之后将该数据片丢弃。3.2虚拟载波侦听

因为任意两个站点之间不能互相侦测到,为了降低他们的冲突几率,规范中还定义了一个虚拟载波侦听机制:

一个站点如果要发送数据,那么它首先发送一个短小的控制数据包,该包称为RTS包(请求发送RequestToSend),包里包含数据的来源和目的地,以及接下来的传送(即数据包和相应的确认信号)的持续时间,如果介质空闲,接收站点以一个应答控制数据包CTS(可以发送ClearToSend)回应,该CTS包包含相同的持续时间信息。

所有接受到RTS和(或)CTS的站点,都将他们的虚拟载波监听指示位(称为网络配给向量NAV)置1并保持一定时间,该时间和传送持续时间相同。当他们监听介质的时候会和实际的载波侦听一起使用这一信息。

这种机制降低了由于接受站附近的某个站点由于没有收到RTS信号而同时发送数据造成的冲突。因为该站点能收到接收站发出的CTS信号,并且也保留介质不被占用直到传送结束。并且RTS信息中的持续时间的信息同样也可以保护发送站附近的某些站点由于在应答信号覆盖范围之外而造成的和发送站同时发送的冲突。

值得注意的是,由于RTS和CTS信号都是短帧,这种机制也减少了冲突的开销,因为这些信号比整个要发送的数据包识别起来要快。(在数据包比RTS帧大许多的时候是这样的,因而规范同样允许小数据包直接发送而不需要RTS/CTS(具体由每个站点的被称为RTS阈的参数控制)。

下图说明了站点A和B之间的一次数据传送,以及他们附近站点的NAV设置:

图2:站点A和B之间的数据传送

3

NAV的状态和实际载波侦听一起指明当前介质是否空闲。3.3MAC层次确认

如本文档先前提到的,MAC层根据是否接收到数据片的确认信号来完成冲突检测任务(对于有多个目的地的数据包,诸如广播包,不予识别)。3.4分片和重组还原

典型的局域网协议使用长达数百字节的数据包(最长的以太网包可以长达1518字节)。在无线局域网有几个原因可以说明使用小数据包的好处:

(1)由于无线连接的高误码率,随着数据包的增大,数据包损坏的几率也升

高。

(2)在发生数据包损坏的情况下(冲突或者干扰),数据包越小,重新传送

的开销也越小。

(3)在一个跳频系统中,为了跳频,介质是被周期性中断的(我们的情况是

每20毫秒一次),因此,数据包越小,它在传送中被中断挂起而需要在延时后重传的几率也就越小。

尽管如此,也没有理由引入一套全新的不能处理在以太网使用的1518字节的数据包的局域网协议。因此委员会决定在MAC层增加一个简单的分片和重组还原机制来解决这一问题。

这个机制就是一个简单的“发送—等待”算法,算法中,一个正在传送的站点除非发生以下情况,否则不得再发送新的数据片:(1)接收到刚刚发送数据的应答信号ACK

(2)决定由于刚才的数据片已经被发送了太多次而丢弃整个帧

值得注意的是,规范中允许对同一个数据片重发的时候选择不同的目的地。这在一个AP有数个未处理完的指向不同目的地的数据包而其中某个目的站点又没有应答的时候尤为有用。

下图是一个帧(MSDU)被分片成数个数据片(MPDU)的情况:

图3:帧分片

3.5帧间间隙

规范中定义了4种帧间间隙,用以提供不同优先级:

(1)SIFS–短帧间间隙,用于无线AP(在这种情况下也可称为站点协调器)

在其他所有站点之前访问介质。

这个值等于SIFS加上时间隙(TimeSlot在接下来的一段里会定义)的长度,即78毫秒。

(2)DIFS–分散式IFS,为站点想要启动一个新的传送到帧间间隔,其算法

4

为PIFS加上一个时间隙,即128毫秒。

EIFS–扩展IFS,是一个站点接收到不能解析的数据包的时候的一个稍长的IFS。这是有必要的,它可以防止由于站点不能解析虚拟载波监听得到的传送持续时间信息而和当前对话的下一个数据包发生冲撞。3.6指数退避算法

退避作为不同站点争用介质产生竞争的解决方法而广为人知。这种方法要求每一个站点选择一个介于0和给定数之间的随机数(n),然后等待这个长度的时间之后再访问介质,并且总是检查介质是否在以前被另一个站点占用。

在这种规则下,间隙时间(SlotTime)定义为一个站点能够判定在之前的间隙起始是否有另外的站点使用过介质的时间。这样能将冲突几率降低到一半。

指数退避是指每一次站点选择了一个时间间隙并且发生了冲突,那么该站点就会令随机数的最大值以指数增长。

802.11规范中定义了一个指数退避算法,只能在以下情形中执行:(1)在第一个数据包发送之前,站点监听了介质,并且发现介质被占用(2)在每次重发之后(3)在一次成功发送之后

唯一的这种机制不被使用的情况是,在介质已经空闲长于DIFS时间之后站点才决定发送一个新的数据包。

下图是这种访问机制的示意图

图4:访问机制

4站点如何加入已经存在的BSS

当一个站点想要访问某个已经存在的BSS(系统上电之后,睡眠模式,或者进入该BSS区域)时,该站点需要获得无线AP(或者在ad-hoc模式下的其他站点,在稍后会讨论到)的同步信息。

该站点可以从以下两种途径之一取得此信息:

(1)被动扫描:在这种情况下站点只是等待,直到它收到无线AP的信标帧

(信标帧是无线AP周期性发出的含有同步信息的帧)。

(2)主动扫描:在这种情况下站点试着通过发送探测请求帧定位无线AP,之

后等待无线AP对探测请求的应答。

这两种方法都是有效的。选择哪种方法取决于在功耗和性能之间的取舍。4.1身份认定过程

一旦站点定位了一个无线AP,并且决定加入它的BBS中,就会进入身份认

5

定过程。该过程是一个无线AP和该站点的信息交换过程,其中双方都要做密码验证。

4.2联络过程

一旦站点通过了身份认定,它即启动联络过程,联络过程是一次关于站点和BBS能力的信息交换。只有在联络过程完成之后,站点才能发送和收取帧。5漫游

漫游是从一个BBS移动到另外一个BBS而不丢失连接的过程。这个功能和手机的漫游相似,有两点主要区别:

(1)在一个基于数据包的局域网系统中,从一个单元转移到另一个单元可以

由数据包传输实现,和手机通话过程中的漫游转移相对应,但仍有以下不同(2)在语音系统中,短时的掉线并不影响通话,但在基于数据包的环境下这

将对性能造成大幅降低,因为重发是由上册协议完成的。802.11规范并没有定义漫游应该如何实现,但是定义了一写基本工具。这些工具包括主动/被动扫描,以及重新连接过程,此过程中一个站点从一个无线AP漫游到另外一个并且和新的AP建立连接。

6保持同步

站点之间需要保持同步,这样可以保证跳频的同步以及其他的诸如省电功能的正常。在一个有基础设施的BBS中,各个站点根据无线AP的时钟更新自己的时钟达成同步,使用下述机制:

无线AP周期性地发送被称为信标帧的帧。这些帧包含在发送时刻(需要注意这个时刻是实际发送的开始时刻而不是把数据放进队列的时刻,因为信标帧是使用CSMA规则发送的,发送可能会有显著的延时)无线AP的时钟。

接收站点在收到信号的时刻即检查自己的时钟值,并作修改使之与无线AP的时钟保持同步。这样可以避免在同步信号数小时之后由于同步信号消失而发生时钟漂移。

7安全性

人们部署无线局域网的时候首先考虑到的即使安全性。802.11委员会对此提出了一种被称为WEP(有线等效加密WiredEquivalentPrivacy)的加密措施。

用户关心的首要内容是闯入者应该不能(1)使用相似的局域网设备访问网络资源(2)捕获无线局域网信息流(窃听)7.1阻止访问网络资源

这一工作通过身份认证解决,站点在访问网络时需要提供当前密钥。这一点和有线局域网的加密方式非常类似,闯入者都需要提供实际密钥才能将他的设备接入有线局域网。7.2窃听

使用WEP算法可以防止数据被窃听,WEP算法是一个由公共密钥初始的伪随机数生成器。这个伪随机数生成器生成和可能的最大的数据包长度相同的密钥序列,并将此序列和要发送的/接收的数据包一起发送出去。

WEP是一套基于RSA加密算法中的RC4算法的简单算法,有以下特点:

6

(1)适度的稳固性:

对这种算法暴力破解是困难的,因为每一个帧在发送时都伴随一个初始向量,该向量对每一帧都重新启动伪随机数生成器。(2)自身同步性:

该算法对每一条信息都重新同步。这对于在有较少链接的环境下是很必要的,因为数据包时可能丢失的(就和任何局域网一样)。

8省电性

无线局域网一般和手持移动设备想联系。在这种应用上,电能是稀有资源。这也是为什么802.11规范会直接涉及省电的问题并且还定义了一套完整的机制使站点能长期进入休眠模式而不会造成数据丢失。

在省电机制的背后,一个主要的思想就是无线AP记录所有站点是否进入省电模式,并且将此信息不断更新。对于进入省电模式的站点,无线AP将发送到他们的数据放入缓冲区,除非站点本身发出轮询信号明确地要求发送或者改变他们的工作模式。

作为信标帧的一部分,无线AP同样会周期性地发送提示信息,指明哪个进入省电模式的站点有在缓冲的数据。这样那些站点就从省电模式下恢复以接收信标帧。如果站点接收到提示信息,有数据位于无线AP的缓冲区等待给自己发送,那么它将不再进入休眠模式,而是发出轮询信号,要求无线AP发送这些帧。

多播和广播在无线AP里存储并且在一个事先约好的时间(每个DTIM)发送出去,这个时间里,在所有的进入省电模式的站点中想要接受这些信息的站点会醒来。

9帧类型

主要的帧类型有以下三种:(3)数据帧:用于数据传送

(4)控制帧:用于控制对于介质的访问(例如RTS,CTS和ACK)

(5)管理帧:用来交换管理信息,和数据帧采用同样的方式传送,只是不被

送往模型的上层(如,信标帧)

每一种类型的帧都被分为不同的子类型,具体看他们的特定功能。10帧格式前同步码PLCP头MAC数据CRC校验位10.1前同步码

一来物理层,并且包括:

(1)Synch:一个80位的0,1交错的序列,用来送给物理层电路以选择合

适的天线(如果使用分集的话),并且根据收到的数据包的计时修正稳态频率偏移并同步。(2)SFD:一个起始帧分隔符,由16位二进制位组成,格式如000011001011

1101,用于定义帧计时。10.2PLCP头

PLCP头永远以1Mbit/s的速率发送,并且包含用于物理层对帧进行解码的罗技信息。它由如下部分组成:

7

(1)PLCP_PDU长度字:代表数据包里面所含字节的数目。这对于物理层正

确地探测数据包结尾很有用。

P信号域:PLCP(2)PLC目前只包含速率信息,从1Mbit/s到4.5Mbit/s按0.5MBps

的梯度编码。

(3)报头纠错域:16位的CRC错误检测区域。10.3MAC数据

下图指明了一般的MAC帧格式。其中一部分只在某些帧里出现,这些帧将在随后讨论。八进制位数:2帧控制位2持续时间/ID6地址16地址26地址32序列控制6地址40-2312帧体4CRCMAC头图5:MAC帧格式

(1)帧控制域

真控制域包含如下信息:B0B1B2B3B4B7B8B9B10ToFromMore协议种类子类DSDSFrag版本位:224111B11B12B13B14B15重功耗MoreWEP顺试管理data序11111图6:帧控制域(1)协议版本

由2位组成,围着和长度不随着802.11规范的不同版本而变化,用以识别未来可能的新版本,在当前版本下该值固定为0。(2)类型和子类型

这6位定义了帧的类型和子类型,如下表所示:类型值类型描述子类型值子类型描述

b3b2

b7b6b5b4

000000000000000000管理管理管理管理管理管理管理管理管理0000000100100011010001010110-011110001001

8

关联请求关联应答关联请求重新关联请求探测请求探测应答保留信标ATIM

000000000101010101010110101010101010101010管理管理管理管理控制控制控制控制控制控制控制数据数据数据数据数据数据数据数据数据数据1010101111001101-11110000-000110101011110011011110111100000001001000110100010101101111000-11110000-1111解除关联身份认证取消认证保留保留PS-PollRTSCTSACKCF尾

CF尾+CF-ACK

数据

数据+CF-Ack数据+CF-Poll

数据+CF-ACK+CF-Poll空函数(无数据)CF-Ack(无数据)CF-Poll(无数据)CF-Ack+CF-Poll(无数据)保留保留

ToDS

该位在帧的发送地址为无线AP的时候置1,以送往分布式系统(包含目的站点为同一个BBS的情况,以及无线AP要将帧转发的情况)。

在其他帧中,该位总为0。

FromDS当帧是从分布式系统收到的情况下该位置1。MoreFragments该位当有更多跟随当前数据片而来的数据片是属于同一个帧的时候被置1。Retry该位用于只是当前数据片是先前发送的数据片的重新发送。接受站点在识别重发数据时用,以防确认包丢失而造成的重发数据被当作有效数据。PowerManagement该位用于在当前帧传输结束后指示站点接下来将要进入的电源管理模式。在站点从省电模式到激活或者反过程的时候使用。MoreData无线AP使用该位和powermanagement位共同指示在某个站点的缓冲区里还有更多数据。站点则可以利用这些信息决定是否要继续轮询或者改为激活模式。WEP9

该位用于指示当前帧体以按照WEP算法加密。Order该位只是当前帧使用严格顺序服务等级(Strictly-Orderedserviceclass)被发送。(Strictly-Orderedserviceclass用于用户不接受在单播帧和多播帧之间改变顺序的情况下—到某个特定地址的单播帧的排序永远保持不变—现在已知的唯一一个需要该服务的协议是美国数字设备公司DEC的LAT协议)。(2)Duration/ID

该区域根据帧种类有两种不同涵义:(3)在省电模式下的轮询信息中为站点ID(4)在其他种类的帧中为NAV计算的用时(3)地址区域

一个帧根据在控制域内定义的ToDS和FromDS位可能会包含多达4个地址,如下:

(1)Address-1永远是接收方的地址(即BBS站点为数据包的直接接收方)。

如果ToDS位为1,那么此为无线AP的地址,如果ToDS为0,那么此为终端站的地址。

(2)Address-2永远为发送方地址(即实际发送数据包的站点)。如果FromDS

位为1,那么此为无线AP地址,否则为站点地址。

3在大多数情况下是其他的和缺少的站点的地址。在一个Address-3(3)Address-FromDS位为1的帧里,Address-3是原始地址,如果该帧的ToDS位也置位,

那么Address-3为目的地地址。

4在无线分布式系统被使用的特殊情况下用到。(4)Address-Address-4并且该帧被无线

AP一个接一个传送。在该种情况下,ToDS和FromDS位都被置位,因此初始目的地和初始源地址是丢失的。

下表对根据ToDS和FromDS位的不同情况总结不同地址的用法ToDSFromDSAddress1Address2Address3Address4

目的地址BSSID00源地址无效目的地址BSSID01源地址无效BSSID目的地址10源地址无效

目的地址11接收地址发送地址源地址

序列控制

序列控制域用于在有许多数据片同属于一个帧的时候代表每个数据片的顺

序,并且勇于识别重复的数据包。它由两个子域组成,数据片编号和序列编号,他们定义了该帧中数据片的帧和编号。10.4CRC

CRC是一个32位的区域,包含32位循环冗余校验码(CRC)。11最普通的帧格式RTS帧格式

RTS帧如下所示:

10

图7:RTS帧格式

RTS帧的RA部分为无线介质的接收站点的地址,该站点为接下来的数据或者管理帧的直接接收方。

RTS帧的TA部分为发送RTS的站点的地址。

持续时间Duration的值是一个以毫秒为单位的时间值,是传送接下来的数据或者管理帧的时间需求,加上一个CTS帧,再加上ACK帧还有三个SIFS时间的值。

(1)CTS帧格式

CTS帧如下所示:

图8:CTS帧格式

CTS帧的接收方地址(RA)是从先前的RTS帧里的发送地址(TA)直接复制的,并且CTS被作为回应送往该地址。

持续时间Duration的值是根据先前的RTS的Duration里得到的,具体为RTS里的Duration减去发送CTS帧需要的时间以及它的SIFS时间得到的毫秒值。(2)ACK帧格式ACK帧如下所示:

图9:ACK帧格式

11

ACK帧的接收方地址是从刚刚收到的帧的地址2区复制得到的。

如果先前帧的帧控制区域的MoreFragment位被置为0,持续时间Duration值就被置为0,否则的话Duration就为先前帧里的Duration减去发送ACK帧需要的时间以及它的SIFS时间得到的毫秒值。

12点协调功能(PCF)

除了基本的分布式系统功能之外,还有一个可选的点协调功能,该功能在实现有时间限制的服务的时候使用,例如话音或者视频信号的传输。这项点协调功能利用了无线AP在使用较小的帧间间隔(PIFS)时候可能会享有的高优先级。

使用高优先级时,无线AP为数据传送发出轮询请求,借此控制介质访问。为了同样使普通站点能够访问到介质,无线AP就必须在PCF间隔里留有足够的时间。

13Ad-Hoc网络

在某些情况下,用户会希望构建一个没有基础设施的无线局域网(更确切地说是没有无线AP)。中情况可能包括两个笔记本用户的数据传输,同事在办公室外开会,等等。

802.11规范也考虑到了这种需要,并且定义了一种“ad-hoc”的操作模式,在这种情况下并没有无线AP的参与,而其部分功能由终端用户的站点完成(例如信标的生成,同步,等等)。AP的其他功能不被支持(例如在两个不能直接相连的站点间的帧中继功能,或者省电功能)。

12

因篇幅问题不能全部显示,请点此查看更多更全内容

Top